2010-11-01 17 views
6

Chcę zbudować aplikację mobilną/tablet, której podstawową funkcją będzie robienie zdjęć aparatem, przeglądanie zdjęć i otrzymywanie powiadomień. Chcę również kierować reklamy na platformy iPhone, iPad i Android.Czy aptekarz Titanium jest warty opracowania aplikacji opartej na aparatach na iPadzie, iPhonie i Androidzie?

Apliakator tytanu wzbudził moje zainteresowanie ze względu na jego atrakcyjność na wielu platformach. Jednak jestem zaniepokojony, ponieważ czytałem mieszane recenzje na SO i innych stronach. Rzeczy, które mnie martwią są:

  • Subpar android wsparcie
  • wsparcie Aparat nie w pełni zdolny (np ios 4.1 HDR zdolność)
  • Camera wsparcie buggy

Scenariusz koszmar dla mnie byłoby inwestować czas w tytan tylko po to, aby odkryć później, że jest to ważna PITA i upuść go i przejść "natywny"

Proszę podzielić się swoimi przemyśleniami i doświadczeniami.

Odpowiedz

3

Obsługa Androida nie jest tak dobra jak dla iPhone'a. Gdybyś miał po prostu powiedzieć iPhone'owi, powiedziałbym, że będziesz miał szczęście używając Titanium. Uważam jednak, że próba zbudowania jednej bazy kodu w Appceleratorze i używania jej w środowisku Android może nie być najlepszym doświadczeniem.

To powiedziawszy, IMO robi kod Androida/Java jest znacznie łatwiejsze niż wykonywanie pracy w trybie Cel/C/iPhone.

Najgorszy przypadek, w którym rozważałbym korzystanie z Titanium na iPhone'a w wersji & do Androida w Javie.

Możesz zrobić zdjęcie wykonując je zarówno w tytanie, ale w najgorszym przypadku zakodować wersję Java.

Po prostu nienawidzę obiektywnie C i "natywnego" środowiska programistycznego Apple.

+0

Mam ciężkie tło java, więc zgadzam się z tobą. Moim celem jest zmniejszenie ogólnego czasu rozwoju, więc jeśli pójdę z tytanem, osiągnę ten cel? –

+0

Do każdego z nich, ponieważ nie dbam o Java, Eclipse i niektóre decyzje dotyczące projektowania podejmowane w pakiecie Android SDK. Jestem znacznie bardziej produktywny w Cocoa/Cocoa Touch, z narzędziami programistycznymi Apple, niż w jakimkolwiek innym środowisku, w którym pracowałem. Zgadzam się jednak z twoim przekonaniem, że rodzimy rozwój na Androidzie jest drogą do zrobienia, w taki sam sposób jak ja twierdzą, że to, co zrobić dla iPhone'a. –

+0

@Numes Myślę, że jeśli nie jesteś zaznajomiony z Cocoa & Objective C i nie próbujesz zrobić niczego absurdalnie szalonego niż tytan powinien to zrobić. Ich framework dla iPhone'a/iPada jest całkiem niezły i jesteś produktywny niemal natychmiast. –

2

Opracowałem aplikację opartą na Appcelerator i byłam z niej bardzo zadowolona. Myślę, że niektóre z negatywnych opinii wynikają z faktu, że nieco trudniej jest je skonfigurować (bardziej ze względu na szalony proces rejestracji programistów Apple'a).

Po uruchomieniu łatwo było zrobić takie rzeczy jak nakładki na ekranie aparatu. Naprawdę spodziewałem się trudności z tą częścią, ale działało to dobrze.

Rozmawiałem z zespołem Appcelerator w przeszłości i są świetną grupą do współpracy. Widziałem, jak reagują na inne problemy z użytkownikami, i ufałbym, że jeśli natknę się na prawdziwy błąd, szybko zareagują.

+0

Tim, czy celowałeś też w Androida? jeśli tak, jakie było twoje doświadczenie (zwłaszcza z kamerą)? –

+0

Ta część jest w toku, ale żeby naprawdę dobrze zrozumieć, z czym masz do czynienia, spójrz na dostarczoną przez nią aplikację Kitchen Sink. Obejmuje wszystkie obsługiwane przez siebie funkcje (dla obu platform) i można przejrzeć kod, aby zobaczyć dokładnie, jak działa. Po szybkim przejrzeniu dokumentacji i prostej aplikacji Hello World, Kitchen Sink pokryje wszystko, czego potrzebujesz, a zrozumiesz, dlaczego nie martwię się o ryzyko :) https://github.com/appcelerator/KitchenSink and http://pages.appcelerator.com/ZTAKitchenSink.html –

