29.10.2014

Использование HTML5 для разработки мобильных приложений - плюсы и минусы подхода.

Одним из критериев успешности мобильного приложения является доступность вашей разработки для целевой аудитории, вне зависимости от того, какую платформу используют пользователи - Android, IOS, Windows Phone или что-то еще. Как известно, существуют различные средства, которые служат для создания мобильных приложений, используя HTML5. Одним из представителей таких средств является PhoneGap. PhoneGap - бесплатный open-source фреймворк для создания мобильных приложений, созданный Nitobi Software. Позволяет создать приложения для мобильных устройств используя JavaScript, HTML5 и CSS3, без необходимости знания «родных» языков программирования (например, Objective-C), под все мобильные операционные системы (iOS, Android, Bada и т. д.). Готовое приложение компилируется в виде установочных пакетов для каждой мобильной операционной системы [Википедия]. Какие есть преимущества и недостатки у подобного подхода к разработке мобильных приложений и в каком случае нужно использовать такие инструменты? 

А зачем это нужно ?

Итак, преимуществом является кросплатформенность и отсутствие необходимости знания нативных средств разработки для той или иной платформы. Вам просто нужно знать HTML5/СSS/JavaScript, создать ваше приложение с помощью этих средств, а приложение для установки на конкретную платформу будет создано автоматизированно. 

Разумеется, кроссплатформенность это хорошо и HTML5 это тоже хорошо. Но использование всяческих "оберток", которые создают некую видимость нативного приложения -  зачастую не более чем создание потенциального "костыля" или бесполезного приложения. Это не всегда так, но случаи, в которых реально обоснованно использование инструментов аля PhoneGap ограничены.  

Это обусловлено минусами данного подхода:

1. Для того чтобы использовать возможности устройства из HTML5 нужна некоторая "прослойка". Она не может быть настолько быстрой и оптимизированной, как и нативные средства для разработки приложений под то или иное устройство.

2. С помощью HTML5 можно создавать хорошие приложения, которые должны работать в любом современном браузере. Но HTML имеет свою специфику - он предназначен для того, чтобы работать в браузере. И он должен быть стандартизирован настолько, насколько это возможно в данный момент. Делать с помощью HTML подобие нативного приложения для мобильного устройства - не самая лучшая идея. Есть более удачное применение HTML5. 

3. Поскольку с помощью таких "оберток" сделать реально сложное и при этом хорошо работающее приложение (вроде игры) вряд ли получится - возникают тенденции к созданию бесполезных приложений. Мне, как пользователю, не нравится навязывание приложений, которые впринципе ничего особенного не делают, но при этом занимают место в памяти, имеют значок запуска. Почему это нельзя было сделать на мобильной версии сайта?


Когда это все-таки полезно.

Разумеется, есть ситуации, в которых использование инструментов аля PhoneGap обоснованно. Например какое-нибудь тривиальное оффлайн-приложение, которое должно работать на множестве устройств. Просто в сегодняшних реалиях вряд ли найдется очень много типов приложений, которые подходят под это описание. При том, что вы хотите получить нечто стоящее. Ведь еще одна составляющая успеха - внимание к деталям. Если анимация в приложении просиходит с задержкой, все постоянно тормозит -  9 пользователей из 10 удалят его сразу после установки. Поэтому уже не будет никакого смысла в том, что приложение работает на 3 платформах. 

Я не хочу сказать, что не нужно использовать HTML5, и даже того, что инструменты, позволяющие использовать HTML5 для разработки приложений под мобильные устройства, не имеют права на существование! Я хочу сказать что нужно это делать правильно, и использовать инструменты по назначению. 



Теги: html5 mobile

comments powered by Disqus