Как стать автором
Обновить

Инфраструктура разработки приложения на PhoneGap для iOS и Android

Время на прочтение11 мин
Количество просмотров45K
Всего голосов 17: ↑16 и ↓1+15
Комментарии20

Комментарии 20

А расскажите плиз про Phonegap в целом — достоинства, недостатки, ограничения и т.д.
1. Сложно заставить нормально работать Socket.io, почти получилось, но все равно, то тут, то там появляются косяки с отваливающимся соединением.
2. Любые CSS3 плюшки адски тормозят приложение, особенно если их надо тянуть пальцем(тут все тушите свет, даже на топовых моделях лагает сие чудо)
3. Ужасный дебагинг, или я просто не понял как сделать нормально. Приходилось писать либо в console.log или в отдельную вкладку и скрывать ajax кнопкой.
4. Постоянная засада со стилями HTML. Этот телефон нормально показывает, другая модель… пфф… все разъезжается в разные стороны, поправил, что то уехало или пропало на третьем телефоне, с учетом отсутствия дебага для html + css. Все это очень долго, нудно и бесит, что непонятно что не так в конкретном случае

Не столько по самой кордове добавлю: собирал все локально, под apple это был какой то ад с сертификатами(Push, и т.д и т.п) в этом плане под Google было значительно проще.

p.s А вообще делал личный кабинет для сайта (в качестве проверки на нужность вообще приложения). Намучался сильно (довольно простое приложение чат, с несколькими плюшками, и полной отрисовкой на стороне приложения, а с сервером только по апи общение) заняло почти 3 месяца.

p.p.s Лучше бы отдали на аутсорс, написать 2 нативных приложения
Попробуйте запускать в эмуляторе ripple. Тогда можно будет открывать в хроме, а там отладка стилей вполне удобна. Правда он эмулирует только саму кордову, без плагинов.
Отладка под андроид, со всеми плагинами кроме оплаты, возможна для версий 4.4+.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
1.socket.io уже на сервере для десктоп клиентов, так что тут выбирать вообще не пришлось) На него ушло как раз недели 2-3 борьбы с тупо отваливающимся коннектом, который сам что то не восстанавливается в половине случаев, пришлось городить костыли для реконнекта.

2.а Ionic он на CSS3 или JS прорисовка, я так понял там просто CSS3 тормозят.

5.У меня не сказать что ушло больше, но просто их много я насчитал около 10 штук)))

ripple там чет у меня совсем не захотел работать походу из за плагинов.
В этой статье для краткости решил убрать общую информацию, т.к. Phonegap уже довольно широко обсуждался, существует множество обзоров и его сравнений с native разработкой (например, тут). Но в дальнейшем планируется написать больше о трудностях и багах, с которыми можно столкнуться при кросс-платформенной разработке.
вот моя история делал два приложения связка ExtJs+PhoneGap, дебаг компиляция все красиво на apple без проблем и каких то неожиданностей, но вот с android, дополню список от boodda
1) проблема с картами тормозят не по детски и все зависит от устройства, много было негатива от пользователей
2) список больше 100 элементов в виде карточек(более 5 элементов и плюс картинка) и все умирает только через paging
3) производителя телефонов к сожалению химичат с дистрибутивами android и добавляют свои фичи и так далее, в результате мы потеряли всех пользователь samsung galaxy тогда 4 версия, потому что samsung натворил делов с webkit и на нем тормозили не только карта, а все приложение в целом
И вы действительно пользуетесь бесплатной версией PhoneGap Build? Там же ограничение только на 1 приложение. К тому же, раньше он еще и вставлял свой логотип и свою же иконку, т.к. нельзя было это сконфигурировать. Так и осталось?
Т.к. у компании-клиента только одно приложение, то такого аккаунта достаточно, иконки и splash screen'ы сейчас можно указать любые в config.xml. PhoneGap Build берёт настройки из этого файла при сборке.
Мне вот всегда интересовало — хотя бы одно конкурентоспособное приложение было сделано за все годы существования этого подхода? Имею в виду конечно не всякий шлак для корпоративного пользования, где пользователей не жалко — им деньги за мучения платят, а приложения для рынка.
На сайте самого PhoneGap есть примеры же. Я, например, Untapped пользуюсь. Работает лучше, чем можно было бы ожидать
Что за Untapped? Не смог найти через GP, можете ссылку дать?

btw, на сайте что-то все программы 2012-2013 года, видимо тогда люди еще верили, что так можно делать приложения.
Ошибся я немного он Untappd (pg, g play). Для андроида последнее обновление было 20 мая.
Попробовал — пользоваться действительно можно, но не хочется. Большой лаг на любые действия. Когда листаешь список, а потом останавливаешься — он моргает. Выглядит вообще не как Андроид приложение. Нет перехода свайпом между табами. Еще я подозреваю, что они потратили раза в 2 больше денег, чем на разработки 2х найтивных приложений.
Столько времени уже проекту, а заходишь в комменты — снова комментарии на тему тормозов и прочих проблем :\
Ничего удивительного, это ж тормоза и ограничения от WebView. Кстати, с использованием CrossWalk, который позволяет упаковать WebView поновее прямо в приложение, жизнь становится чуть лучше в плане скорости, но иногда приложение просто разваливается…

Я уже неколько лет жду (не горит, так что с Java я мириться не спешу) какой-то альтернативы в области кросплатформенных приложений под мобильные девайсы без компромисов в духе: всё что у вас есть — однопоточный JS, зоопарк версий WebView, ваш HelloWorld весит «всего» 50МБ (утрировано, но 15+МБ — это тоже не идеал), загрузка приложения занимает 5+ секунд.
То есть PhoneGap уже годами плохое решение, только за несколько лет Facebook осознал, что веб-приложение — плохое решение, сделал и выкатил свой React Native, а PhoneGap бьётся головой о стену годами?
Я не говорил, что PhoneGap плох. Я указал на то, что PhoneGap ограничен возможностями WebView, и они, да, будут биться головой о стену до тех самых пор пока WebView не станет производительнее/стабильнее/… (Но я не думаю, что он имеет запас для оптимизации, которую мы сможем заметить визуально, если честно.) То, что крупные компании что-то делают в популярных сообществах — ни о чём не свидетельствует совершенно. Кроме того, в Google Play есть несколько Lite версий их главного приложения и они выпустили Facebook Lite, так что они понимают где находятся границы. PhoneGap несомненно подойдёт для быстрого прототипа, но если вы не считаете, что тормоза вашего приложения у пользователей — это их проблема из-за «слабого прошлогоднего флагмана», то вам очень скоро прийдётся писать нативные приложения (пока что я не видел альтернативы, к моему сожалению).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий