Опубликован: 19.03.2014 | Доступ: свободный | Студентов: 329 / 26 | Длительность: 11:36:00
Специальности: Программист
Лекция 1:

Особенности разработки гибридных мобильных приложений

Лекция 1: 123 || Лекция 2 >

Возможности мобильных виджетов

Мобильные виджеты, создаваемые, главным образом, средствами языка HTML5, можно считать наиболее перспективными по следующим причинам [3]:

  1. Количество мобильных платформ в будущем будет только возрастать. Уже сейчас для обеспечения совместимости с максимальным количеством устройств, требуется создавать приложения для iOS, Android, Palm Pre, Windows Phone, Bada, а также приложение Java ME. Даже в этом случае невозможно охватить все мобильные платформы. Код, основанный на средствах HTML5, можно использовать для всех платформ.
  2. Условия рынка требуют быстрой реакции. Невозможно тратить месяцы на разработку своих мобильных клиентских приложений. Виджеты можно разрабатывать достаточно быстро.
  3. Каждый производитель устройств уже реализовал поддержку виджетов или аналогичной технологии, либо планирует реализовать такую поддержку в ближайшем будущем.
  4. Виджет может послужить отличным дополнением к мобильному веб - приложению. Используя тот же код, что и версия мобильного приложения, виджет может предложить другие возможности, например, интеграцию с устройством.
  5. Виджеты могут присутствовать на экране мобильного устройства постоянно, не требуя открыть браузер и ввести URL-адрес.
  6. Операторы связи также вступают в мир разработки виджетов со своими собственными платформами.
  7. При разработке виджетов используются широко известные технологии (HTML, JavaScript, CSS и Ajax), для которых доступно большое количество технических ресурсов и подготовленных специалистов.
  8. Для разработки виджетов можно использовать API HTML5, не ожидая появления мобильных API.
  9. Портирование виджетов требует гораздо меньших усилий по сравнению с портированием "родных" приложений.
  10. Достаточно легко выполняется портирование мобильных виджетов на платформу настольных виджетов и в обратном направлении.
  11. Возможно распространение виджетов бесплатно или продажа их через магазины производителей устройств.
  12. Виджеты могут сами себя обновлять.
  13. Можно получить доступ к службам платформы с помощью новых программных интерфейсов JavaScript, не доступных в мобильных браузерах.

Вместе с тем использование данной технологии сопряжено с рядом проблем:

  1. Между платформами необходимо выполнять портирование.
  2. Отладка требует значительных усилий.
  3. Виджет не является "родным" приложением, поэтому обеспечивает не лучшую производительность в сравнении с другими решениями.
  4. Виджеты не подходят для создания некоторых типов приложений (этот круг постоянно сужается, например, за счет использования виджетов для разработки игр).
  5. Виджеты являются не простыми веб-сайтами, а полноценными приложениями, использующими JavaScript. Использование хороших практик и приемов программирования при этом является обязательным.
  6. Большинство платформ не позволяет создавать приложения, предназначенные для работы в фоновом режиме.
  7. В виджетах нельзя создавать трехмерные эффекты (или, по крайней мере, пока не рекомендуется из-за плохого быстродействия).
  8. В настоящее время в виджетах сложно или невозможно реализовать процессы с интенсивным использованием процессора, такие как распознавание изображений, 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.

Таблица 1.1.
Демонстрационный проект Назначение проекта (приложения)
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].

Лекция 1: 123 || Лекция 2 >
Дмитрий Белов
Дмитрий Белов

Каким образом можно создать точку останова? Например, если в Лекции 8 в примере, который демонстрирует возможность <canvas> для работы с готовыми изображениями (последний в лекции) в цикле
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
sx = 300 * i; sy = 350 * j;
contextNow.drawImage(img, sx, sy);}
поставить точку останова, то при запуске отладки проекта точка становится пустой окружностью с сообщением: В настоящий момент попадание в точку останова не произойдет. Нет загруженных символов для этого документа. Как все-таки создать точку останова и пройти по шагам весь код?