Северный (Арктический) федеральный университет им. М.В. Ломоносова
Опубликован: 10.04.2014 | Доступ: свободный | Студентов: 6837 / 1233 | Длительность: 14:18:00
Специальности: Программист
Лекция 1:

Введение в разработку мобильных приложений

1.3 Обзор сред программирования

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

К обязательным инструментам относится Android SDK - набор средств программирования, который содержит инструменты, необходимые для создания, компиляции и сборки мобильного приложения.

Рассмотрим кратко наиболее важные инструменты, входящие в состав Android SDK:

  • SDK Manager - инструмент, позволяющий загрузить компоненты Android SDK. Показывает пакеты Android SDK и их статус: установлен (Installed), не установлен (Not Installed), доступны обновления (Update available).

    Android SDK Manager

    увеличить изображение
    Рис. 1.2. Android SDK Manager
  • Debug Monitor - самостоятельный инструмент, предоставляющий графический интерфейс к нескольким инструментам, предназначенным для анализа и отладки Android приложений:
    • DDMS (Dalvik Debug Monitor Server) предоставляет услуги переброса портов, захват экрана устройства, информацию о потоках и динамической памяти устройства, вывод информации о действиях Android в реальном времени (logcat) и многое другое.
    • Hierarchy Viewer позволяет отлаживать и оптимизировать пользовательский интерфейс Android приложения.
    • Tracer for OpenGL ES - инструмент для анализа OpenGL|ES кода, используемого в мобильном приложении, позволяет захватывать команды OpenGL|ES и демонстрировать их по отдельным кадрам, что помогает понять как исполняются графические команды.

    Окно инструмента Monitor

    увеличить изображение
    Рис. 1.3. Окно инструмента Monitor
  • Android Emulator (emulator) - виртуальное мобильное устройство, которое создается и работает на компьютере разработчика, используется для разработки и тестирования мобильных приложений без привлечения реальных устройств.

  • AVD Manager - предоставляет графический интерфейс для создания виртуальных Android устройств (AVDs), предусмотренных Android Emulator, и управления ими.

    (В ЛР№1 подробно рассматривается создание и использование виртуального устройства).

  • Android Debug Bridge (adb) - гибкий инструмент, позволяющий управлять состоянием эмулятора или реального Android устройства, подключенного к компьютеру. Также может использоваться для установки Android приложения (.apk файл) на реальное устройство.

