Файл: Критерии выбора средств разработки мобильных приложений (Мобильные устройства и их классификация).pdf
Добавлен: 01.04.2023
Просмотров: 407
Скачиваний: 1
СОДЕРЖАНИЕ
1. Мобильные устройства и мобильные приложения
1.1. Мобильные устройства и их классификация
1.2. Мобильные приложения и их типы
2. Обзор средств для разработки мобильных приложений
2.1. Средства для разработки Android приложений
2.2. Средства для разработки iOS приложений
2. 3. Средства для разработки Windows Phone приложений
Eclipse - это не только инструмент, но и, что более важно, набор технологий, изменивший рынок средств разработки приложений. Технология Eclipse сегодня используется во многих известных средствах разработки (в том числе и в рассматриваемых в данном обзоре) в качестве основы для создания среды, поскольку фактически Eclipse представляет собой платформу, в которую можно добавлять расширения различных производителей [6].
Развитием Eclipse управляет некоммерческая организация Eclipse Foundation. Ее целью является создание бесплатной платформы, которую производители ПО могли бы использовать для разработки коммерческих продуктов, а также содействие сообществу разработчиков в создании расширений и инструментария для этой платформы. Сегодня данная организация включает около 200 компаний - производителей ПО, а официальный каталог расширений Eclipse насчитывает около тысячи продуктов.
Платформа Eclipse (Рис. 6) очень популярна у разработчиков Java-приложений и программного обеспечения с открытым кодом, а поскольку сейчас она поддерживает и другие языки программирования, следует ожидать еще большего роста ее популярности. Сама идея создания платформы для встраивания коммерческих расширений оказалась настолько привлекательной для производителей и коммерческого и некоммерческого ПО, что сегодня можо найти такие расширения практически на все случаи жизни, а потому можно сказать, что возможности Eclipse как инструмента огромны — им поддерживаются и все современные веб-технологии, и параллельное программирование, и grid-вычисления [4].
Как уже было сказано, платформа и среда Eclipse сами по себе являются продуктами с открытым кодом и доступны бесплатно, тогда как расширения Eclipse могут быть и бесплатными и коммерческими. Ее техническая поддержка осуществляется сообществом разработчиков и производителями коммерческого ПО.
Рисунок 6 - Среда разработки Eclipse
В качестве инструмента сборки проекта выступает Ant. Данное IDE легко настраивается, интегрируется с необходимыми для разработки компонентами, такими как SDK Android, NDK (Native Developer Kit) и Java машиной. После успешной интеграции создать свой первый проект не составит труда. Уже после выбора нового проекта под Android, автоматически создается пустой “Hello World” проект, который можно запустить на реальном девайсе. В качестве языка используется Java. Данная IDE очень проста в работе, поэтому новичкам в разработке советуют именно ее [3].
Intellij IDEA
Более серьезным инструментом является Intellij IDEA (Рис. 7).
Не зря продукты JetBrains называют «Умная IDE». Казалось бы, такие мелочи как автоматическое закрытие скобок после условия, групповые перезаписи методов и автоматическое создание шаблонных классов (Interface, Singleton) на первый взгляд не очень важны. Тем не менее, по статистике за год на одних только операциях ‘rename’ экономится порядка 120 часов рабочего времени! Самая главная дилемма программистов - «как назвать переменную» - в данной ГОЕ решена. К примеру, если у вас есть базовый класс “Item”, и вы создаете из данных элементов массив, то среда разработки автоматически предложит назвать их “Items”. Вроде бы мелочь, а приятно.
Рисунок 7 - Среда разработки Intellij IDEA
При подставлении цвета из файла ресурсов он отображается слева (Рис.8).
Рисунок 8 - Отображение цвета из файла ресурсов в среде разработки Intellij IDЕА
Немаловажной является возможность изменения темы оформления. При длительной работе (8 часов в день) светлый фон намного сильнее утомляет глаз, чем темно-серый.
Стоит заметить, что данный проект не является открытым, однако команда разработчиков практически еженедельно выпускает обновления с исправлением ошибок.
Также стоит упомянуть и важный элемент в разработке - графический редактор интерфейса. Возможность создавать интерфейс путем Drug-and-Drop намного упрощает задачу и ускоряет ее выполнение. Результат можно сразу увидеть на эмулируемом устройстве [2].
Android Studio
В заключении следует упомянуть среду разработки Android Studio (Рис. 9). Это результат сотрудничества JetBrains и Google, ориентированный на разработку приложений Android.
По большому счету, это та же самая IDEA, за исключением того, что в качестве сборщика используется Gradle, а не Ant. Все изменения которые вносятся в Android Studio через некоторое время появляются в IDEA, и наоборот. Google рекомендует именно Android Studio для разработки приложений [9].
Рисунок 9 - Среда разработки Android Studio
2.2. Средства для разработки iOS приложений
XCode
Это базовая IDE для разработки приложений для iOS, так что не имеет смысла приводить ее аналоги (Рис. 10).
Рисунок 10 - Среда разработки XCode
Зачастую сторонние IDE заимствуют некоторые функции из XCode. К примеру, в проекте AppCode (продукт Jet Brains) нет визуального редактора интерфейсов. Разработчики из этой компании советуют изначально создавать интерфейсы в XCode, однако, никто не мешает пользоваться другими «умными средствами» Jet Brains. В отличии от открытой ОС Android, iOS накладывает своеобразную «монополию» на выбор средств для разработчика. Тем не менее, данная IDE по праву занимает первое место среди инструментов для разработки приложений. Это один из немногих инструментов, с которым хочется работать. XCode использует единственное окно рабочего пространства - workplace window, которое содержит большую часть необходимых для работы данных. С Xcode можно легко перейти от написания кода к его отладке и разработке пользовательского интерфейса, и все это в пределах одного рабочего окна [10]. SDK iOS постоянно расширяет комплект инструментов XCode, добавляя компиляторы и фреймворки, необходимые для работы с ОС. В качестве языка для разработки выступает Objective-C - объектно-ориентированный язык для разработки всех iOS приложений.
2. 3. Средства для разработки Windows Phone приложений
Visual Studio
IDE для разработки приложений на Windows Phone. Дополнив ее плагином Windows Phone SDK, разработчик получает готовый инструмент, содержащий все необходимое для разработки, (Рис. 11)
Рисунок 11 - Среда разработки Visual Studio
Последняя версия инструментария (на момент написания этой статьи) доступна в версии Windows Phone SDK 7.1 Release Candidate в лицензии «Go Live» с возможностью разрабатывать свои приложения и публиковать их в Windows Phone Marketplace. Средства разработки Visual Studio предоставляют разработчику полноценные возможности по отладке продукта на устройстве и эмуляторе (такие же, как и при разработке приложений под настольную версию Windows). Редактором интерфейса в данной IDE выступает Expression Blend - интерактивный визуальный дизайнер для XAML, технологии описания интерфейса для приложений Silverlight и Windows Presentation Foundation(WPF). Visaul Studio - это отличное средство разработки, которое позволяет легко манипулировать слоями, анимацией, стилями и шаблонами. Это также и базовое средство разработки на XAML. Сама по себе программа Expression Blend платная. Однако, существует специальная версия - Expression Blend 4 for Windows Phone [4]. Она используется для создания дизайна приложений под Windows Phone и доступна для разработчиков бесплатно - программа закачивается и устанавливается в процессе установки Windows Phone SDK. Языком для разработки является С#.
Выводы по Главе 2
Во второй главе, определены средства разработки мобильных приложений. Рассмотрены средства и среды разработки приложений iOS, Android и Windows Phone.
3. Критерии выбора средств разработки мобильных приложений на платформах iOS, Android и Windows Phone
3.1. Выбор инструментов разработки
При выборе инструментальных средств разработки мобильных приложений необходимо руководствоваться многими факторами: совместимостью мобильного приложения, его типом; выбором платформы и программных средств; наличием аналогичных продуктов и их количеством, а также качеством исполнения; скоростью и удобством разработки; возможностью монетизации приложения за счет интеграции с рекламными площадками или системой внутренних покупок и т.д.
Отметим, что на сегодняшний день существует три основных агрегатора мобильных приложений: Google Play, App Store и Windows Store. Таким образом, выбор инструментальных средств реализации мобильного приложения находится в прямой зависимости от целевой платформы. Так, например, если приложение планируется создать для системы iOS, то необходимо использовать Objective-C или Java ME; в случае XML-формата — для целевой аудитории пользователей Android-устройств. При ориентации приложения на платформу Windows Store можно говорить о значительных преимуществах в совместимости: как на смартфонах и на планшетах, так и на ПК, поскольку большая целевая аудитория обеспечивает больше скачиваний и установок [11].
Для разработки приложений, а также в расширении возможностей готовых приложений программисты используют комплект средств разработки, который предоставляет доступ к соответствующему программному обеспечению. SDK (Software Development Kit) — набор средств разработки, в который входят библиотеки, примеры, исходные коды, инструментарий для отладки). SDK оптимизирует процесс создания приложений путем решения типовых задач.
Инструментарии каждой из SDK различаются в зависимости от вида приложений. Для Android приложения разрабатываются на Java Platform. Технологии Micro Edition (Java ME) или Java 2 Micro Edition (J2ME) применяются для устройств, ограниченных в ресурсах, например планшетов, карманных персональных компьютеров и смартфонов. Выбор разработчиков Java ME является популярным, он функционален и может применяться в программировании простых устройств и разработке корпоративных приложений. Однако широкие возможности мобильных платформ предъявляют разработчику повышенные требования к знаниям языка.
SDK для iOS (iPhone и iPad) применяют объектно ориентированный язык программирования Objective-C, являющийся надстройкой над С, что значительно упрощает разработку приложения и не требует дополнительных затрат на изучение языка от программистов. Objective-C используется, как правило, на мобильных устройствах от Apple. Компилируемый объектно ориентированный язык программирования Objective-C поддерживает синтаксис, который позволяет более компактно решить ту же задачу, чем более многословный Java ME. Считается, что процесс разработки под Android занимает, при прочих равных условиях, на 25% больше времени, чем при работе для iOS [1].
При разработке приложений для iOS необходимо использовать компьютер под управлением Mac OS X, а также для тестирования созданных приложений на реальных устройствах требуется участие в программе для разработчиков от Apple, ежегодная стоимость которой составляет 99 долл. США, что приводит к увеличению стоимости работ. В то же время инструменты для разработки под Android доступны на всех популярных ОС (Windows, Linux, Mac), а тестирование приложения возможно на любом поддерживаемом устройстве без каких-либо ограничений.
К основным преимуществам нативной разработки, опирающейся на свойства и параметры конкретной платформы, относят следующие:
• нативные приложения всегда точно соответствуют всем возможностям мобильной операционной системы;
• скомпилированный код проекта оптимален для родной платформы, нет дополнительных прослоек между кодом приложения и исполняемым файлом;
• приложение получает полную аппаратную поддержку устройства и использует многопоточность для сложных задач при высокой производительности;
• интерфейс, высокий уровень юзабилити. Нативные приложения реализуют архитектурные и дизайнерские решения в привычном расположении управляющих элементов [5].
К недостаткам нативной разработки относят следующие:
• нативные приложения рассчитаны на параметры и свойства конкретной платформы (мобильной ОС, связанной с нею экосистемы и технические характеристики самого мобильного устройства);
• требуются поддержка и обновление для каждой платформы (iOS, Android и т.п.);
• необходима высокая компетентность специалистов в области Java или Objective-C, поскольку специфика разработки требует высокого порога при изучении технологии. Кросс-платформенная разработка приложения как веб-сервиса или мобильного сайта - самый распространенный вид мобильных приложений. Любой смартфон в состоянии открыть сайт, поэтому проблем с совместимостью не бывает [9].