3

Polecam, aby nie używać wieloplatformowej biblioteki narzędziowej, gdy interakcja ze sprzętem urządzenia jest jednym z kluczowych wymagań aplikacji. Nie pracowałem wcześniej z Titanium, ale trudno mi uwierzyć, że dadzą ci taki sam poziom dostępu do sprzętu, jaki masz w przypadku natywnych frameworków.

W szczególności iOS 4.0 dodał mnóstwo nowych możliwości dotyczących kamery, w tym przetwarzania obrazu na żywo przez AVFoundation, i trudno mi uwierzyć, że platforma stron trzecich będzie działać, gdy te platformy będą się rozwijać. Szczerze mówiąc, dość łatwo jest napisać aplikację, która współdziała z kamerą na iPhonie w dzisiejszych czasach (należy policzyć ich liczbę w App Store jako wskaźnik tego). Napisałem aplikację do przetwarzania kamer na żywo w ciągu sześciu godzin dziennie.

Nie mogę mówić za Androida, ale wyobrażam sobie, że radzenie sobie z aparatami jest dość banalne, używając również natywnych API.

Będziesz także testować wydajność i debugować swoją aplikację, aby być znacznie łatwiejszym przy użyciu rodzimych narzędzi niż te dostarczane przez osoby trzecie. W szczególności Apple's Instruments to niezwykle wydajna, a jednocześnie łatwa w obsłudze aplikacja do śledzenia problemów z procesorem i pamięcią w aplikacji.

Istnieje również aspekt społeczności. Znajdziesz znacznie więcej osób pracujących na Androidzie i Cocoa Touch niż na Titanium (wystarczy spojrzeć na liczbę pytań w różnych znacznikach w Stack Overflow, aby to zobaczyć). Oznacza to o wiele więcej samouczków i dużo więcej przykładowego kodu, który można wykorzystać.

Czas poświęcony na skonfigurowanie środowiska konfiguracyjnego dla iPhone'a i Androida oraz przesłanie do obu sklepów będzie taki sam, bez względu na to, czy korzystasz z natywnego środowiska, czy z Titanium.

Podsumowując, nawet przy poznawaniu obu platform, myślę, że wyjdziesz naprzód, unikając rozwiązania wieloplatformowego. Zaufaj mi, już wcześniej próbowałem tworzyć wiele platform dla innych projektów i skończyłem z produktami o najniższym wspólnym mianowniku, które zajęły dużo więcej czasu.

+1

Nie sądzę, że patrzenie na pytania związane z Stack Overflow dla Titanium będzie dokładnie odzwierciedlać sytuację. Zgodziłbym się, że liczba programistów Titanium jest mniejsza, ale Appcelerator ma własne forum pytań i odpowiedzi i uważam, że większość z nas publikuje pytania (w porównaniu do Stack Overflow), jeśli chodzi o Titanium. – chrisrbailey

+0

@chrisrbailey - Stack Overflow może być nieuczciwym miejscem do porównania, ponieważ stał się głównym zasobem dla programistów iPhone'a i Androida. Jednak nadal utrzymuję, że większość programistów iPhone'a używa Cocoa Touch. Spośród wszystkich programistów, których poznałem na konferencji WWDC i innych konferencjach, nikt nie używa Tytanium, kilku używa MonoTouch, a cała reszta używa czystego kakao Touch. Liczę na tych ludzi jako moją sieć wsparcia, a także inżynierów Apple, z których żaden nie zapewnia wsparcia Titanium. –

+0

Och, zgadzam się, że Titanium jest nadal bardzo mały w stosunku do opcji narzędzi do generowania całkowitej przestrzeni aplikacji. Jestem pewien, że CocoaTouch ma 99% +. MonoTouch, chłopcze, chciałbym zobaczyć, jak wielu z nich korzysta. Titanium ma ponad 6000 aplikacji, ale obejmuje Androida. Mają kilka dużych w App Store, takich jak Get Glue. Ale tak, nadal jest to mały gracz. To nie znaczy, że nie jest to coś do rozważenia. Istnieje kilka firm konsultingowych wykonujących wszystkie aplikacje mobilne (o których wiem): na przykład Intridea i Rigel Group. – chrisrbailey

