Korzystanie z Phonegap do tworzenia aplikacji natywnych [zamknięte]

Ostatnio natknąłem się na Phonegap . Niech ktoś z was spróbuje. Jego niesamowite narzędzie, które twierdzi, że programiści mogą używać HTML 5 oparte framework jak Sencha touch i Jquery w tym samym czasie posiadanie dostępu do funkcji natywnych w telefonie. Również kod jest przenośny z Androida na Iphone ' a z pewnym wysiłkiem. Zanim wejdę w to chcę wiedzieć, jakie jest doświadczenie forum z Phonegap. Jakie są problemy i czy jest to naprawdę skalowalne dla aplikacji na poziomie korporacyjnym rozwój.

Author: SaKet, 2011-03-02

7 answers

Zbudowałem kilka aplikacji za pomocą PhoneGap, i za to, co zapewnia, jest świetny. Chciałbym zwrócić uwagę na kilka szybkich notatek, które mogą Ci pomóc.

Disable device-based features you're not using Akcelerometr, funkcje geolokalizacji są domyślnie włączone. Jeśli ich nie używasz, wyłączyłbym je, ponieważ aplikacja ładuje się szybciej (inicjalizuje) i działa płynniej.

onDeviceReady - jest to metoda, która jest wywoływana po załadowaniu phonegap i jest gotowa. $(dokument).ready lub cokolwiek, do czego jesteś przyzwyczajony, tak naprawdę nie ma zastosowania tutaj-chyba że robisz tylko interfejs / hard-coded HTML rzeczy. Jeśli korzystasz z funkcji iPhone ' a, takich jak geolokalizacja, musisz zrobić wszystko po ondeviceready został wezwany.

Pick a UI/library Istnieje mnóstwo opcji dla interfejsu / bibliotek, jQuery-mobile, sencha touch, jqtouch, itp.. Każdy z nich oferuje unikalne podejście i zestaw funkcji. Zrób trochę badań i użyj jednego, ale unikaj łączenia. Możesz przeczytać o kilku innych opcjach, narzędziach tutaj: http://www.phonegap.com/tool (link zaktualizowany)

Also, more on just mobile development in general, with PhoneGap Jeśli chcesz tworzyć aplikacje, które są dystrybuowane za pośrednictwem Android market i iPhone App Store, przeczytałbym ich wyczerpujące listy wskazówek dotyczących tworzenia aplikacji. Na przykład w linku narzędzia powyżej znajduje się "narzędzie / wtyczka" o nazwie Easy APNS - chociaż jest to przydatne dla Androida - i technicznie wykonalne na iPhonie narusza umowę rozwojową, ponieważ stanowi, że musisz korzystać z sieci powiadomień Apple itp.. To tylko przykład, ale czytanie tych rzeczy zaoszczędzi ci wielu bólów głowy, jeśli to jest twój cel końcowy.

Ogólnie rzecz biorąc, jest to świetne rozwiązanie dla lekkich aplikacji, zwłaszcza jeśli pochodzisz z środowiska programistycznego. LocalStorage, GeoLocation, itp.. działa naprawdę dobrze. Mam nadzieję, że to trochę pomoże... i czuję, że zadaję pytania.

Dodatkowe Edit:

Naprawdę myślę, że chodzi o to, co chcesz robić i co wiesz jak to robić. Matt zwrócił uwagę, że tworzenie aplikacji natywnych, dla iOS jest lepsze itp.. Tak, jeśli masz czas i wiedzę, aby się tego nauczyć-oczywiście native będzie lepszy. Ale PhoneGap jest przeznaczony dla programistów internetowych, którzy mogą wykorzystać istniejący zestaw umiejętności i budować aplikacje. Ponadto PhoneGap pozwala szybko tworzyć aplikacje, na iOS, Android, Symbian, Palm, Blackberry. Z niewielkimi poprawkami kodu dla każdego.
 95
Author: TNC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-13 18:51:59

Oto wszystkie najlepsze przewodniki wydajności, jakie czytałem dla PhoneGap... istnieje wiele, aby być ostrożnym, aby upewnić się, że masz solidną, stabilną wydajność... ale możesz to wszystko zebrać w jeden wieczór czytania.

Oto najlepsze nuggety:

PhoneGap / Mobile Web Performance Tips

Włączanie Nowych Funkcji

Architektura

Tworzenie aplikacji w Ext JS 4: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2

 52
Author: ATSiem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-04 21:44:54

Zanim wyrażę swoją opinię na temat Phonegap, muszę wydać małe zastrzeżenie, że w żadnym wypadku nie jestem web developerem. Dla mnie pisanie JavaScript i CSS jest jak wyrywanie zębów. To powiedziawszy, nie lubię Phonegap.

