Файл: Критерии выбора средств разработки мобильных приложений (Android Studio).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 163

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

После выбора модели жизненного цикла необходимо перейти непосредственно к средствам разработки мобильных приложений – к выбору SDK.

2. Средства разработки мобильных приложений

Сейчас, наиболее популярными мобильными операционными системами, по результатам анализа Kantar Worldpanel ComTech, являются Android, занимающий 59,1% от общего числа пользователей, и iOS, занимающий 39,0%. В связи с этими данными, мы рассмотрим только те IDE, которые позволяют проводить разработку именно под эти операционные системы.

Android Studio

Android Studio является продуктом корпорации Google. Среда основана на IDE IntelliJ IDEA компании JetBrains, которая является официальным средством разработки приложений под систему Android. Текущей версией данной среды является Android Studio 3.3. Данная IDE доступна на всех современных популярных операционных системах - Windows, MacOS X и Linux. Основными языками разработки являются Java и более молодой Kotlin[4].

Рис. 4 – Интерфейс Android Studio

Для разработки интерфейса существует Layout Editor, позволяющий размещать элементы интерфейса простым “перетягиванием”, но, как правило, для интерфейсной части приложения, используются построение с помощью XML. Естественно, что в Android Studio для упрощения верстки интерфейса существуют шаблоны, позволяющие быстро использовать готовые решения для типичных задач.

Рис. 5 – интерфейс Layout Editor в Android Studio

Интерфейс данной IDE перегружен различными компонентами и элементами, вследствие чего каждому разработчику приходится первым этапом настроить его под себя. Интерфейс библиотек приложения имеет древообразную структуру и под него приходится отводить очень много пространства в общем интерфейсе, с целью читаемости элементов. Аналогичная ситуация и с окном отладки.

В Android Studio нет возможности подключения сторонних плагинов. Данная IDE крайне требовательно к технической составляющей ЭВМ и не оптимизировано, если брать для сравнения другие среды.

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


При всех недостатках, на данный момент, Android Studio признается разработчиками, как одна из самых удобных средств разработки продуктов под систему Android.

В основной функционал IDE входит[5]:

  • присутствие справочника команд и решений;
  • наличие встроенного эмулятора системы Android;
  • хоть и перегруженный, но интуитивно-понятный интерфейс;
  • отправка push-уведомлений средствами Android Studio при помощи облачных сервисов;
  • возможность удобной и быстрой локализации приложений;
  • маркировка кода;
  • возможности смены разрешения и размеров экрана, что очень актуально при работе с Android - девайсами;
  • наличие большого количества инструментов для повышения качества проекта;
  • наличие встроенных инструментов для работы с рекламой и монетизацией приложения;
  • отображение всех изменений, внесенных в проект, в режиме реального времени.

Как было сказано выше, Android Studio имеет большое количество встроенных инструментов, облегчающих работу[6]. Что же в них входит?

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

XCODE

Xcode - IDE для разработки под macOS X и iOS, разработанная и внедренная компанией Apple, позволяющая создавать приложения под их платформу. Сюда включаются не только компьютеры, планшеты и смартфоны, но и Apple TV. Первая версия была анонсирована в далеком 2001 году. Данное приложение распространяется компанией бесплатно. Xcode содержит в себе большую часть документации разработчиков от Apple. Текущая версия, используемая iOS и MacOS разработчиками - 10.1[7].

Рис. 6 – интерфейс XCODE

Основными преимуществами данной среды разработки являются:

  • Source Editor - инструмент, позволяющий удобно работать с кодом, включающий в себя подсветку синтаксиса, отображение ошибок и предупреждений, различной контекстно-зависимой информации, имеющий настраиваемые темы.
  • Asset Catalog - каталог картинок, позволяющий удобно управлять ресурсами приложения. Представляет из себя JSON-структуру и ее интерфейсное отображение.
  • Version Editor - редактор версий. Удобный встроенный в IDE инструмент, позволяющий работать с системой контроля версий.

