Ерошенко
М.Н.
Брянский
государственный университет им. ак. И.Г. Петровского, Россия
Гибридные приложения – новый тип
интерактивных web-приложений, которые используют содержимое внешних источников
для разработки новых сервисов. Они создаются при помощи HTML, JavaScript, CS, а
затем код «оборачивается» в нативную оболочку. Такая оболочка является хостом
для браузера, который настраивается на запуск приложения по определенному URL.
После этого родной элемент управления «веб-браузер» прослушивает запрашиваемые
URL. Если запрашивается UR, в котором требуется задействовать аппаратные
функции, то элемент управления прерывает событие и запускает аппаратную часть.
После ее использования завершается родной процесс, а приложение указывает
элементу управления вернуться в надлежащее место сайта. [1]
Согласно [2], гибридное приложение для бизнеса может обеспечить
существенную экономию расходов по
сравнению с уникальными родными приложениями – как в краткосрочной перспективе,
так и в долгосрочной. В случае мобильных устройств, число которых быстро
растет, у разработчика есть несколько вариантов создания такого рода
информационных систем.
1.
Создание родного
приложения для каждой поддерживаемой платформы. Это, безусловно, обеспечивает
максимальное удобство для пользователя и производительность на каждой
платформе, в то же время, открывая доступ ко всем встроенным аппаратным
средствам и магазинам приложений. Однако недостаток этого подхода в том, что он
может потребовать гораздо больших затрат на создание и сопровождение, так как
понадобятся раздельные кодовые базы для каждой платформы, которую необходимо
поддерживать. Кроме того, каждая новая версия приложения потребует передавать
его во все магазины приложения заново.
2.
Создание мобильного
веб–приложения. Это самый простой и дешевый вариант для разработки, выпуска и
обновления на всех платформах, а также доступа к базе данных сервера, но
удобство в использовании может пострадать из–за отсутствия доступа к встроенным
аппаратным средствам.
3.
Создание гибридного
мобильного приложения. Этот подход представляет собой хороший компромисс между
затратами на разработку уникального для каждой платформы родного приложения,
возможностям доступа к встроенным аппаратным средствам и доступу к серверной
базе данных. Этот вариант также обеспечивает передачу в магазины приложений.
Важно отметить, что ни один из
этих подходов не является принципиально лучшим других – все они имеют свои
сильные и слабые стороны. Глубокий анализ
соотношения «цены/выгоды» по
каждому варианту поможет определить, какой из них будет лучше для пользователей
конкретного бизнеса. При принятии решения важно учитывать удобство в
использовании, затраты на
разработку и последующие расходы
на сопровождение, а также более тонкие факторы вроде маркетинга и признания
среди пользователей.
Для многих бизнес – сценариев
предпочтительнее вариант с гибридным мобильным приложением, так как
дополнительные усилия и расходы
на создание уникальных родных приложений для каждой мобильной платформы могут
перевесить все выгоды для бизнеса. Мобильные приложения для бизнеса никуда уже
не денутся и будут лишь набирать все большую значимость по
мере переноса вычислений с традиционных настольных компьютеров на разнообразные
мобильные устройства.
Произведем расчёт стоимости
мобильной разработки в случае нативного и кроссплатформенного подходов. Для
разработки кроссплатформенного продукта требуется один специалист, который
знает HTML, CSS, JavaScript и
имеет опыт работы в PhoneGap. Время, которое будет затрачено – примерно один
месяц. Но, как показывает практика, хорошо работающее гибридное приложение на
Android, будет некорректно работать на iOS, поэтому на оптимизацию под Android
может уйти ещё половина месяца. Оптимизацию будет производить другой
программист.
Для работы над нативным
приложением требуется два специалиста. Один разрабатывает продукт для
операционной системы iOS, другой – для Android. Время, которое будет затрачено
на разработку нативного приложения – примерно один месяц.
Исходя из вышесказанного, был
произведен расчет затрат для разработки этих приложений, представленный в двух
таблицах. Результаты в таблице 1 отталкиваются от средней почасовой ставки
фрилансеров из баз freelansim.ru и fl.ru в рублях, в таблице 2 — средней
почасовой ставки фрилансеров и студий из международной базы upwork.com в
долларах.
Таблица 1
|
Платформа |
Средняя ставка, руб. |
Количество специалистов |
Количество часов |
Итого, руб. |
|
iOS/Android |
800 |
2 |
320 |
256000 |
|
Гибридное приложение |
2 |
240 |
192000 |
Таблица
2
|
Платформа |
Средняя ставка, $ |
Количество специалистов |
Количество часов |
Итого, $ |
|
iOS/Android |
25 |
2 |
320 |
8000 |
|
Гибридное приложение |
2 |
240 |
6000 |
Исходя из этих двух таблиц можно сделать
вывод: для разработки гибридных приложений требуется не только меньше денежных
затрат, но и времени.
· Кросс-платформенность. Сделав одно приложение, можно экспортировать его под
любую операционную систему – iOS, Android, Windows Phone, BlackBerry.
· Доступная
стоимость разработки – в разы
меньше, чем при нативном подходе.
· Почти во
всех случаях используется один язык
– JavaScript или HTML.
· Доступ к
основным данным мобильного устройства: GPS, камера, телефонная книга и т.д.
· Работа в
оффлайн-режиме.
· Возможность
распространять приложение через
официальные магазины приложений.
Гибридная
разработка пользуется популярностью у крупных мировых компаний. Множество
широко известных приложений являются кроссплатформенными. Среди них: Wikipedia,
Health tap, BBC Sport App и Evernote. Пользователи скачали каждое из этих
приложений более миллиона раз, что говорит о высоком качестве разработанных
решений.
· Сниженная скорость работы в отличие от нативных
приложений.
· Меньше возможностей для интеграции с «начинкой»
мобильного устройства.
· Проблематичная верстка адаптивного дизайна. Как
показывает опыт, несмотря на наличие различных средств для построения
приложений, может оказаться, что все они будут по-разному себя вести на
различных устройствах.
· Появление ряда ошибок, которые могут приводить к
определенным нарушениям нормальной работы приложения. Во время тестирования,
исходя из различного поведения приложения на разных устройствах, правка одной
ошибки влечет за собой появление других под новыми версиями операционных
систем.
· Ограниченное представление визуальных и графических
элементов, в частности, анимации.
Хотя
некоторые недостатки не так существенны, низкая производительность и проблемы с
анимацией могут стать ограничениями в работе с кросс-платформенными
приложениями. Два популярнейших сервиса Facebook и LinkedIn в своё время работали по гибридной модели, но затем были переписаны на
нативную. По отзывам разработчиков, после этого они получили двукратный прирост
в производительности решений. [3]
· стоит задача быстрой разработки приложения под более,
чем 2 мобильные платформы;
· есть необходимость сэкономить на бюджете;
· требуется относительно простое приложение без сложной
анимации;
· можно исключить поддержку множества параметров
нативного функционала.
Литература:
1.
IBM Developerworks: техические материалы: [Электронный ресурс] / –
Электронные данные [2015]. - Режим доступа:
URL: http://www.ibm.com/developerworks/ru/library/x-mashups/
2.
Шейн Черч Разработка гибридных веб-приложений, способных
использовать аппаратные средства мобильных устройств журнал MSDN Magazine, март
2012: [Электронный ресурс]/ – Электронные данные [2015]. - Режим доступа: http://msdn.microsoft.com/ru-ru/magazine/hh852592.aspx
3.
Разработка гибридных приложений для мобильных устройств под
Windows: [Электронный ресурс]/ – Электронные данные [2015]. - Режим доступа: http://www.intuit.ru/studies/courses/12574/1187/info.