Istnieje kilka bardzo atrakcyjnych aspektów frameworka, głównie apel" Write-Once-Run-Anywere " i "I-Don' t-Have-to-Learn-Objective-C?"apelacja. Framework może nawet zapewnić dostęp do niektórych funkcji sprzętowych, takich jak akcelerometr. Wszystkie te są ważne, do pewnego stopnia.

To powiedziawszy, żadna z najlepszych aplikacji na iOS nie jest budowana przy użyciu jakiegokolwiek frameworka wieloplatformowego. Istnieje tak wiele subtelnych i eleganckich interakcji interfejsu użytkownika, które są obsługiwane przez natywne kontrolki UIKit, które wielu użytkowników i programistów bierze za pewnik, dopóki ich nie zabraknie, jak mnóstwo niesamowicie szczegółowych krzywych animacji widoku i przewijania odbić, których nie ma w interfejsie opartym na widoku sieciowym. Można się trudzić, aby odtworzyć je doskonale, ale za to czas inwestycji, dlaczego nie po prostu przejść natywne?

Drugą kwestią jest to, że społeczność wsparcia dla aplikacji iOS zbudowanych przez Phonegap jest drastycznie mniejsza niż aplikacje opracowane natywnie. Jeśli jesteś jednym z tych, którzy polegają na społeczności podczas projektów, powinno to również dać ci pauzę.

W końcu sprowadza się do jakości doświadczenia, które chcesz dostarczyć. Górna granica jest dolna z Fonegapem. Jeśli jesteś gotowy zaakceptować mniej niż doskonałe wrażenia użytkownika w zamian za skrócony czas rozwoju i zwiększona przenośność, niż jest to bardzo realne ramy.

Jako podtekst dla wszystkich, którzy są zainteresowani, Marco Arment i Dan Benjamin niedawno omówili ten temat. Możesz go posłuchać tutaj .

 29
Author: Matt Wilding,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-02 01:46:01

Procedura instalacji obejmuje kilka pakietów (Java, Apache Ant, Ruby, iOS SDK, Android SDK i PhoneGap), które muszą być poprawnie zainstalowane i skonfigurowane. To może być duży wysiłek. Szczerze mówiąc, mają coś o nazwie PhoneGap Build w wersji beta, co powinno znacznie ułatwić.

Używamy go z NS Basic / App Studio do tworzenia aplikacji, które kwalifikują się do app Store.

 4
Author: ghenne,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-07 10:02:39

Jeśli nie robisz gry ani widżetu, po prostu ładna aplikacja, a następnie phonegap jest Twój wybór.

Ale powinieneś dbać o swoje JS, unikać robienia czegokolwiek w JS na przykład, jeśli chcesz zrobić dowolną animację, unikaj ustawiania timera z małymi interwałami (np. 100 ms), unikaj jQuery i podobnych animacji. Na przykład zamiast animowania zanikania przez ustawienie krótkookresowego timera zmniejszającego krycie w każdym punkcie krok po kroku( tak działa zanikanie jquery), powinieneś użyć css3 przejście z krycia 1 do krycia 0.

Radzę wybrać coś w rodzaju zeptojs.com, przecież phonegap nie uruchomi ie6: -)

Zobacz jakiś tutorial Jak sprawić, by Twój JS był bardziej lekki

Http://bcksp.blogspot.com/

 2
Author: muayyad alsadi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-24 20:50:05

Jeśli nie potrzebujesz żadnej z funkcji sprzętowych lub wydajności wykraczającej poza to, co zapewniają HTML5 i Phonegap, kapsułkowana aplikacja internetowa (plus ograniczony dostęp do innych funkcji) jest doskonałym rozwiązaniem.

Wiele przedsiębiorstw wdraża aplikacje internetowe na dużą skalę. Phonegap (lub zwykła Kontrola widoku sieci Web z wbudowaną zawartością) pozwoli Ci uruchamiać te aplikacje sieciowe w trybie offline (z wyjątkiem oczywiście wymaganych danych online).

 1
Author: hotpaw2,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-01 22:24:17

Jeden " ból " nie jest wymieniony podczas wdrażania między kilkoma różnymi urządzeniami: im więcej urządzeń, tym większa krzywa uczenia się. Aby wdrożyć na urządzeniach z systemem iOS za pomocą PhoneGap, musisz nauczyć się podstaw Xcode na komputerze Mac. Aby wdrożyć na Androida, musisz zainstalować i nauczyć się Eclipse, Android SDK itp. Inne platformy wymagają użycia własnych zestawów SDK. Nauka podstawowych Xcode, Javascript i Java pomaga mi zrozumieć błędy i ogólną składnię.

"Utwórz raz, wdroż everywhere " pozostawia wiele kroków!

 0
Author: Steve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-30 19:10:28