2011-02-04 9 views
11

Wraz z ostatnimi aktualizacjami Sencha Touch, wygląda coraz bardziej jak natywna aplikacja na iPhone'a, a nawet iPada. Wciąż istnieje wiele różnic, a w tej chwili brakuje trochę dokumentacji.Czy mogę napisać swoją aplikację za pomocą Sencha Touch lub Native?

Moje pytanie brzmi, biorąc pod uwagę, że jestem już w pełni zdolny do tworzenia natywnej aplikacji w Celu C, czy powinienem przełączyć się na Sencha Touch i PhoneGap, czy też rozpocząć integrację tych narzędzi?

Jakie są plusy i minusy?

EDIT:

Dzięki za wnikliwe punktów. Jeden z moich partnerów napisał swoje zdanie na weekend z niektórych pomysłów, które nie zostały wymienione tutaj: Web vs Native: How Should You Write Your App?

+0

Dlaczego dostaję skargę w tej sprawie? Może ktoś jest prawdziwym tubylcem, umierającym ... –

Odpowiedz

13

Plusy:

  • łatwiejsze do portu do innych platform.
  • Możesz dystrybuować poza App Store, jeśli aplikacja nie wymaga żadnych natywnych API.

Wady:

  • Przewijanie nadal nie czuje się całkiem w porządku z którymś z internetowych ram dotykowych.
  • Wolniejsze (wspomagane sprzętowo animacje CSS, ale nie są aż tak elastyczne, jak Core Animation).
  • Brakuje pełnego dostępu do rodzimego sprzętu i integracji systemu operacyjnego (PhoneGap udostępnia niektóre, ale nie wszystko), takie jak:
    • Powiadomienia push.
    • Powiadomienia lokalne.
    • Aktualizacje lokalizacji tła (w tym istotne monitorowanie lokalizacji).
  • Jest to dyskusyjne, ale moim zdaniem Cocoa Touch jest łatwiejszy do opracowania niż JavaScript + Sencha/XUI/etc.
3
  • Plusy: Brak
  • Minusy: To nigdy nie będzie tak rodzimy jako natywnej aplikacji. A ty polegasz na API , które nie jest twoje, np. wszystkie twoje aplikacje będą bezużyteczne, gdy przestaną utrzymywać swój interfejs API.

Jednakże, jeśli byłeś niedoświadczony i potrzebujesz tylko aplikacji na krótkie wydarzenie (zbliżająca się promocja filmu itp.), Byłoby to idealne rozwiązanie, ponieważ oszczędziłoby ci to czasu. Ale cóż, jeśli chcesz aplikację z dłuższym cyklem życia, idź natywna.

+2

Oczywiście, możliwość uruchomienia aplikacji na iPhone'a na urządzeniach z Androidem nie jest pro ... –

+0

@ckuetbach: Nie, nie jest. Oba systemy operacyjne mają inną filozofię. To tak, jakby powiedzieć pro Qt byłoby możliwość posiadania programów Windows uruchomionych na komputerze Mac. Oczywiście, że tak, ale chęć wymiotowania nie jest dobrym uczuciem. – JustSid

+0

@ckuetbach: Brechreiz wäre das passende Wort, was a immer das jetzt auf Englisch ist. – JustSid

5

pytania prowadzące do własnej odpowiedzi:

Czy potrzebujesz surowej wydajności natywnej aplikacji ARM? A może potrzebujesz API, który jest dostępny tylko dla Celu C? (Na przykład, do syntezy dźwięku w czasie rzeczywistym itp.) Czy chcesz używać najnowszych API Apple'a bez czekania na narzędzie lub dostawcę biblioteki?

Czy uważasz, że Twój kod źródłowy javascript jest widoczny w niezaszyfrowanej postaci w pliku .ipa każdego klienta?

A może chcesz ułatwić portowanie prostszej aplikacji między platformami?

3

Zapomnij o szczegółach porównywania tych frameworków z natywnymi aplikacjami, więc natywna zawsze wygrywa. Jeśli Twoja aplikacja musi działać na "wielu" platformach, lepiej jest użyć PhoneGap i struktury javascript. Te ramy będą wymagały trochę czasu, abyś mógł dojrzeć, więc musisz dowiedzieć się, czy możesz skorzystać z tego, co oferują teraz. PhoneGap jest również open source, więc jeśli istnieje coś natywnego, które chcesz ujawnić, przyczynić się do projektu.

Powiązane problemy