Разработка кроссплатформенных приложений предполагает однократное написание приложения и его развертывание на различных платформах. Разработчики приложений могут получать более высокую прибыль, применяя средства разработки, поддерживающие создание и разработку кроссплатформенных приложений. Большинство разработчиков приложений стремятся к тому, чтобы их приложения выполнялись на мобильных платформах Android* и iOS* — это две основные платформы, для которых разрабатываются мобильные приложения. Архитектура набора программных компонентов и аппаратные возможности устройств этих платформ несколько затрудняют разработку кроссплатформенных приложений. HTML5 — это технология, позволяющая удобно разрабатывать кроссплатформенные приложения и обеспечивающая возможность переноса приложений на различные платформы.
Набор AppMobi XDK предоставляет средства разработки кроссплатформенных приложений, с помощью которых разработчики могут с легкостью создавать приложения HTML5 и JavaScript* для различных мобильных платформ. В этой статье мы рассмотрим создание гибридных приложений для Android, использующих API JavaScript из состава AppMobi XDK.
Жизненный цикл разработки программного обеспечения с помощью AppMobi XDK
AppMobi XDK включает не только средства для разработки кроссплатформенных приложений, но и средства тестирования приложений перед их развертыванием на нужных платформах, как показано на рисунке ниже.
[Источник: http://appmobi.com/]
Можно создавать приложения в виде веб-приложений на основе HTML5, JavaScript и CSS либо создавать гибридные приложения, чтобы использовать различные возможности оборудования (акселерометр, камеру и пр.). Можно одновременно тестировать приложение с помощью имитаторов различных типов устройств Android и iOS с различной пространственной ориентацией. Также можно протестировать приложение и на настоящем устройстве с помощью Wi-Fi* или облачной службы размещения приложений. Убедившись в работоспособности приложения, можно развернуть его в различных магазинах приложений, таких как Android Marketplace или Apple App Store.
Установка AppMobi XDK
Установить AppMobi XDK можно из магазина Chrome. Для загрузки и установки AppMobi XDK потребуется создать учетную запись AppMobi на сайте appmobi.com. Кроме того, необходимо установить Google Chrome* и Java* 6. Пакет XDK запускается в виде веб-приложения вместе с локальным веб-сервером, который запускается в качестве приложения Java.
После установки XDK можно запустить это приложение, щелкнув значок XDK в браузере Chrome. Обратите внимание, что AppMobi XDK не заменяет уже используемые вами средства веб-разработки. Это единая платформа для сборки, тестирования и развертывания веб-приложений и гибридных приложений, позволяющая при этом по-прежнему использовать привычную интегрированную среду разработки.
Разработка первого кроссплатформенного приложения
Развертывание приложений в среде AppMobi XDK очень просто и удобно, поскольку все средства разработки, тестирования и развертывания собраны в едином месте. При этом можно продолжать использовать привычные средства разработки, например среду Eclipse*, для разработки веб-приложений, поскольку AppMobi XDK не заменяет эти средства. Также предусмотрен редактор на случай, если на компьютере еще нет настроенной среды разработки. В этом разделе мы создадим проект акселерометра, который будет использовать различные API JavaScript AppMobi для доступа к акселерометру на устройстве Android. Можно добавить и другие нужные функции, но в этой статье мы будем использовать простую структуру для демонстрации удобства использования AppMobi XDK и API.
Шаг 1
Для создания первого приложения установите и запустите XDK, выполнив описанные выше действия. После запуска XDK на экране появится интерфейс, показанный ниже. Нажмите кнопку Start Menu в левом верхнем углу, как показано.
Шаг 2
Поскольку нам нужно создать гибридное приложение, которое будет работать на мобильных устройствах, выберите тип клиентского приложения, как показано на приведенном ниже рисунке:
Шаг 3
На следующих экранах введите имя проекта и другие нужные данные. Обратите внимание, что во избежание создания дублирующихся приложений к имени проекта добавляется префикс в виде имени учетной записи. При этом в среде разработки можно выбрать уже существующий веб-проект.
Шаг 4
Выберите функцию Accelerometer. При этом в приложение будут добавлены необходимые фрагменты кода для доступа к датчикам движения, которыми оборудованы смартфоны.
Шаг 5
Теперь в проект добавлена поддержка акселерометра. Можно использовать API JavaScript для работы с этим устройством. В этом примере мы асинхронно, с регулярными интервалами проверяем изменения значений датчиков устройства. AppMobi включает объект Accelerometer с методом watchAcceleration, который асинхронно получает значения акселерометра с заданными интервалами по таймеру.
Откройте файл index.html, чтобы увидеть, как реализован этот метод. Можно открыть исходный код приложения, щелкнув переключатель Emulator, позволяющий переключаться между режимами имитации и редактирования кода. Это дает возможность сразу же видеть на имитаторе, каким образом изменения кода влияют на поведение приложения.
В коде видно, что сразу после загрузки страницы и активации appMobi можно начать следить за обработчиком событий onDeviceReadyAccel, который проверяет изменения датчика движения с помощью метода AppMobi.accelerometer.watchAcceleration.
Акселерометр выдает значения для координат x, y и z в диапазоне от -1 до 1. В примере по умолчанию используются значения x = 0, y = -1 и z = 0. Теперь можно протестировать поведение приложения на нескольких платформах, выбрав нужное устройство в разделе Device Emulation справа. Поскольку наша задача — развернуть гибридное приложение на устройстве Android, выберите в списке Droid.
Если нужно, можно смоделировать поведение программы на настоящем устройстве путем изменения пространственной ориентации устройства. Для этого используйте вкладку Accelerometer справа и измените значения координат x, y и z путем изменения наклона устройства. На приведенном ниже рисунке видно, что имитатор моделирует работу конечного пользователя с устройством путем изменения положения устройства в пространстве с отображением соответствующих изменений значений x, y и z.
Поскольку в приложении уже поддерживается основная функциональность, можно доработать приложение для выполнения более сложных задач, например для анимации с использованием акселерометра. В образце приложения Accelerometer, входящем в состав appMobi XDK, банка перемещается по экрану по мере изменения значений акселерометра.
Создание приложения appMobi для Android
Итак, мы разработали первое кроссплатформенное приложение. Теперь необходимо собрать его для нужной платформы. В appMobi эта возможность реализована с помощью облачной службы упаковки appHub. В appHub можно собирать приложения для множества платформ, таких как iOS, Android, nook*, Amazon и пр. Также можно собирать веб-приложения, работающие через веб-магазин, например Chrome. В этом разделе описывается сборка приложений для устройств Android.
Шаг 1
Запустите процесс сборки, нажав кнопку сборки в правом верхнем углу XDK. Обратите внимание, что при первой сборке приложения необходимо сперва отправить его в облачную службу. При последующей сборке можно использовать параметр Build only.
При этом откроется центр управления appHub, где можно ввести данные, относящиеся к приложению (значок, экранную заставку и пр.). Нажмите кнопку Android, чтобы выявить неполадки приложения, которые необходимо устранить, прежде чем можно будет собирать это приложение для устройств Android. Центр управления показан ниже.
В инструкциях видно, что для системы сборки Android требуется настроить Android Push. Подробные инструкции по настройке Google Cloud Messaging приведены по адресу: http://www.appmobi.com/amdocs/lib/appMobi_Walkthrough_v2_GCM_Push.pdf
Введите идентификатор проекта и ключ API из конфигурации GCM в центре управления AppHub Control Center. Теперь приложение готово к сборке. Нажмите кнопку Build App Now, чтобы приступить к сборке. После успешного завершения сборки откроется показанное ниже диалоговое окно, в котором можно загрузить APK-файл, отправить приложение по электронной почте на устройство, отправить приложение в магазин Android Marketplace или переместить приложение на устройство Android с помощью Android SDK.
Заключение
В этой статье мы рассмотрели процесс создания и сборки кроссплатформенных веб-приложений и гибридных приложений, которые могут быть запущены на устройствах Android. AppMobi XDK — это очень удобное средство для разработки, тестирования и сборки приложений для нескольких платформ. AppMobi XDK обеспечивает удобную возможность развертывания одного приложения на множестве устройств и помогает разработчикам приложений увеличивать выгодность своей работы.
Дополнительные материалы:
1: Справочник по API JavaScript AppMobi. Изучите API, обеспечивающие доступ приложения к ряду аппаратных функций: Camera, Geolocation, Multi-touch, Canvas и пр.: http://dev.appmobi.com/documentation/jsAPI/index.html
2: Написание приложений из собственного кода с помощью AppMobi: http://www.appmobi.com/amdocs/lib/Article-DevelopingOutsideXDK.pdf
3: Школа разработки приложений HTML5: http://dev.appmobi.com/?q=node/66
4: Лучшие методики создания приложений с помощью AppMobi: http://www.appmobi.com/documentation/content/Articles/Article_UsingBestPractices/index.html?r=2722
Примечания
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations, and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
Any software source code reprinted in this document is furnished under a software license and may only be used or copied in accordance with the terms of that license.
Intel® и логотип Intel являются товарными знаками корпорации Intel в США и в других странах..
© Intel Corporation, 2012. Все права защищены.
* Другие наименования и торговые марки могут быть собственностью третьих лиц.