Опубликован: 06.05.2014 | Доступ: свободный | Студентов: 2619 / 601 | Длительность: 10:33:00
Лекция 4:

Принципы переноса ранее разработанных приложений на смартфон

Обзор программных средств. Инструменты Intel. Intel XDK

Существуют специальные программные средства (среды программирования), облегчающие портирование приложений на разные платформы. Рассмотрим некоторые из них, позволяющие получать приложения для Android.

Marmalade Juice – инструмент кроссплатформенной разработки

Marmalade SDK — кроссплатформенное SDK от Ideaworks3D Limited. Представляет собой набор библиотек, образцов, инструментов и документации, необходимых для разработки, тестирования и развертывания приложений для мобильных устройств.

Основополагающей концепцией Marmalade SDK является однократное написание программы и компилирование ее на все поддерживаемые платформы, без необходимости программирования на различных языках программирования и использования различных API для каждой платформы.

Процесс разработки в Marmalade чрезвычайно прост. Код пишется на С++ или с использованием HTML5, может содержать скриптовые вставки на Lua. При сборке проекта необходимо указать платформы, для которых она осуществляется, и все остальное среда делает автоматически.

Многие игры, прочно обосновавшиеся в топах магазинов приложений, от казуальных "Cut the Rope" и "Plants vs. Zombies" до крутых "Call of Duty" и "Need for Speed" были разработаны с использованием Marmalade.

Marmalade поддерживает различные мобильные платформы:

  • iOS версии 4.3 и выше.
  • Android версии 2.1 и выше (в том числе х86).
  • Windows Phone 8.
  • Tizen 2.2 и др.

А так же десктопные платформы:

  • Windows XP и выше.
  • OSX 10.6 и выше.

Для использования необходимо приобрести лицензию. Есть несколько вариантов лицензии, самая дешевая 15$ за месяц использования (бесплатный пробный период 30 дней). Marmalade SDK выгодно использовать при профессиональной разработке сразу под несколько платформ.

Android NDK

Android NDK – это набор инструментов, позволяющих реализовать части вашего приложения с использованием языков C и C + +. Он может пригодиться, если вы хотите повторно использовать существующие библиотеки кода, написанные на этих языках.

NDK — великолепный инструмент, позволяющий сочетать мощь кода x86 с графическим интерфейсом приложения-оболочки Android. Этот инструмент можно использовать для повышения производительности некоторых приложений, но необходимо соблюдать меры предосторожности, поскольку желаемого результата можно добиться не всегда.

Основная цель NDK заключается в предоставлении разработчикам следующих возможностей:

  • Компиляция встроенной библиотеки C/C++ для использования (при вызове кодом Java) в пакете Android.
  • Перекомпиляция встроенных библиотек ARM для x86 (микроархитектура Intel® Atom™) с возможностью портирования при необходимости.

Перед использованием NDK необходимо взвесить преимущества и недостатки его использования. Использование библиотек С и С++ обычно не дает заметного улучшения производительности, однако сложность разработки всегда увеличивается в разы. Не стоит использовать Android NDK только потому, что вы хорошо знаете С/С++ и предпочитаете программировать на этих языках.

NDK не следует использовать для портирования приложений, требующих выполнения большого количества сложных операций, таких как обработка сигналов, моделирование физических процессов и т.п. В таких случаях будет проще использовать стандартные средства и переписать код с использованием соответствующих библиотек, доступных для Android SDK.

Intel® C++ Compiler для Android

Intel® C++ Compiler для Android представляет собой компилятор для создания приложений C и C + +, ориентированные на устройства Android на базе Intel Atom. Он может быть использован совместно с набором библиотек и инструментов Android NDK.

Возможности Intel® C++ Compiler для Android:

  • Разработка приложений для Android мобильных устройств на базе процессоров Intel.
  • Совместимость с Android NDK.
  • Совместимость с GNU C++ в Android NDK для поддержки нескольких архитектур.
  • Разработка на Windows, OS X или Linux.
  • Поддержка Eclipse и командной строки.
  • Простая и быстрая загрузка и установка.
  • Поддержка Android Jelly Bean и Android KitKat.