Мы рассмотрели основные инструменты, входящие в состав Android SDK, разумеется, не все и недостаточно подробно. Для более серьезного изучения инструментов имеет смысл обратиться к сайту разработчиков (http://developer.android.com/tools/help/index.html). Для разработки мобильных приложений под Android уверенного владения инструментами из SDK вполне достаточно. Если же возникают какие-то вопросы, дополнительные инструкции по созданию проектов, компиляции, запуску из командной строки содержатся в руководстве от Google (http://developer.android.com/training/basics/firstapp/index.html).

В современных условиях разработка ПО в большинстве случаев ведется с использованием интегрированных сред разработки (IDE). IDE имеют несомненные достоинства: процесс компиляции, сборки и запуска приложения обычно автоматизирован, в связи с чем для начинающего разработчика создать свое первое приложение труда не составляет. Но чтобы заниматься разработкой всерьез, необходимо потратить силы и время на изучение возможностей самой среды. Рассмотрим IDE, пригодные для разработки под Android1Разумеется, обзор не претендует на полноту и скорей всего найдутся не охваченные им инструменты (а то и появятся новые), но самые популярные на конец 2013 года будут рассмотрены..

Для начала поговорим о двух средах разработки, которые рекомендует Google: Android IDE (ADT) и Android Studio.

Android IDE - среда разработки под Android, основанная на Eclipse. Предоставляет интегрированные инструменты для разработки, сборки и отладки мобильных приложений. В данном курсе Android IDE выбрана в качестве основной среды разработки. Возможности этой среды более подробно рассмотрены в первой лабораторной работе. Также там даны рекомендации по установке и настройке среды, созданию и запуску первого приложения как на эмуляторе, так и на реальном устройстве.

Android Studio - среда разработки под Android, основанная на IntelliJ IDEA. Подобно Android IDE, она предоставляет интегрированные инструменты для разработки и отладки. Дополнительно ко всем возможностям, ожидаемым от IntelliJ, в Android Studio реализованы:

  • поддержка сборки приложения, основанной на Gradle;
  • специфичный для Android рефакторинг и быстрое исправление дефектов;
  • lint инструменты для поиска проблем с производительностью, с юзабилити, с совместимостью версий и других;
  • возможности ProGuard (утилита для сокращения, оптимизации и обфускации кода) и подписи приложений;
  • основанные на шаблонах мастера для создания общих Android конструкций и компонентов;
  • WYSIWYG редактор, работающий на многих размерах экранов и разрешений, окно предварительного просмотра, показывающее запущенное приложение сразу на нескольких устройствах и в реальном времени;
  • встроенная поддержка облачной платформы Google.

Загрузить последнюю версию Android Studio, а также получить рекомендации по установке, настройке и началу работы можно тут: http://developer.android.com/sdk/installing/studio.html.

Среда разработки Android Studio

увеличить изображение
Рис. 1.4. Среда разработки Android Studio

Перейдем к рассмотрению других инструментов, пригодных для разработки мобильных приложений под Android. Начнем с инструментов от Intel - Intel XDK и Intel Beacon Mountain.

Intel XDK позволяет легко разрабатывать кроссплатформенные мобильные приложения; включает в себя инструменты для создания, отладки и сборки ПО, а также эмулятор устройств; поддерживает разработку для Android, Apple iOS, Microsoft Windows 8, Tizen; поддерживает языки разработки: HTML5 и JavaScript.

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

Intel Beacon Mountain - среда разработки, позволяющая создавать приложения для устройств, работающих под управлением ОС Android. Предоставляет инструменты необходимые для проектирования, разработки, отладки и оптимизации приложений под Android. Освобождает разработчика от необходимости поддерживать систему разработки в актуальном состоянии, следит за обновлениями и добавляет их в среду разработки по мере появления. Поддерживает разработку для целевых платформ на основе процессоров Intel Atom и ARM.

Beacon Mountain построена на основе Android IDE (Eclipse, Android ADT, Android SDK), для более серьезной разработки и оптимизации добавлены следующие инструменты Intel:

  • Intel* Hardware Accelerated Execution Manager (Intel* HAXM) - аппаратно поддерживаемый процессор виртуализации, использующий технологию виртуализации Intel* (Intel* VT) для ускорения работы эмулятора в среде разработки.
  • Intel* Graphics Performance Analyzers (Intel* GPA) System Analyzer поддерживает мобильные устройства с процессором Intel Atom под управлением ОС Android. Позволяет разработчикам оптимизировать загруженность системы при использовании процедур OpenGL, предоставляя возможность получать множество системных метрик в реальном времени, отображающих загруженность CPU, GPU и OpenGL ES API. Разработчик может запустить несколько графических экспериментов для выявления узких мест в обработке графики.
  • Intel* Integrated Performance Primitives (Intel* IPP) Preview - библиотека оптимизированной обработки данных и изображений, поддерживающая мобильные устройства с платформой Intel под управлением ОС Android. Preview версия является частью полной версии Intel IPP, которая тоже поддерживает ОС Android.
  • Intel* Threading Building Blocks (Intel* TBB) - широко используемая, признанная библиотека шаблонов С++ для создания масштабируемых приложений и увеличения производительности. Поддерживает мобильные устройства с платформой Intel под управлением Android. Проверенные алгоритмы позволяют разработчикам эффективно распараллелить С++ мобильные приложения, что повышает производительность при снижении энергетических затрат.

Загрузить Intel Beacon Mountain можно по ссылке http://software.intel.com/ru-ru/vcsource/tools/beaconmountain

Страница поддержки Intel* Beacon Mountain

увеличить изображение
Рис. 1.5. Страница поддержки Intel* Beacon Mountain

Нельзя обойти вниманием инструментарий Marmalade SDK.

Marmalade SDK - кроссплатформенное SDK от Ideaworks3D Limited. Представляет собой набор библиотек, образцов, инструментов и документации, необходимых для разработки, тестирования и развертывания приложений для мобильных устройств. Используется, в основном, для разработки игр. Многие получившие признание игры, такие как Cut the Rope и Plants vs. Zombies, были разработаны с использованием этого программного средства. К сожалению, Marmalade SDK представляет собой проприетарное программное обеспечение (самая дешевая лицензия $15 в месяц) и не может быть рекомендована в данном учебном курсе, но читатель может самостоятельно попробовать бесплатную 30-дневную версию, доступную по ссылке https://www.madewithmarmalade.com/free-trial.

Нельзя не сказать об отечественных разработках. Например, компания 1С идет в ногу со временем, версия платформы 1С 8.3 позволяет разрабатывать мобильные приложения. Программный продукт "1С:Предприятие 8. Расширение для карманных компьютеров" обеспечивает возможность работы с данными информационных баз 1С:Предприятия 8 на мобильных устройствах (карманных компьютерах, коммуникаторах, терминалах сбора данных), а также на персональных компьютерах (в том числе ноутбуках), не имеющих прямого доступа к информационным базам 1С:Предприятия 8.

Редактор мобильных приложений 1С

увеличить изображение
Рис. 1.6. Редактор мобильных приложений 1С

Разумеется, данный программный продукт имеет очень узкую сферу применения, однако в некоторых случаях может являться наиболее удачным решением. Подробности по ссылке http://v8.1c.ru/overview/Term_000000401.htm#1

Марат Нуриджанян
Марат Нуриджанян

Пример: Скачать среду можно с сайта для разработчиков Android (http://developer.android.com/sdk/index.html).

Там скачать можно только Android Studio

Владимир Каункин
Владимир Каункин

В самостоятельной работе 2 в примере решения задания некорректно загадывается число (в двух местах), выбирая случайное целое число из диапазона [0, 99] вместо [1, 100], как того требует условие. Кроме того, загадывание числа всё таки лучше вынести в отдельный метод, как мне кажется.