Рис. 7 – Version Editor в XCODE

  • iPhone Simulator - симулятор iPhone и iPad. Включает в себя довольно широкую базу из различных моделей смартфонов и планшетов.
  • Interface Builder - редактор интерфейсов, позволяющий создавать простые интерфейсы приложения из стандартных компонент с переходами между экранами без написания кода.

Основными языками разработки под продукты компании Apple являются Objective-C, унаследованный от NextStep, и молодой Swift.

Основными инструментами XCODE являются[8]:

  • iOS Simulator - средство быстрого просмотра разрабатываемого продукта;
  • Dash - менеджер для созданных сниппетов и качественный справочник с документацией;
  • TextExpander - утилита для привязки блоков кода к сочетаниям клавиш;
  • TestFlight - утилита для передачи тестовых сборок тестировщикам и ограниченному кругу пользователей;
  • GDB - мощный отладчик кода.

Рис. 8 – интерфейс TestFlight

PhoneGap

PhoneGap был создан в 2009 году в Канаде, как open source IDE, которая может получить доступ к нативным функциям девайса из WebView. Целью проекта являлось обеспечение возможности написания мобильных приложений исключительно с помощью веб-технологий, таких как HTML5, CSS, JavaScript и т.п., но при этом сохранить возможность вызова нативного кода[9].

PhoneGap — это простой, но мощный API для того, чтобы легко вызывать машинный код из JavaScript. То есть разработчик может передавать любые данные из WebView на сам девайс. IDE дает возможность доступа к низкоуровневому API, при помощи плагинов. У разработчиков под PhoneGap есть возможность расширять плагины на нативной части.

Рис. 9 – интерфейс PhoneGap

PhoneGap Build — облачный сервис, с помощью которого можно скомпилировать HTML5 в готовое приложение без проблемы поддержки нативных SDK.

На любой платформе приложение, которое было написано в PhoneGap, будет выглядеть практически идентично, что, как правило, больше минус, чем плюс.

3. Критерии исследования

Выбор критериев

Рассмотрим критерии, которые являются основными при разработке мобильных приложений[10].

  1. Нативность. Данный критерий довольно важен. Обе платформы, что Android, что iOS, не стоят на месте и постоянно развиваются. Постоянно выходят новые API и, соответственно, нативные среды разработки, позволяющие работать с ними. Примером может послужить Metal 2 API у Apple, позволяющая работать с 3D графикой и дополненной реальностью (AR). Для кроссплатформенных IDE требуется время, чтобы их поддержать.
  2. Производительность. Тема производительности мобильных приложений является очень актуальной в наше время. Большинство крупных компаний осознают важность развития данного направления. Тем не менее вопрос практической реализации и оценки эффективности прилагаемых усилий далеко не так прост. Само по себе понятие оптимальной производительности для каждого отдельно взятого приложения или службы представляет собой довольно сложную задачу с размытыми условиями и выводом. Также, сейчас нет ни одного гарантированного способа вычислить финансовой эффект вложения инвестиций в данную область. Единственное, на что можно полагаться при развитии данной области – это здравый смысл, применяемый в каждом конкретном случае[11]. Как правило, современные IDE предоставляют скудную информацию о производительности приложения, как представлено на Рис. 10.