Приложения с использованием Intel® C++ Compiler можно разрабатывать одним из двух способов:

  • Подключить инструменты Intel® C++ Compiler к Android NDK.
  • Использовать Intel® C++ Compiler в качестве автономного компилятора.

Intel® Integrated Native Developer Experience beta

Intel® Integrated Native Developer Experience (Intel® INDE) – это бета-версия кросс-платформенного комплекта разработчика от Intel для быстрого и легкого создания приложений для Android и Windows. INDE предоставляет полный и последовательный набор C++/Java инструментов, библиотек и примеров для настройки среды, создания кода, компиляции, отладки и анализа на устройства на базе процессоров Intel® и некоторых возможностей Android-устройств на базе ARM. Ранее была известна под именем Beacon Mountain.

Возможности Intel® INDE:

  • Медиа: легко добавить видео и аудио расширения, которые работают на актуальных версиях популярных смартфонов и планшетов. Intel® INDE Media Pack содержит примеры приложений, позволяющих:
    • Работать с камерой и осуществлять захват содержимого экрана.
    • Редактировать видео.
    • Работать с потоковым видео.
    • Поддерживать устройства Android на базе архитектур Intel и ARM.
  • Потоки: эффективная реализация параллелизма с помощью Intel® Threading Building Blocks (Intel® TBB). Intel® TBB является великолепной библиотекой шаблонов C++ и предназначена для разработки высокопроизводительных и масштабируемых приложений. Приложения, использующие параллелизм, могут работать на устройствах Android с версией не меньше 4.3 и клиентских версиях Microsoft Windows 7-8.1.
  • Компиляция: используется Intel® C++ Compiler для Android. Компилятор исходного кода совместим с GCC, что позволяет легко использовать их совместно. Некоторые подробности про работу с компилятором приведены выше.
  • Построение кода: максимальная производительность графики достигается посредством использования Compute Code Builder. Этот инструмент помогает создавать, компилировать, отлаживать и анализировать такие API как Google Renderscript и OpenCL™. Compute Code Builder можно использовать в автономном режиме или интегрировать с Microsoft Visual Studio или Eclipse. Разработанные таким образом приложения могут работать на устройствах Android с версией не меньше 4.3 и клиентских версиях Microsoft Windows 7-8.1.
  • Анализ и отладка: эти инструменты можно использовать:
    • В режиме реального времени для анализа исполнения кода, использования CPU/GPU, выполнения различных задач.
    • Для анализа и отладки захваченных кадров.
    В пакет входят the Intel® Graphics Performance Analyzer (Intel® GPA) System Analyzer, Intel® GPA Platform Analyzer, Intel® GPA Frame Analyzer и Intel® Frame Debugger. Средства доступны для Microsoft Windows 7-8.1 и Android 4.4.
  • Общие настройки среды: можно быстро настроить среду под себя, потратив на это не часы, а минуты. Можно выбрать часть инструментов и установить только их. Может работать с Google Android SDK (включая Eclipse), плагином Microsoft Visual Studio, Android NDK и другими средствами.

Intel XDK

Intel XDK поддерживает разработку кроссплатформенных мобильных приложений, поэтому при переносе приложения в эту среду можно будет его использовать не только на платформе Android. Достаточно всего лишь пересобрать приложение для других платформ, и оно будет работать.

Следует учитывать, что при разработке изначально кроссплатформенного приложения не следует использовать возможности и соглашения, характерные только для одной платформы. Нужно избегать "фишек" конкретных мобильных операционных систем, при этом придерживаясь общих рекомендаций по разработке интерфейсов мобильных приложений.

Среда Intel XDK позволяет разрабатывать приложения, используя следующие технологии:

  • Язык гипертекстовой разметки HTML5.
  • Каскадные таблицы стилей CSS3.
  • Встраиваемый язык программирования JavaScript.

Более полный обзор среды приведен в первой части данного курса. В лабораторной работе рассмотрены некоторые практические аспекты работы с Intel XDK.