Використання Phonegap для розробки Native Application [закрито]


97

Нещодавно я натрапив на Фонегап . Хтось із вас спробував. Це неймовірний інструмент, який стверджує, що розробники можуть одночасно використовувати основу HTML 5, як Sencha touch та Jquery, маючи одночасно доступ до власних функцій по телефону. Також код переноситься з Android на Iphone з певними зусиллями. Перш ніж зануритися в нього, я хочу знати, який досвід форуму з Phonegap. Які больові моменти і чи справді це масштабування для розвитку додатків на рівні підприємства.

Відповіді:


95

Я створив пару додатків за допомогою PhoneGap, і для того, що він пропонує, це чудово. Я хотів би зазначити кілька швидких записок, які можуть вам допомогти.

Disable device-based features you're not using Функції акселерометра та геолокації за замовчуванням увімкнено. Якщо ви їх не використовуєте, я б вимкнув їх, оскільки ваш додаток буде швидше завантажуватися (ініціалізуватися) та працювати плавніше.

onDeviceReady- Це метод, який називається, коли фонегап завантажується і буде готовий. $ (document). вже або все, до чого ви звикли, насправді тут не застосовується, якщо тільки ви не робите лише інтерфейс / жорсткий код HTML. Якщо ви взаємодієте з функціями iPhone, як-от GeoLocation, вам потрібно буде зробити все після того, як onDeviceReady буде викликаний.

Pick a UI/library Існує безліч варіантів інтерфейсу / бібліотек, jquery-mobile, сенча сенсорного, jqtouch тощо. Вони пропонують унікальний підхід та набір функцій. Проведіть кілька досліджень та використовуйте, але уникайте комбінування. Про деякі інші параметри та інструменти ви можете прочитати тут: http://www.phonegap.com/tool (посилання оновлено)

Also, more on just mobile development in general, with PhoneGapЯкщо ви хочете створити додатки, які розповсюджуються через Android Market та iPhone App Store, я прочитав би їх вичерпні списки щодо рекомендацій щодо розробки програми. Наприклад, у посиланні на інструменти, наведеному вище, є "інструмент / плагін" під назвою Easy APNS - хоча це корисно для Android - і технічно це можливо в iPhone, але це порушує угоду про розробку, оскільки в ньому зазначається, що ви повинні використовувати сповіщення Apple мережа тощо. Це лише приклад, але читання цих матеріалів допоможе вам зберегти багато головних болів, якщо це ваша кінцева мета.

Загалом, це чудово для легких додатків, особливо якщо ви походите з фону веб-розробки. LocalStorage, GeoLocation і т. Д. Працює дуже добре. Я сподіваюся, що це трохи допомагає ... і почуваюсь задавати питання.

Додаткові зміни:

Я дійсно думаю, що це зводиться до того, що ти хочеш зробити, і що ти вмієш робити. Метт зазначив, що розробляти власні програми, для iOS краще і т. Д. Так, якщо у вас є час і знання, щоб це навчитися - звичайно, рідне буде краще. Але PhoneGap створений для веб-розробників, які можуть використовувати наявний набір навичок і створювати додатки. Також PhoneGap дозволяє швидко створювати програми для iOS, Android, Symbian, Palm, Blackberry. З незначними налаштуваннями вашої кодової бази для кожного.


2
Схоже, розробники розділені на Phonegap.
СаКет

8
Якщо наприкінці дня у вас є час і гроші, щоб вивчити різні мови для створення нативних програм для Android та iOS - тоді це обов'язково зробіть :) Але для більшості з нас, використовуючи те, що ми знаємо, для створення додатків, які працюють дійсно добре на декількох пристроях, це не мозг.
ТНК

easyapns призначений лише для сповіщень iPhone (не для Android), і він використовує мережу сповіщень Apple, не знаючи, звідки у вас ідея, що вона порушує угоду розробника ..
Traveling_Monk

приємне пояснення .. Дякую :)
Mrunal

Хороший налагоджувач - ваш найкращий друг. Перевірте це на віддалену прошивку налагодження: stackoverflow.com/questions/7242997 / ...
JoshuaDavid

52

Ось всі найкращі посібники з продуктивності, які я читав для PhoneGap ... Є багато чого слід бути обережним, щоб гарантувати надійну, стабільну продуктивність ... але ви зможете забрати все це лише за один вечір читання.

Ось найкращі самородки:

Підказки щодо продуктивності веб-телефону PhoneGap / Mobile

Увімкнення нових функцій

Архітектура

Архітектура вашої програми в Ext JS 4: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2


1
Чудова колекція документації .. Дуже корисна подяка :)
Mrunal

29

Перш ніж висловити свою думку щодо Phonegap, мені потрібно видати невелику відмову, сказавши, що я жодним чином не веб-розробник. Для мене писати JavaScript та CSS - це як тягнути зуби. Це сказав, що мені не подобається Фонегап.