Рис. 10 – пример информации о производительности мобильного приложения

  1. Кроссплатформенность. Способность программного обеспечения работать с двумя или несколькими операционными системами или платформами важна для оперативной, быстрой разработки ПО. Она, как правило, обеспечивается при помощи использования высокоуровневых языков программирования, сред разработки, предназначенных именно для этого.
  2. Скорость разработки. Не самый очевидный для анализа параметр. Скорость разработки зависит не только от организации процесса разработки, как было описано выше, но и от сложности и специфики приложения. Данный критерий взаимосвязан и со следующими двумя пунктами.
  3. Разнообразие возможностей. Интересна обратная последовательность - чем меньше платформ поддерживает средство разработки, тем большее количество возможностей оно может поддержать. Очевидно, что у нативных IDE, предназначенных для разработки только под одну платформу, функционал будет гораздо выше и шире.
  4. Средства отладки. Средства отладки у приведенных средств довольно сильно различаются. Данный критерий важен по причине итогового результата, т.е. его качества и проработанности. Часто имеют место различные утечки памяти, энергозатратность (нельзя забывать, что мы говорим о мобильных устройствах) и другие проблемы, связанные с разработкой. Умение отладчика замечать и регистрировать данные проблемы является огромным плюсом.
  5. Документированность. Не самый жизненно необходимый критерий, но тем не менее довольно важный для работы разработчиков. Оффлайн документация, ссылки на документы прямо из кода, удобство использования, все это хоть и косвенно, но влияет на разработку.
  6. Удобство интерфейса. Критерий, важный разработчику. Нельзя недооценивать интуитивно-понятный интерфейс. Комфорт и удобство разработчика в процессе создания приложения прямо пропорционально качеству и скорости исполнения очередного этапа разработки. К сожалению, не каждая среда может похвастаться лаконичностью и удобством.
  7. Стоимость. Имеется ввиду стоимость IDE.

4. Анализ продуктов

Нативность

Android Studio, как и XCODE были разработаны крупными корпорациями специально под свои платформы. В первом случае – это Android, что видно из названия, во втором – iOS, macOS, watchOS, которые являются продуктами компании Apple. Таким образом они являются средами разработок, предназначенными ТОЛЬКО под нативную разработку.


Что касается PhoneGap, он поддерживает практически все ныне существующие мобильные операционные системы. Но, при этом для создания сборок под iOS ему необходим iOS SDK, который идет только в комплекте с XCODE.

Таким образом, в данном критерии на первом месте XCODE, как наиболее нативная среда разработки, на последнем PhoneGap.

Производительность

Безусловным лидером и тут является XCODE. Причина такого лидерства – отсутствие огромного количества различных устройств различных производителей на рынке вкупе с проработанностью и «заточенностью» под аппаратную часть.

Следом за ним идет Android Studio, так как нативные элементы, заточенные под определенную платформу, будут работать эффективнее и производительнее.

PhoneGap проигрывает по производительности, за счет того, что весь интерфейс помещается в webView и при больших объемах данных этот интерфейс заметно подтормаживает и зависает. Еще одним его минусом является не очень качественное освобождение данных, за счет чего страдает и стабильность приложения.

Кроссплатформенность

В случае, если необходимо простое приложение под несколько платформ, в условиях ограниченного финансирования и (или) небольших сроков, то PhoneGap с семью(!) платформами является удобным средством для написания приложений. Он не позволит сэкономить на крупных проектах с огромной структурой данных, но для несложных приложений с минимальной работой с системным функционалом (камерой, NFC и подобным) он более, чем подходит.

К сожалению, в XCODE и Android Studio не может идти и речи о кроссплатформенности.

Рис. 11 – основные поддерживаемые платформы в PhoneGap

Скорость разработки

Как и написано выше, здесь не все так очевидно. Изначально может показаться, что в порядке убывания данного критерия это выглядит вот так: PhoneGap, Android Studio, XCODE. Тем не менее, это верно лишь для простых проектов. При увеличении сложности приложения картина меняется прямо пропорционально и для них все выходит совсем наоборот: XCODE, Android Studio, PhoneGap.

Почему же Android Studio идет за XCODE? Android Studio – довольно молодая и развивающаяся среда разработки. XCODE имеет на своем борту гораздо больше функционала, увеличивающего скорость разработки[12].

Например, у Android Studio не так давно появился Navigation Editor - средство позволяющее создавать интерфейс, методом перетягивания контролов на рабочий экран, и устанавливать переходы между экранами. В данной IDE это подходит скорее для создания прототипа, нежели серьезного приложения. В XCODE аналог данной системе, Interface Builder со Storyboard, появился еще в 2013 году и сейчас имеет очень богатый функционал, не требующий программной корректировки при дальнейшей разработке[13]. Он изображен ниже, на Рис. 12.