14

Wybrałem tytan do poważnych zastosowań, chociaż taki, który nie korzysta z aparatu. Myślę, że jest wiele rzeczy, które mogą wpłynąć na twoją decyzję ...

Jeśli twoja aplikacja ma zamiar robić "fantazyjne" rzeczy z aparatem lub trochę ciężkiego przetwarzania obrazu i tak dalej, prawdopodobnie lepiej off going native. Jeśli z drugiej strony chcesz tylko robić zdjęcia, a potem te będą używane tak jak jest, lub wysłane na serwer, lub co nie, wtedy Titanium powinien działać dobrze. Tytan ma pewne funkcje przetwarzania i przetwarzania obrazu, ale jak powiedzieli inni, jeśli naprawdę chcesz skorzystać ze sprzętu urządzenia, prawdopodobnie chcesz przejść w tryb całkowicie natywny.

Należy również zauważyć, a Appcelerator mówi również, że dzięki aplikacji Titanium nie napiszesz tylko jednej aplikacji, która działa tak jak jest na wszystkich urządzeniach. Będziesz musiał dodać TI do każdego urządzenia (lub klasy urządzenia, np. IPhone'a, Androida), ponieważ mają one różne interfejsy i różne standardowe przepływy UI i tak dalej.

Ale jedną z potencjalnych zalet Titanium jest brak znajomości Objective-C i/lub Java, a znasz JavaScript (w moim przypadku używam Coffeescript :). Lub, jeśli chcesz cieszyć się swoją pracą znacznie bardziej pisząc JS niż ObjC/Java. To był jeden z głównych powodów dla mnie. W przeszłości robiłem trochę devi ObjC i nawet nie mam nic przeciwko temu, ale ten projekt, który robię, jest bardzo agresywny, a użycie Tytanu byłoby o wiele bardziej efektywne. Udało mi się bardzo szybko skonfigurować i zbudować aplikację i nie poświęcam czasu na głębsze poznanie języka programowania, którego używam, bitów zarządzania pamięcią (nie można tego całkowicie zignorować za pomocą Titanium, ale zasadniczo robią to dla ciebie). Opierając się na ludziach, z którymi rozmawiałem i ile czasu spędzają na zarządzaniu pamięcią, problemy z interfejsem interfejsu (to głównie łatwość zapominania o ustawianiu połączeń lub przechwytywaniu różnych rzeczy, IB jest naprawdę świetnym narzędziem), oraz więc jestem całkiem zadowolony, że używam Titanium.

Chociaż w pewnym momencie spodziewam się zrobić wersję na Androida, nie jest to priorytetem. Ale cieszę się, że duża część mojego kodu aplikacji będzie ponownie używana, przetestowana itp. I że zakończę głównie tworzenie/ulepszanie interfejsu użytkownika dla Androida, a nie przepisywanie kodu sieciowego, zarządzanie danymi , i tak dalej. Obsługa Androida będzie znacznie lepsza (podobno) w Titanium 1.5, ale możesz poczekać na tę wersję, aby ocenić Androida, jeśli jest to priorytet.

Wreszcie, Titanium ma system "modułowy", który pozwala owijać natywny kod, odsłaniając go jako interfejs JavaScript w Titanium. Chcemy to wykorzystać, aby zintegrować bibliotekę stron trzecich, a przynajmniej na to, czego potrzebujemy, wygląda na bardzo łatwą w użyciu i dało mi trochę więcej pewności, że jeśli pojawi się jakaś konkretna natywna funkcja, do której potrzebujemy dostępu, to mielibyśmy przyzwoitą szansę na integrację z tym, wciąż korzystając z Titanium, ale myślę, że zależałoby to od tego, jaka była konkretna natywna funkcjonalność.

Życzymy powodzenia i cieszymy się z budowania aplikacji mobilnej, to całkiem fajna zabawa!

+0

Trafisz na Titanium jako świetne źródło informacji dla osób posiadających umiejętności w zakresie tworzenia stron internetowych.Tak to zostało zaprezentowane na C4, i mogłem zobaczyć zalety dla projektantów lub programistów z silnym doświadczeniem w technologiach internetowych. Właśnie zostałem wypalony przez wieloplatformowe zestawy narzędzi w przeszłości. –

2

Trochę późno, ale moje dwa centy ...

szczerze, że można bardzo szybko prototyp aplikacji z Titanium Appcelerator i skupić się na krytycznej funkcji ustawia się ustalić, czy jest to odpowiednie narzędzie dla Ciebie.

Wszyscy programiści mają opinie i doświadczenia, które mają wpływ na komentarze; programiści mają różne sposoby uczenia się i różne poziomy produktywności ... Ostatecznie sprowadza się to do tego, jak jesteś najbardziej produktywny dzięki dostępnym narzędziom.

Ponieważ jesteś stwierdzające, od samego początku, że chcesz, aby dostarczyć rozwiązanie wielokrotnością platformy, myślę, że byłoby to słaba decyzja z Twojej strony, aby nie nawet spędzić tydzień lub dwa bada ramy cross-platform, a następnie podejmowania decyzja oparta na osobistym doświadczeniu.

Jest Titanium Appcelerator i nie jest też PhoneGap, gdzie PhoneGap może pomóc to, że istnieje możliwość przedłużenia/wzmocnienia podstawowej struktury poprzez pisanie wtyczek (I wrote one for iphone) i nie androidem jeden na moim blogu również ... może to wypełnić luki, gdy poruszasz się po platformach.

Również, ponieważ interfejs użytkownika w rozwiązaniu z luką telefoniczną oparty jest na HTML5 Webkit, może zapewnić spójny wygląd urządzeń. Konstrukcje takie jak jQTouch i JQuery Mobile są wykorzystywane do UX z PhoneGap Aplikacja

+0

Ten post jest stary, ale ponieważ tak wiele osób go obejrzało, pomyślałem, że zaktualizuję moją odpowiedź, po pierwsze odpowiedź brzmi TAK i właśnie to zrobiliśmy, spójrz na aplikację, którą zbudowaliśmy tutaj https://itunes.apple. com/us/app/snapdash/id599657092? mt = 8 –

8

używamy Titanium w jednym z naszych projektów przez około 2 miesiące, i szczerze mówiąc, nasze doświadczenie z tytanu jest tak źle.

Zgodnie moim zdaniem, poniżej kilka poważnych wad tytanu:

1) Pierwszą rzeczą jest to, że nie dostanie debugowanie wsparcia na wszystko (Możemy zrozumieć, w jaki sposób debugowania wymagają którymś z projektu w dowolnym technologie).