Є декілька дуже привабливих аспектів цієї рамки, в основному звернення "Написати-раз-запустити-Будь-який" і "Я-не-повинен-вивчити-ціль-С?" звернення. Рамка може навіть надати доступ до деяких апаратних функцій, таких як акселерометр. Все це є певною мірою дійсним.

Однак, жоден із чудових додатків для iOS не побудований з використанням будь-якого типу крос-платформних рамок. Існує стільки тонких та елегантних взаємодій із інтерфейсом користувача, якими ви користуєтесь нативними елементами управління UIKit, що багато користувачів та розробників приймають як належне, поки їх не вистачає, як, наприклад, надзвичайно деталізовані анімаційні криві перегляду та прокрутки відмов, яких там немає. в інтерфейсі, заснованому на веб-перегляді. Ви могли б прагнути відтворити їх ідеально, але на той час інвестиції, чому б не просто піти рідною?

Другий момент, який слід зауважити, - це те, що спільнота підтримки додатків для iOS, побудованих Phonegap, значно менша, ніж розроблені в минулому додатки. Якщо ви хочете покластися на громаду під час проектів, це також повинно дати вам паузу.

Зрештою, це зводиться до якості досвіду, який ви хочете отримати. Верхня межа нижня з Фонегапом. Якщо ви готові прийняти менш хороший досвід користувача в обмін на скорочені часи розробки та підвищену портативність, це дуже життєздатна основа.

Як підтекст для всіх, хто цікавиться, Марко Армент та Ден Бенджамін нещодавно обговорили цю тему. Ви можете послухати його тут .


5
+1 Відмінна точка щодо розміру спільноти.
Девід Тан

5
+1 Відмінна точка щодо досвіду користувачів. Це дійсно має значення в iOS.

1
ви можете створити однаковий досвід користувача і в телефонеп. Я не думаю, що це лише питання вивчення мети c. оскільки інші мобільні ОС стають популярними: Андрої зараз, давайте подивимося, що відбувається з Windows Mobile та Firefox OS ... рішення кросплатформної форми стане рішенням, якщо ви не хочете обмежуватися x% часткою ринку, яку тоді матимуть iOS.
пам’ятний

1
@memical, команда розробників Facebook не погодилася б з вами. Я не кажу, що це не має сенсу з точки зору покриття ринку, я кажу, що це не так ефективно, як рідне. Незважаючи на те, що ви говорите, це факт.
Метт Уайлдінг

4

Процедура встановлення включає в себе ряд пакетів (Java, Apache Ant, Ruby, iOS SDK, Android SDK і сам PhoneGap), які всі повинні бути правильно встановлені та налаштовані. Це може бути серйозним зусиллям. Справедливості, у бета-версії є те, що називається PhoneGap Build, що повинно зробити це набагато простіше.

Ми використовуємо його разом з NS Basic / App Studio для створення додатків, які підходять для магазинів додатків.


Через рік пізніше, через півроку після того, як Adobe купив оригінального розробника, Nitobi, PhoneGap Build все ще знаходиться в бета-версії.
DOK

2

якщо ви не робите ні гри, ні віджетів, просто звичайний приємний вигляд програми, то phonegap - ваш вибір.

Але вам слід подбати про свій JS, уникати чого-небудь в JS, наприклад, якщо ви хочете робити будь-яку анімацію, уникайте встановлення таймера з невеликими інтервалами (наприклад, 100 мс), уникайте jquery та подібних анімацій. Наприклад, замість того, щоб анімувати вимкнення, встановлюючи короткочасний таймер зменшення непрозорості на кожному етапі крок за кроком (саме так працює jquery fade), слід використовувати переходи css3 від непрозорості 1 до непрозорості 0.

Моя порада - рухатися з чимось на зразок zeptojs.com, адже фонегап не працюватиме ie6 :-)

Перегляньте підручник про те, як зробити ваш JS більш легким

http://bcksp.blogspot.com/


насправді ви також можете будувати ігри
пам’ятний

1

Якщо вам не потрібні якісь апаратні функції або продуктивність, що не відповідають HTML5 і Phonegap, то інкапсульоване веб-додаток (плюс деякий обмежений доступ до інших функцій) - чудове рішення.

Багато підприємств розгортають широкомасштабні веб-додатки. Phonegap (або просто звичайний контроль перегляду веб-сторінок із вбудованим вмістом) дозволить запускати ці веб-програми в автономному режимі (за винятком, звичайно, будь-яких необхідних даних в Інтернеті).


0

Один «біль» не згадується при розгортанні між декількома різними пристроями: Чим більше пристроїв, тим більше крива навчання. Для розгортання на пристроях iOS за допомогою PhoneGap вам потрібно буде вивчити основи Xcode на Mac. Для розгортання в Android вам потрібно буде встановити і вивчити Eclipse, Android SDK тощо. Інші платформи вимагають використовувати власні SDK. Вивчення деяких рудиментарних Xcode, Javascript та Java допомагає мені зрозуміти помилки та загальний синтаксис.

"Створити один раз, розгорнути всюди" залишає безліч кроків!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.