Ограничения в разработке гибридных мобильных приложений
Для начала давайте разберемся что такое гибридное приложение в целом.
Нативные приложения - это программа разработанная специально для iOS и специально для Android, при этом используются языки программирования как правило Objective-C/Swift и Java соответсвенно. С сервером приложения обмениваются посредством API (интерфейс передачи данных к серверу и обратно). Для разработки требуется 3-и программиста: разработчик серверной части и API, iOS и Android программист. Так же необходимо тестировать ошибки на двух платформах.
Гибридные приложения - это мобильная версия сайта обернутая в специальный браузер, который и публикуется в AppStore и Google Play. В данном варианте нет API и в приложение транспортируется по сути страница в готовом виде, которая сверстана в HTML. Для разработки требуется один программист, который отвечает за серверную часть, сайт, его мобильную версию и мобильные приложения на iOS и Android.
Почему этот вопрос вообще имеет место? Все дело в том что мы работаем на стыке технологий веба и нативных приложений. Разработку на вебе мы выбрали потому что это значительно экономит ресурсы, т.к. нужен всего один программист вместо 3-х при классической разработке, не нужно API обмена между сервером и приложениями и всех этих специалистов синхронизировать в действиях. Классическая разработка нативных приложений важна в разработке игр, там действительно нужна вся мощь интеграции железа и софта в отрисовке качественной графике. В бизнес же приложениях как правило это банальные текст + картинка.
Гибридное приложение - это приложение браузера с некоторыми функциями, которые как и любое нативное приложение можно дорабатывать, тут нет ничего необычного.
Какие еще минусы заявляют профессионалы?
- не может работать без интернета
- плохо отрабатывает интерфейс
- нет доступа ко всем функциям устройства
На самом деле в динамично обмениваемых приложениях, работа без интернета вообще не представляется возможным, но если это в каких то случаях уместно, например, отобразить список заказов в подвале, то на вебе это так же можно реализовать на JS с использованием localstorage.Вебщики действительно часто пренебрегают качеством интерфейса и продолжают мыслить страничками и ссылками, но это поправимо и необходимо дорабатывать. Доступ к необходимым функциям устройства нужно реализовать как и рассмотрено примером ниже.
Подводя итог о существующих ограничениях в разработке гибридных приложений, можно сказать что никаких не существует, если у вас есть исходные коды.
Мы для нашего коробочного решения сервиса поиска исполнителей (агрегатора услуг) клиентам отдаем исходные коды.
Чтобы не быть голословным записал видео как в наше гибридное приложение интегрировать считывание QR кода.