Содержание
В последнее время направление создания гибридных мобильных приложений приобрело необычайную активность. И это совсем неудивительно. Высокая скорость разработки одновременно под несколько платформ позволяет без промедлений выходить на рынок с первой версией приложения. Мы уже делились собственным опытом разработки гибридных приложений. Теперь же настало время для подведения итогов. Вашему вниманию предлагаются исчерпывающие выводы о нашей работе с Ionic framework. В этой статье вы узнаете обо всем: об успехах, ошибках, преимуществах и недостатках. И даже получите несколько ценных советов. Поехали.
Преимущества использования Ionic фреймворк
- Оперативность. Во-первых, AngularJS (именно на нем основан Ionic) позволяет быстро разрабатывать бизнес-логику, которая совершенно не зависит от платформы приложения. Это большой плюс с точки зрения коммерции. Во-вторых, разработка интерфейса с помощью HTML и CSS происходит намного быстрее, чем при использовании стандартных средств.
- Разработка в браузере с доступом ко всем средствам отладки javascript.
- Один код под все платформы.
- AngularJS в качестве фреймворка. Скажем прямо — нам не нравится этот фреймворк. Однако его использование полностью себя оправдало. Оно позволило быстро собрать внушительное коммьюнити, благодаря использованию большого количества готовых решений. Для справки: зачастую вместо поискового запроса “Как в Ionic …”, лучше использовать “Как в Angular …”
- Документация самого фреймворка также весьма подробна. Она содержит большое количество интересных примеров. Но, что еще важнее — живой форум, на котором вы всегда можете найти реальную помощь.
- Наличие конструктора приложений для быстрого старта.
Недостатки
Они также имеют место. И мы обязаны предупредить своих читателей обо всех возможных трудностях разработки.
- Гибридные приложения весьма медленные. Безусловно, скорость фреймворков и JS движка постоянно растет, телефоны прибавляют в мощности едва ли не ежедневно, но все же ненативное приложение заметно невооруженным глазом.
- Утверждение, что javascript программист берет и пишет мобильное приложение без особых усилий в корне неверно. Очень сложно придумать продукт, которому вообще не придется обращаться к API мобильного устройства. А это значит, что вам придется использовать Cordova плагины, написанные на нативных языках. В результате возникает ситуация, когда вы нашли правильный фикс на stackowerflow, но не понимаете, как и куда вставлять эти куски кода и чем они в итоге окажутся полезны.
- В дополнение к предыдущему пункту. Возможны ситуации, когда без помощи нативного разработчика вообще не обойтись. Дело в том, что иногда единственной альтернативой такому решению является обучение фронтенд-разработчика основам программирования под каждую платформу. Плюс некоторое время на освоение навыков отладки. Добавим, что и сборка билда — тоже не совсем простая задача. Особенно, когда приходится разбираться со всем в первый раз.
- Зависимость от разработчиков плагинов. Вам придется сидеть и ждать обновления iOS. Иначе никак.
- Гибридные технологии продолжают активно развиваться. Это, несомненно, хорошо, однако шанс наткнуться на недокументированный баг все же есть. И его вероятность гораздо выше, чем при работе с нативными приложениями.
Советы, которые могут оказаться полезными
- При поиске проблемы используйте в запросе базовые технологии — “Cordova resize images” или “Angular mentions pluign”.
- Используйте — http://ngcordova.com/.
- Обязательно проверяйте свой код на всех поддерживаемых платформах по окончании разработки в браузере. Javascipt в Chrome (Android) и Safari (iOS) имеют разные API. В результате не все функции работают одинаково.
- Приложение, запущенное на устройстве, так же можно дебажить через web console.
- Все Cordova плагины устанавливаются из Github. Иногда полезно попробовать установить более старую версию, она может оказаться стабильней.
- Не бойтесь пересоздавать платформы или переустанавливать приложение. Иногда это реально помогает.
- Используйте Xcode и Android studio. Это очень помогает, когда приложение не компилируется. Найти ошибку таким образом гораздо проще, чем при разборке стены логов из консоли.
Использование хуков сборки Cordova
Зачастую возникают ситуации, когда в проекте нужно что-то обновить до начала компиляции. Например, зашить в код токены доступа к каким-то сервисам или заменить файл плагина на свой с исправлением. Мы рекомендуем вносить подобные изменения посредством замены собственного файла. Это позволит легко синхронизироваться с новой версий плагина в будущем.
Подробно о хуках можно почитать тут https://cordova.apache.org/docs/en/dev/guide/appdev/hooks/.
Не игнорируйте сообщение об ошибках в web-консоли.
Иногда случается так: все работает нормально, но Angular выбрасывает массу исключений. Если вы будете их игнорировать, это может привести к тому, что в один момент приложение начнет жестко тормозить.
Реальный пример. Если вы неопытный Angular разработчик, консоль практически наверняка будет завалена сообщениями о начале нового рендеринга, когда старый рендеринг еще и не думает завершаться. Это приведет к тому, что приложение станет работать в режиме слайд-шоу. Также медленно и отрывисто. Не повторяйте наших ошибок, держите код в чистоте и стабильности.
Выводы
Гибридные мобильные технологии позволят вам ускорить процесс выхода на рынок с довольно-таки качественным продуктом. Недостатки же можно скрыть с помощью оптимизации и некоторых элементов UI. Например — спиннера. Главное помнить обо всех перечисленных нами подводных камнях. А вы наверняка столкнетесь с ними в процессе знакомства с разработкой гибридных приложений.
Если у вас есть собственные примеры и опыт, которым вы желаете поделиться, добро пожаловать в комментарии.