2) Titanium NIE obsługuje w pełni wszystkich funkcji Androida/iPhone'a; poza pewnym poziomem nie da ci wsparcia.

3) W porównaniu z SDK Android/iPhone programiści otrzymują znacznie mniej pomocy z Internetu i biblioteki API (Titanium udostępnia plik pomocy biblioteki API).

Oto ogólne problemy, z jakimi muszą zmierzyć się deweloperzy, którzy mają do czynienia z Titanium. Przypuszczam, że czasami będzie to dla nich nużąca i frustrująca praca.

Jeśli funkcjonalność aplikacji jest trochę podobna do wyświetlania danych z internetu (jak wiele nowości, aplikacje typu media), to Titanium jest odpowiednią opcją; inaczej nie.

1

Czy ktoś podkreślił koszt off tytanu.

Nawiązałem z nimi kontakt już dziś, a jeśli jesteś członkiem więcej niż jednego zespołu, musisz zarejestrować się w programie partnerskim. Jeśli zwolnisz aplikację, zostaniesz obciążony odpowiedzialnością za złamanie umowy.

Program partnerski to 5000 £, co dla nas jako firmy rozpoczynającej działalność jest bardzo ważne, ponieważ jest to nasza pierwsza aplikacja, obecnie szukamy innej opcji.

2

Przejrzałem negatywną opinię na temat Titanium Appcelerator, ale zgadzam się z Aaron Saunders, że jeśli używasz PhongeGap Development, to obsługuje HTML5, dzięki czemu możesz łatwo tworzyć aplikacje na iPhone'a, iPada i Androida.

Powiązane problemy