На сегодняшний день смартфоны стали незаменимыми гаджетами для каждого человека. Сейчас намного чаще встречаются люди без персонального компьютера, но с несколькими мобильными устройствами. Согласно данным исследовательской компании Gartner в 2016 г. по всему миру было продано почти 1,5 млрд смартфонов против 1,4 млрд годом ранее, в 2017 г. более 1536 млн смартфонов. В связи с этим и число мобильных приложений с каждым днем стремительно растет, что в свою очередь ведет к появлению новых средств разработки мобильных приложений и модификаций уже существующих. На данный момент в мире существует большое количество интегрированных средств разработки программного обеспечения.
Цель исследования: определение и описание наиболее известных и современных средств создания мобильных приложений и разработка в качестве примера мобильного приложения.
В процессе исследования современных средств разработки мобильных приложений использовались методы логического и сравнительного анализа.
В данной статье были описаны наиболее современные и популярные из них.
PhoneGap – это бесплатная программа с открытым исходным кодом, которая может работать с аппаратными функциями устройства, включая акселерометр, GPS местоположение, камеру, звук и многие другие подобные элементы [1]. Среда этого инструмента интегрирована с большим количеством библиотек, которые помогают улучшить функциональность приложения и тем самым помогают сэкономить много времени.
Этот универсальный инструмент уникален благодаря присущей ему гибкости, поэтому он помогает разработчикам создавать различные типы мобильных приложений при значительно меньших затраченных на них усилиях. Кроме того, разработчик, работающий с этим инструментом, может расширять функциональность и удобство использования мобильного приложения с помощью различных подключаемых архитектур по мере необходимости.
Инструмент усилен мощной «бэкэнд-системой», а это означает, что мобильные приложения, разработанные с помощью PhoneGap, обладают высокой скоростью исполнения. У данного инструмента есть определенные преимущества, которые делают его привлекательным для разработчиков, но наиболее полезная особенность состоит в том, что при разработке вы сразу получите приложение, которое работает на всех мобильных устройствах. При помощи PhoneGap Build можно делать сборки для iOS, Android и Windows Phone одновременно, избегая необходимости устанавливать какие-либо инструменты. Но главное, при помощи этого сервиса можно делать сборки для iOS в облаке без наличия Mac. Также, разработчики могут создавать приложения для устройств Symbian, Palm, BlackBerry, iTouch и iPad [2].
Фреймворк PhoneGap стал популярным благодаря тому, что позволяет создавать мобильные приложения, используя JavaScript, HTML и CSS3.
Rhodes – фреймворк, основанный на языке программирования Ruby, формирует основу для RhoMobile. Rhodes позволяет разработчику создавать кроссплатформенные нативные приложения, которые будут совместимы с огромным диапазоном операционных систем и смартфонов.
По своей основной анатомии или архитектуре RhoMobile очень похож на PhoneGap. Главной его особенностью является использование Ruby и MVC архитектуры приложений [3]. Созданный вами код на языке Ruby интерпретируется в нативный код устройства.
У данного фреймворка есть готовый платный «бэкэнд». Это не реляционная база данных «ключ-значение», для которой имеются внедренные в фреймворк средства взаимосвязи [4]. Есть платный сервер, предоставляющий легкую интеграцию вашего приложения с существующими. Есть бесплатное средство для создания приложений в облаке, решающих небольшие задачи. Поэтому нет необходимости устанавливать и настраивать на компьютере – все хранится и компилируется в облаке.
Appcelerator является открытым ресурсом фреймворков мобильных приложений. Данная платформа значительно ускоряет процесс разработки, поскольку позволяет разработчикам создавать приложения с наименьшим количеством строк кода. Appcelerator является платформой разработки Titanium, которая помогает создавать собственные приложения для мобильных телефонов, планшетов и даже персональных компьютеров [5]. Инструмент совместим с такими языками, как JavaScript, HTML, PHP, Ruby и Python.
Приложения, созданные с помощью данного инструмента, могут быть полностью аппаратными, предлагая возможность хранить все данные на устройстве или в Cloud ресурсе [6]. Поскольку для владельца приложения процесс разработки не заканчивается одним лишь написанием кода, создатели Appcelerator предусмотрели возможность получения доступа к некоторым сведениям об использовании самого приложения. Эта информация может быть полезной для отслеживания важнейших характеристик приложения и его дальнейшего усовершенствования. Аналитическая платформа позволяет осуществлять мониторинг данных о приложении, производительности, а также логов в режиме реального времени.
Xamarin – еще один популярный инструмент среди разработчиков приложений на языке C#. Платформа для этого инструмента уникальна тем, что позволяет разработчикам работать с собственными IDE (интегрированными средами разработки), API (интерфейсами прикладного программирования) и языками. Именно эти характеристики делают Xamarin предпочтительным выбором, когда дело доходит до собственных приложений.
Xamarin повторно использует уровни бизнес-логики и доступ к данным на разных платформах, что особенно полезно для разработчиков, когда необходимо реализовать определенные функции, такие как большой объем локальных данных, автономный режим и распознавание изображений. Как мы уже упоминали ранее, Xamarin построен на языке программирования C#, что означает, что он работает на общей языковой инфраструктуре .NET.
Xamarin как инструмент довольно популярный для создания приложений на всех трех крупных платформах – Android, Windows и iOS. Он поддерживает мониторинг качества и функциональности тестирования в широком диапазоне устройств, который помогает разработчикам придумывать масштабируемые и надежные мобильные приложения. Это моно-фреймворк, который позволяет устанавливать и поддерживать связь с API на мобильных устройствах.
Особенность, которая делает Xamarin хорошим инструментом, в том, что приложения, созданные с его помощью, как правило, имеют меньшее количество ошибок по сравнению с другими и тем самым будут обеспечивать более быстрый выход на рынок. Инструмент имеет меньший по объему код, что означает меньшее количество ошибок. Таким образом, с помощью всего одного теста код обеих платформ может быть проверен с большой эффективностью.
Также на конференции Microsoft Build 2016 было объявлено, что все ограничения на разработку приложений сняты. На втором дне конференции вице-президент Скотт Гатри сообщил: «Кроссплатформенные решения Xamarin будут интегрированы в Visual Studio и станут бесплатными, даже в Community Edition».
Фреймворк Ionic основан на языке SASS CSS и является кроссплатформенным [7]. Это означает, что он имеет возможность работать со многими операционными системами. Является одним из наиболее простых в использовании инструментом, и даже может быть интегрирован с AngularJS, если вы планируете разрабатывать приложения, которые немного сложнее.
Ionic преимущественно используется для создания гибридных мобильных приложений. Поскольку это полный пакет SDK с открытым исходным кодом (Software Development Kit), Ionic идеально подходит для создания гибридных мобильных приложений с использованием веб-технологий, включая, но не ограничиваясь CSS, HTML5 и SASS [8].
Это отличный инструмент с уникальными функциями и сервисами для создания приложений. У Ionic есть целая библиотека оптимизированных для мобильных устройств компонентов, инструментов и жестов HTML, CSS и JS CSS.
Appy Pie – представляет собой платформу для самостоятельного создания мобильных приложений для тех, кто не знает программирование или не хочет в него углубляться. Такие приложения можно публиковать в Google Play, Apple App Store, Windows App Store или в любом другом магазине, в котором пожелаете.
Одним из главных преимуществ данной платформы является то, что вам не придется писать ни единой строчки кода, а просто щелкнуть мышью и добавить необходимые функции [9]. На выходе вы сможете получить уникальное приложение, на создание которого потребовалось минимум времени и ресурсов. Отличительной особенностью платформы является то, что она предоставляет возможность использования сотни различных функций, которые вы можете добавить в свое мобильное приложение, создаваемое самостоятельно без лишних затрат и помощи агентств по разработке.
Кроме того, у данной платформы есть обширная библиотека в разделе часто задаваемых вопросов, а также довольно насыщенный канал на YouTube, который будет держать вас в курсе последних событий и новостей в мире тенденций, давать полезные советы о том, что может сделать ваше приложение успешным.
Appy Pie обладает достаточно всеобъемлющей информационной панелью, которая позволит вам получать важные данные о вашем приложении [10]. Она содержит информацию о том, насколько популярно данное приложение, а также почему ваша аудитория отдает предпочтение именно вам. Вам предоставят данные о том, какие функции, кнопки или элементы вам нужно настроить, если вы хотите привлечь и удержать своих пользователей.
NativeScript также является кроссплатформенным инструментом разработки с открытым исходным кодом, но, в отличие от многих других конкурентов, его можно использовать бесплатно.
Приложения NativeScript разрабатываются на таких языках, как JavaScript или TypeScript. В NativeScript реализована полная поддержка фреймворка AngularJS. Мобильные приложения, построенные с NativeScript, имеют полный доступ API платформ [11].
С помощью NativeScript разработчики могут использовать Angular, JavaScript или TypeScript и создавать мобильные приложения для Android и iOS. NativeScript также имеет интеграцию с Vue.JS, в дополнение к его способности поддерживать сотни плагинов для расширенной функциональности [12]. Это, однако, требует хорошего знания командной строки, а это значит, что разработчик также должен будет предоставить свой собственный текстовый редактор.
В результате анализа были выбраны и описаны средств средств разработки мобильных приложений. В качестве среды, с помощью которой было создано приложение, была выбрана среда Xamarin. Ее отличительной особенностью является то, что в сравнении с нечувствительным к языку разработки решений, таких как Appcelerator Titanium, платформа Xamarin позволяет делать нативные сборки под целевые платформы и создавать высокопроизводительные приложения с естественным внешним видом. Кроссплатформенные приложения Xamarin выглядят на 100 % нативными на любом устройстве, обеспечивая наилучший пользовательский опыт по сравнению со стандартными гибридными приложениями.
Xamarin устраняет все проблемы совместимости оборудования, используя плагины и различные API для работы с функциями общих устройств на всех платформах. Наряду с доступом к особым API-платформам, Xamarin можно компоновать с библиотеками, нативными для конкретной платформы [13].
С технической точки зрения, для кроссплатформенной разработки Xamarin использует единый язык C# и библиотеки, обернутые в слой .NET. С точки зрения работы и пользовательского опыта, такие приложения можно отнести к нативным, то есть специально разработанным под iOS и Android [14].
Рассмотрим разработку приложения для релаксации при помощи расслабляющих звуков природы с использованием платформы Xamarin.
Для того, чтобы создавать приложения на Xamarin, необходима среда разработки. Для Windows такой средой является Visual Studio. При ее установке в программе для установщика надо выбрать пункт «Разработка мобильных приложений на .NET».
1. После открытия «Visual Studio» стандартным образом создаем новое приложение с названием RelaxApp.
2. В MainActivity.cs создаем массив наименований звуков для релаксаций.
3. При помощи системы управления пакетами для платформ разработки Microsoft «NuGet» добавляем компонент Android Support Library v7 App Compat. Добавление компонента Android Support Library v7 App Compat изображено на рис. 1.
Рис. 1. Добавление компонента Android Support Library v7 App Compat
4. После чего создаем папку Activity и переносим MainActivity.cs в появившеюся папку.
5. Далее создаем новый файл макета интерфейса ViewPager_Item.axml, в данный файл добавляем элемент ImageView.
6. В папку drawable добавляем необходимые иллюстрации звуков. После чего создаем папку raw и добавляем в нее необходимые файлы звуков.
7. В папку Activity добавляем новый класс ViewPageAdapter.cs, в котором нужно реализовать код для прокрутки картинок на экране.
8. В папку layout добавляем новый макет Fragment_Relax.axml при помощи которого описываем свойства элементов на экране.
9. В папке Activity создаем новый класс My_Fragments.cs в котором пропишем новый метод OnCreateView для подключения разметок к соответствующим фрагментам.
10. В макете интерфейса Main.axml подключаем фрагмент.
11. В папку Resource добавляем папку menu, в которой создаем xml-файл menu, где прописываем кнопку для воспроизведения звука.
12. В папку values добавляем файл Styles.xml и Colors.xml для настраивания цветов для системных элементов, интерфейса программы и компонентов.
13. В MainActivity.cs добавляем код для запуска и остановки воспроизведения звука при нажатии.
14. Добавляем класс ParallaxPageTransformer.cs и прописываем в нем необходимый код для корректного просматривания страниц.
15. В MainActivity.cs добавляем код для сохранения элементов в ToolBar и для корректной работы плеера. Результаты разработки изображены на рис. 2.
Рис. 2. Результаты разработки приложения
В результате анализа были выбраны и описаны семь средств разработки мобильных приложений и на одном из них было разработано приложение.
Выводы
В результате были описаны наиболее используемые и современные средства разработки мобильных приложений. В ходе анализа было выявлено, что количество инструментов создания программного обеспечения стремительно растет, возможность разработки мобильных приложений становится все более доступной. Перечисленные в данной статье платформы позволяют создавать качественные приложения высокого уровня за сравнительно короткие сроки. Кроме того, рассмотренные в статье инструменты создания программного обеспечения позволяют разрабатывать самостоятельные программные продукты, устанавливаемые под необходимую операционную систему устройства. Разработано приложение Xamarin, которое позволяет слушать расслабляющие звуки.