Fesor
@Fesor
Full-stack developer (Symfony, Angular)

Какой есть опыт использование нативного ui в phonegap-приложениях, steroids.js и аналогах?

Phonegap/cordova это хорошо, когда хочется набросать свою кросплатформенную апликачку максимально быстро, но цена этому лаги и тормоза. С phonegap можно делать приличные прототипы, но если нужно добавить анимацию переходов/какую-либо интерактивность, то уже становится грустно.

Есть так же попытки применять нативный ui в гибридных приложениях на основе phonegap. Одной из таких попыток является steroids.js. Увы у конкретно этой имплементации есть несколько недостатков, один из которых лично для меня является фатальным.
  • код нативной части закрыт. В планах разработчиков есть мысли по поводу выделения всего в отдельные библиотеки, но что-то мне подсказывает что это если и случится, то не в ближайший год
  • Сборка проектов только через cloud-сервис. Тут все просто, я не хочу доверять такой процесс сборка проекта третьей стороне.
  • Слабая поддержка андроида. В связи с закрытостью исходников ничего допилить не выйдет.
  • форсинг Coffeescript. Это уже дело вкуса, но мне не нравится когда разработчики библиотеки/инструмента, предоставляют по умолчанию только то, с чем они привыкли работать.


Попытки имплементить какие-то куски приложения, вроде uinavbar для ios нативно в phonegap проектах это далеко не новая штука. Но найти что-то актуальное я так и не смог. Есть недоделанные зарисовки датируемые 2010-ым годом, есть обсуждения, но ничего готового так и нету.

Так что наконец задамся вопросом, был ли у вас опыт использования нативного ui в phonegap проектах? Ограничивалось ли это только отрисовкой менюшки нативно или было что-то сложнее? Встречали ли вы готовые решения каких-то общих проблем ну и все такое прочее.
  • Вопрос задан
  • 5108 просмотров
Пригласить эксперта
Ответы на вопрос 4
@dimstream
Raibow developer
Есть опыт использования PhoneGap WebView в нативном приложении.
Лучше делать гибридное с использованием WebView используя addJavascriptInterface(), самим описывая взаимодействие WebView и нативного кода (получите тот же Steroids).
Например приложение Odnoklassniki под Android так и сделано, это нативное на ~95 % приложение с WebView и обвязкой в виде JavaScript-мостика вокруг него.
Производительность в разы лучше чем приложения на PhoneGap.
Копайте в эту сторону: developer.android.com/guide/webapps/webview.html
Страницы лучше хранить на устройстве, а данные в них обновлять через REST.
Ответ написан
Комментировать
TsybulskySerg
@TsybulskySerg
У меня опыт работы с phonegap 1.5 года. И я Вам точно могу сказать, что такой плавности работы как нативных приложениях, добиться практически невозможно. Идаже, если Вы попытаетесь это сделать используя нативные части интерфейса, то Вам придется писать код под каждую из платформ отдельно. А это как раз противоречит самой идеологии phonegap`a.
Ответ написан
Комментировать
Makito
@Makito
front-end developer
Никто не заставляет вас писать под steroids на coffeescript.
Единственное место где я его видел - это файл настроек проекта.
Даже гайды и примеры в документации у них на чистом js.
Сам разрабатывал приложение на steroids используя backbone на js.
Ответ написан
Комментировать
@marksimon221
Although I haven't played around with PhoneGap too much yet, I have used angularjs in conjunction with Apache Cordova (which powers PhoneGap).

Here is a really great article, which helped me to get started:

The Definitive Guide to Angular on Mobile

Also, the last few days I've been playing around with Intel's new XDK and it is really helpful for making this type of development a bit less cumbersome (or so it seems so far).

www.agileinfoways.com/technical-expertise/cross-pl...

I've recently been using the Ionic framework and it is fantastic. I like it enough that I decided to come back here and add a link to it since it brings Cordova and Angular together perfectly.

Also I would start with this example that uses phonegap, angularjs and topcoat:
coenraets.org/blog/2013/11/sample-mobile-applicati...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы