Каким образом можно создать точку останова? Например, если в Лекции 8 в примере, который демонстрирует возможность <canvas> для работы с готовыми изображениями (последний в лекции) в цикле |
Особенности разработки гибридных мобильных приложений
Возможности мобильных виджетов
Мобильные виджеты, создаваемые, главным образом, средствами языка HTML5, можно считать наиболее перспективными по следующим причинам [3]:
- Количество мобильных платформ в будущем будет только возрастать. Уже сейчас для обеспечения совместимости с максимальным количеством устройств, требуется создавать приложения для iOS, Android, Palm Pre, Windows Phone, Bada, а также приложение Java ME. Даже в этом случае невозможно охватить все мобильные платформы. Код, основанный на средствах HTML5, можно использовать для всех платформ.
- Условия рынка требуют быстрой реакции. Невозможно тратить месяцы на разработку своих мобильных клиентских приложений. Виджеты можно разрабатывать достаточно быстро.
- Каждый производитель устройств уже реализовал поддержку виджетов или аналогичной технологии, либо планирует реализовать такую поддержку в ближайшем будущем.
- Виджет может послужить отличным дополнением к мобильному веб - приложению. Используя тот же код, что и версия мобильного приложения, виджет может предложить другие возможности, например, интеграцию с устройством.
- Виджеты могут присутствовать на экране мобильного устройства постоянно, не требуя открыть браузер и ввести URL-адрес.
- Операторы связи также вступают в мир разработки виджетов со своими собственными платформами.
- При разработке виджетов используются широко известные технологии (HTML, JavaScript, CSS и Ajax), для которых доступно большое количество технических ресурсов и подготовленных специалистов.
- Для разработки виджетов можно использовать API HTML5, не ожидая появления мобильных API.
- Портирование виджетов требует гораздо меньших усилий по сравнению с портированием "родных" приложений.
- Достаточно легко выполняется портирование мобильных виджетов на платформу настольных виджетов и в обратном направлении.
- Возможно распространение виджетов бесплатно или продажа их через магазины производителей устройств.
- Виджеты могут сами себя обновлять.
- Можно получить доступ к службам платформы с помощью новых программных интерфейсов JavaScript, не доступных в мобильных браузерах.
Вместе с тем использование данной технологии сопряжено с рядом проблем:
- Между платформами необходимо выполнять портирование.
- Отладка требует значительных усилий.
- Виджет не является "родным" приложением, поэтому обеспечивает не лучшую производительность в сравнении с другими решениями.
- Виджеты не подходят для создания некоторых типов приложений (этот круг постоянно сужается, например, за счет использования виджетов для разработки игр).
- Виджеты являются не простыми веб-сайтами, а полноценными приложениями, использующими JavaScript. Использование хороших практик и приемов программирования при этом является обязательным.
- Большинство платформ не позволяет создавать приложения, предназначенные для работы в фоновом режиме.
- В виджетах нельзя создавать трехмерные эффекты (или, по крайней мере, пока не рекомендуется из-за плохого быстродействия).
- В настоящее время в виджетах сложно или невозможно реализовать процессы с интенсивным использованием процессора, такие как распознавание изображений, AR-решения или распознавание голоса.
Apache Cordova
Это бесплатный open-source ("открытое ПО") фреймворк для создания гибридных мобильных приложений (http://cordova.apache.org/). Позволяет создавать приложения для мобильных устройств, используя JavaScript, HTML и CSS, без необходимости знания "родных" языков программирования (например, C#, Java, Objective-C), под все мобильные операционные системы (Windows Phone, iOS, Android, Bada и т. д.).
Далее приведена таблица поддерживаемых в Cordova возможностей для каждой конкретной операционной системы (http://cordova.apache.org/docs/en/3.0.0/guide).
Нередко этот фреймворк, являющийся промежуточным слоем между родной средой выполнения мобильного приложения и JavaScript API, называют "оберточным"(wrapper) компонентом разработки мобильных приложений.
Компания Microsoft, развивающая стратегию усовершенствования разработки для Windows Phone, также поддерживает Cordova и HTML5 в сфере мобильных разработок [4]. Microsoft стремится обеспечить разработчикам платформу, которая позволит им воспользоваться имеющимися навыками и технологиями для быстрого создания приложений. Однако HTML5 не будет единственным решением для разработки клиентских приложений на основе платформы Microsoft. Поддержка "родного" языка программирования XAML/C# для Windows Phone позволяет разработчикам создавать реалистичные и инновационные приложения и игры, которые запускаются локально.
Далее приводятся фрагменты рекламного сайта компании "ICENIUM" [5] с примерами гибридных проектов для мобильных устройств, выполненных на базе HTML5 и Apache Cordova.
Демонстрационный проект | Назначение проекта (приложения) |
---|---|
Coffee House |
Приложение демонстрирует, как использовать Apache Cordova для обнаружения близлежащих кафе, просматривать меню, сохранять информацию о кафе в своем мобильном устройстве, делать заказ и оплачивать его с платежной карты, сканировать штрих-код. |
Airlines |
Приложение демонстрирует, как использовать Apache Cordova и JQueryMobile в дороге, чтобы посмотреть маршруты, выполнить регистрацию авиабилетов, изменить выбор места. |
Geolocation |
Вы хотите помочь пользователям мобильных устройств найти свои любимые кафе, магазине или перемещаться по городу? Это приложение позволяет сделать это, используя Apache Cordova Geolocation API для получения информации о геолокации устройства. |
Compass |
Вам нужно знать, в каком направлении ваше устройство перемещается, или может быть вам нужна помощь в выходе из леса? В этом приложение используется Apache Cordova API Compass, позволяющий получить направление движения мобильного устройства. |
Camera |
В этом примере используется Apache Cordova Camera API, позволяющий задействовать камеру и галерею изображений устройства с использованием видео-редактора. |
Accelerometer |
Приложение позволяет отслеживать перемещения ваших мобильных устройств, чтобы добавить дополнительный уровень интерактивности в ваши приложения. Использует функцию Accelerometer Apache Cordova API для доступа к акселерометру и отслеживания изменений в движении, связанных с текущей ориентацией мобильного устройства в пространстве. |
Скриншоты некоторых из вышеприведенных примеров приложений:
Приложение "Coffee House"
Приложение "Airlines"
Приложение "Geolocation"
Примеры качественных гибридных приложений для Windows Phone, сделанных с использованием HTML5, можно увидеть также на сайте фирмы DevExpress [6].