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!
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? –
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. –
@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. –