Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Критерии выбора средств разработки мобильных приложений (Общая характеристика современных мобильных приложений)

Содержание:

ВВЕДЕНИЕ

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

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

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

Однако, даже в повседневных, простых делах зачастую необходимо планировать собственное время – это позволяет максимально рационально решать задачи, благодаря чему остается больше времени на отдых. Также различные напоминания помогают не забыть выполнить какое-либо дело.

Именно поэтому на сегодняшний день так популярны различные сервисы для планирования времени – web-сервисы, десктопные программы и мобильные приложения.

Объектом исследования являются мобильные приложения.

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

Для написания данной работы была поставлена цель: на основе учебных пособий и научных трудов по выбранной теме, а также практических материалов подробно рассмотреть критерии выбора средств разработки мобильных приложений.

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

- изучить современные мобильные приложения и их особенности ;

- провести анализ и дать общую характеристику современных мобильных приложений на базе операционной системы Android;

- провести анализ существующих разработок мобильных приложений на базе операционной системы Android;

- провести анализ средств разработки и обоснование выбора технологии проектирования для всех элементов проекта;

- проанализировать общий алгоритм реализации мобильного приложения на базе операционной системы Android.

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

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

Глава 1. Общая характеристика современных мобильных приложений

1.1. Современные мобильные приложения и их особенности

Развитие информационных технологий (IT-технологий) и массовое распространение мобильных устройств позволили сформировать новый рынок - рынок мобильных приложений (МП). Мобильные приложения являются одним из главных трендов последних лет в сфере информационных технологий (IT). Растет количество разработчиков, увеличивается количество приложений и пользователей, а также все больше и больше компаний понимают необходимость создания собственных приложений для повышения конкурентоспособности. Такой динамичный рост мобильных пользователей, а также постоянное развитие технологий указывают на то, что российский (как и мировой) рынок мобильных приложений находится в фазе активного роста. Это один из наиболее перспективных рынков, который открывает широкие возможности для IT-компаний.

Прежде всего, необходимо определить само понятие «мобильное приложение». «Мобильное приложение» - это специально разработанное приложение под конкретную мобильную платформу (iOS, Android, Windows Phone). Многие мобильные приложения предустановлены на самом устройстве или могут быть загружены на него из онлайновых магазинов приложений, таких как App Store, Google play market, Windows Phone Store, Яндекс.store - и других, бесплатно или за плату. Распространяющиеся мобильные приложения призваны облегчить жизнь пользователей мобильных устройств, а также ее разнообразить [8].

На данный момент к компаниям в самых разных сферах деятельности приходит осознание того, что в ближайшем будущем разработка мобильного приложения будет необходима. Мобильное приложение обладает рядом преимуществ по сравнению с мобильной версией сайта [17]:

- более удобный и понятный интерфейс;

- программы лояльности онлайн;

- постоянная коммуникация с пользователем;

- геолокация;

- наиболее точный сбор данных о целевой аудитории.

Прежде чем рассматривать виды приложений необходимо понять, какие приложения пользуются наибольшим спросом среди пользователей. Большинство (по статистике это 53 %) пользуются приложениями, которые скачивают. Вторая половина (52 %) посещают сайты с помощью мобильных телефонов. Треть (а именно - 38 %) использует возможность посещать социальную сеть через мобильный телефон. Некоторые из пользователей играют в игры (около 34 %). Приблизительно 3/4 людей пользуются общением через мобильный телефон: это не только SMS сообщения, звонки, но также мессенджер и приложения социальных сетей [18].

Мобильная разработка нацелена на создание приложений, которые могут предсказывать потребительские предпочтения; решать задачи, алгоритм решения которых заранее неизвестен. Теперь приложения могут производить аналитический анализ информации, полученной из нескольких источников, и помогать пользователю принимать решения, контролировать процессы и решать другие важные задачи с наименьшими временными и аналитическими затратами для него самого. Что в свою очередь способствует оптимизации бизнес-процессов, повышению производительности и эффективности принимаемых решений. Мобильное приложение - это своего рода адаптер, помогающий пользователю взаимодействовать с разнообразной информацией. В связи с этим различают [13]:

- приложения-события, предназначенные для трансляции спортивных или иных событий;

- приложения службы, являющиеся аналогами сайтов, отражающих деятельность организаций;

- игры, в том числе развивающие и обучающие;

- интернет магазины, разрабатываемые для покупок в онлайн режиме;

- промо-приложения, использующиеся для рекламы различных брендов;

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

- системные приложения, использующие дополнительные настройки и опции телефона и его программного обеспечения;

- навигационные и поисковые сервисы, применяющие GPS-модуль, что позволяет использовать телефон как полноценный навигатор;

- мультимедийные приложения, расширяющие возможности телефона при работе с видео и аудио информацией;

- социальные сети, представляющие собой онлайн-сервисы для общения, распространения информации и организации социальных взаимоотношений;

- контентные приложения и др. [9].

1.2. Анализ и общая характеристика современных мобильных приложений на базе операционной системы Android

Современные технологии все глубже проникают в нашу жизнь и сейчас уже сложно встретить человека без смартфона или другого многофункционального гаджета. Их функционирование невозможно без операционной системы и на данный момент операционная система (ОС) Android является самой популярной. По данным американской компании Gartner, специализирующейся на анализе рынка информационных технологий, доля Android в 4 квартале 2019 составила 85,9 %. В мире было продано 1,32 млрд. устройств под управлением этой операционной системы [5].

Android является относительно новой операционной системой, но за короткое время она стала очень популярна на рынке мобильных устройств. Идея создания ОС принадлежала компании Android Inc. В 2005 году компанию купила корпорация Google и предоставила необходимые ресурсы и поддержку для продолжения разработки платформы до состояния готового продукта. Разработчики операционной системы должны были придерживаться следующих основных требований: новая платформа должна быть основана на открытых стандартах, позволяющих снизить затраты на разработку и предоставить разработчикам мобильных приложений возможность доступа ко всем функциям системы для создания приложений. Впервые платформа была представлена в 2007 году, основная конструкция и реализация которой во многом была похожа на архитектуру современной системы.

В том же 2007 году под предводительством Google был создан бизнес-альянс разработчиков открытых стандартов мобильных устройств Open Handset Alliance, который на сегодняшний день состоит из 84 компаний (Google Inc., Intel, Asus, Motorola, HTC, Samsung, Huawei и др.). Объединение формировалось с целью поддержки и развития платформы Android путем внедрения инноваций в технологии, применяемые при разработке устройств, а также с целью разработки приложений для платформы [14].

Наряду с ростом продаж смартфонов, реализованных на платформе Android, росла и популярность приложений разрабатываемых для данной операционной системы. В 2008 году с выходом первых Android смартфонов Google объявила об открытии магазина приложений Android Market. Магазин предоставлял возможность загружать приложения и игры пользователям новой операционной системы. Постепенно появлялись дополнительные возможности: поддержка платных приложений, загрузка музыки, книг и фильмов, а в 2012 году решено было все эти сервисы объединить в один и сменить название на Google Play.

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

- устройство должно соответствовать документу определения совместимости Compatibility Definition Document (CCD), который содержит описание вариантов поведения Android, позволяющих добиться совместимости с приложениями сторонних разработчиков;

- Google Play должен знать обо всех свойствах устройства, которые требуются приложению (например, наличие камеры, спутниковой системы навигации и др.). Именно поэтому пользователям доступны только те приложения, которые совместимы с их устройством [2].

Размещение приложения в Google Play гораздо проще по сравнению с аналогичной процедурой в App Store. С одной стороны? это дает больше свободы разработчикам и, как следствие, обширнейший выбор приложений, а с другой - отсутствие в Google Play серьезной модерации новых приложений приводит к тому, что в магазине становится все больше программ низкого качества, а также может содержаться и вредоносное программное обеспечение (ПО), являющееся угрозой для безопасности системы.

Google изначально оказывала поддержку разработчикам приложений. Компания дважды - в 2007 г. и в 2009 г. - устраивала стимулирующий конкурс Android Developer Challenge среди сторонних разработчиков, которым предлагалось разработать приложение любой направленности. При выборе победителей конкурса, которые награждались крупными денежными призами, особое внимание уделялось инновационности и полезности созданного продукта [10].

Следует сказать также о ежегодной премии Google Play Awards, которую получают разработчики лучших приложений и игр, созданных для Android. Также, кроме поддержки со стороны Google, операционная система Android привлекает разработчиков тем, что средства и инструменты, необходимые для создания приложений находятся в свободном доступе на веб-сайте developer.android.com (официальный сайт разработчиков Android). На сайте представлена информация об основах создания приложений, о совместимости устройств, о создании операций и реализации пользовательского интерфейса, а также есть документы, в которых приводятся инструкции по созданию приложений с помощью различных API-интерфейсов.

Android используется на самых разных устройствах. Это и смартфоны, и планшеты, и телевизоры, и смарт-часы и ряд других гаджетов. общее количество пользователей сматрфонов на ОС Android оценивается в 1,5 млрд. человек по всему миру [7]. На данный момент последней версией является Android 8.1 Oreo, которая вышла в декабре 2017 года.

Объемы продаж устройств Android и количество загрузок Android-приложений стремительно растут. Мобильные телефоны Android первого поколения появились на рынке в октябре 2008 года. По данным отчета IDC, к концу первого квартала 2015 года Android принадлежало 78 % глобального рынка смартфонов, по сравнению с 18,3 % у Apple, 2,7 % у Microsoft и 0,3 % у Blackberry. На конференции Google I/O в 2015 году компания Google объявила, что за предшествующие 12 месяцев в магазине Google Play™ - магазине для приложений Android - количество установок приложений достигло 50 миллиардов. Ожесточенная конкуренция среди разработчиков популярных мобильных платформ и мобильных сервисов приводит к быстрому внедрению инноваций и стремительному обвалу цен. Благодаря соперничеству между десятками производителей устройств Android ускоряется внедрение аппаратных и программных инноваций в сообществе Android [6].

Одно из основных преимуществ платформы Android - ее открытость. Операционная система Android построена на основе открытого исходного кода и находится в свободном распространении. Это позволяет разработчикам получить доступ к исходному коду и понять, каким образом реализованы свойства и функции приложений. Любой пользователь может принять участие в совершенствовании данной операционной системы. Для этого достаточно отправить отчет об обнаруженных ошибках либо принять участие в одной из дискуссионных групп Open Source Project. В Интернете доступны различные приложения Android с открытым исходным кодом, предлагаемые компанией Google и рядом других производителей [6].

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

2.1. Анализ существующих разработок мобильных приложений на базе операционной системы Android

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

¿Es Vegan?

Текст приложения выполнен на испанском языке, однако, навигационные элементы, такие как: основное меню, строка поиска, окно с формой для заполнения представлены на английском языке. Приложение состоит из окна главного меню с тремя разделами, представленного на рисунке 2.1.

Рисунок 2.1 - Снимок экрана главного меню приложения ¿Es Vegan?

Первый раздел содержит в себе список пищевых добавок с указанием индекса, названия и статуса добавки, дополнительно обозначенного цветом, как показано на рисунке 2.2.

Рисунок 2.2 - Снимок экрана с разделом о пищевых добавках приложения ¿Es Vegan?

Второй и третий разделы, интерфейс которых представлен на рисунке 2.3, под названиями «Продукты» и «Непроверенный список» содержат в себе списки компонентов, сформированные неизвестно по какому критерию, что очень неудобно.

Рисунок 2.3 - Снимки экрана с разделами о продуктах и сомнительным списком приложения ¿Es Vegan?

Также в последнем разделе, представленном на рисунке 2.4, есть возможность пользователю самому добавить какой-либо компонент в базу приложения.

Рисунок 2.4 - Снимок экрана с формой для добавления компонента в приложение ¿Es Vegan?

Is it Vegan?

Простой лаконичный справочник на английском языке с двумя разделами. Первый раздел с индексами добавок животного происхождения, приведенный на рисунке 2.5, (также можно нажать кнопку «show more» и узнать подробнее, какие добавки однозначно веганские, а какие спорные).

Рисунок 2.5 - Снимки экрана первого

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

Также в данном разделе имеется дополнительная настройка по активации контента, специфичного для Норвегии, что неудобно поскольку данный контент отражает весьма специфические особенности конкретного региона, а тем более страны, и не может использоваться на территории Российской Федерации в виде отсутствия данных ингредиентов, но в целом может путать неопытного пользователя и даже вызвать ненужные опасения, а также дать неверную информацию, что принципиально при использовании данного продукта. Интерфейс данного раздела представлен на рисунке 2.6.

Рисунок 2.6 - Снимок экрана со списком компонентов по названиям приложения Is it Vegan?

Vegan Additives

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

Рисунок 2.7 - Снимки экрана с интерфейсом приложения Vegan Additives

Подробно рассмотрев данные приложения, можно выделить некоторые особенности, которые представлены в таблице 2.1 ниже.

Таблица 2.1

Сравнительный анализ аналогичных разработок

Название приложения

Достоинства

Недостатки

Вывод

¿Es Vegan?

В каждой из категорий довольно много информации.

В списках у каждой позиции есть свое подробное описание, открывающееся в новом окне.

Организован поиск по каждому разделу, информацию о конкретной пищевой добавке можно найти не только по ее индексу, но и по названию.

Неизвестно по какому признаку объединены компоненты из второго и третьего разделов, все вместе - напитки, косметические ингредиенты, материалы для одежды.

В последний раздел можно самостоятельно добавить информацию о каком-либо компоненте, что вносит определенную путаницу.

Отсутствие хотя бы английского языка, как более распространенного.

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

Is it Vegan?

Быстрый запуск и доступ к информации без лишних нажатий;

Минималистичный дизайн.

Информация лишь о еде, хотя другие повседневные товары так же могут содержать продукты животного происхождения.

В данном приложении особенно привлекает удобство быстрого доступа к информации без излишнего меню, анимация при смене activity.

Vegan Additives

Поиск по добавкам;

Подробная информация о каждой, открывающаяся в новом окне;

Отсутствие информации о компонентах животного происхождения в других товарах, помимо продуктов.

Визуальная составляющая очень хороша, гармоничное расположение элементов относительно друг друга, такую четкость разметки определенно нужно позаимствовать.

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

2.2. Анализ средств разработки и обоснование выбора технологии проектирования для всех элементов проекта

В настоящее время существует хороший выбор языков программирования для разработки мобильных приложений. Это связанно с тем, что для различных мобильных устройств приходится использовать различные языки программирования. Это вызвано тем, что мобильные устройства имеют различные ОС. Ниже будут рассмотрены такие технологии, как Java, Qt (основанный на библиотеках C++), Windows Phone SDK (написание на языке XAML), iPhone SDK (основной язык - Objective-C), Android SDK (основной язык -Java) и Symdian (основной язык -C++):

1. Java 2 Micro Edition (J2ME). В первую очередь J2ME это набор спецификаций и технологий, предназначенных для различных типов портативных устройств. Направление определяет тип конфигурации центральных библиотек Java, а так же параметров виртуальной машины Java (в которой будут исполняться приложения). Логично предположить, что устройства Connected Device Configuration (CDC) будут более «развитыми», в качестве примера можно привести коммуникаторы. К устройствам Connected Limited Device Configuration (CLDC) относятся обычные мобильные телефоны, аппаратно обладающие более скромными возможностями (ресурсами). Специальные режимы позволяют определять функциональность конфигураций для различных типов устройств. Программирование Java-приложений и на сегодняшний день занимает большую часть, так как большинство мобильных устройств (в основном мобильные телефоны) в мире имеют уже предустановленную Java-машину.

2. Qt. Qt является одной из самых удачных библиотек для С++. Отладка приложений, разработанных для мобильных устройств, происходит с помощью эмулятора, который содержится в среде разработки. Таким образом, мы можем писать сложные приложения для мобильных устройств с использованием библиотек C++ и поддержкой кроссплатформенности. В настоящее время последняя версия - Qt 5 бета.

3. Windows Phone SDK. Вся разработка под Windows Phone ведется в среде Visual Studio. Среда является очень удобной для разработки и отладки приложений. Для мобильных приложений под Windows Phone отладка происходит с помощью эмулятора Windows Phone с помощью среды разработки Windows Phone.

4. iPhone SDK. Разработка под iPhone под операционную систему iOS возможна только под Mac OS X. Но в Интернете можно найти статьи, как можно программировать и на Macintosh и даже на Virtual Machine (VM). Стоит заметить, что Apple предоставляет инструменты бесплатно, платить придется за подписку разработчика. Отладка приложения происходит с помощью среды XCode и эмулятора iPhone установленного в ней.

5. Android SDK. Для разработки под Android можно использовать среду Eclipse с установленным плагином Android Development Tools (ADT). Существует различные версии SDK, которые используются для написания кода для различных версий Android. В настоящее время большое распространение получили версии 2.2 и 2.3. Поддерживается почти полная обратная совместимость версий.

6. Symbian и C++. Для написания приложений под Symbian можно использовать язык программирования C++. В основном данный подход используется для Symbian OS v6.1, 7.0, 7.0s и 8.0 [3].

В соответствии с этапами проектирования и разработки данного приложения были проанализированы средства, решающие поставленные задачи, как конструирование визуальной составляющей проекта, так и функциональной - написание кода. В первую очередь необходимо было спроектировать интерфейс мобильного приложения на основе актуальности его разработки, потенциальной аудитории и прочих параметров. Проектирование интерфейса осуществлялось подручными средствами в виде набросков, чертежей и схем. В последующем процессе создания макетов и шаблонов приложения были использованы графические редакторы. А именно - комбинация Adobe Photoshop и Adobe Illustrator.

Adobe Photoshop - это многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems. В основном работает с растровыми изображениями, однако имеет некоторые векторные инструменты.

Adobe Illustrator - векторный графический редактор, позволяющий создавать разнообразный контент: от мелких значков до рекламных щитов, от оформления сайтов до иллюстраций для книг.

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

При разработке приложений Android используется Java - один из наиболее распространенных языков программирования, однако при разработке необходимы также файлы XML. Язык Java - это современный язык, который работает на трех фронтах: портативность, скорость и безопасность. Поэтому он является доминирующим языком в мире программирования более 15 лет. Язык программирования Java, разработанный компанией Sun Microsystems под руководством светил интернета Джеймса Гослинга и Билла Джоя, был создан как машиннонезависимый язык программирования, который достаточно безопасен для сетевых применений и достаточно мощен, чтобы заменить родной исполняемый код [13].

Язык Java при разработке android-приложений используется не в полнофункциональном варианте, а только в небольшом подмножестве, в регистровой виртуальной машине Dalvik. В этом подмножестве не используются те классы Java, которые не могут быть применены или не имеют смысла при разработке приложений на мобильные устройства. Dalvik оптимизирован для низкого потребления памяти, это нестандартная регистр-ориентированная виртуальная машина, хорошо подходящая для исполнения на процессорах RISC-архитектур, часто используемых в мобильных и встраиваемых устройствах, таких как коммуникаторы и планшетные компьютеры. (Большинство виртуальных машин, используемых в настольных системах, являются стекориентированными, включая стандартную виртуальную машину Java). Программы для Dalvik пишутся на языке Java. Несмотря на это, стандартный байт-код Java не используется, вместо него Dalvik исполняет байт-код собственного формата [10].

В версиях, начиная с Android 4.4 Kitkat, имеется возможность переключиться с Dalvik на более быстрый Android Runtime (ART). В Android 5.0 был полностью заменен ART. В отличие от Dalvik, который использует JIT-компиляцию (во время выполнения приложения), ART компилирует приложение во время его установки. За счет этого планируется повышение скорости работы программ и одновременно увеличение времени работы от батареи. Недостатком является более долгая загрузка устройства. Для обеспечения обратной совместимости ART использует тот же байт-код, что и Dalvik [7].

Скомпилированный программный код (вместе со всеми файлами ресурсов и прочей необходимой информацией) упаковывается в специальный файл-архив, Android Package. Этот файл имеет расширение *.apk и упаковывается специальной утилитой aapt tool. Именно он в дальнейшем распространяется как программа и инсталлируется на мобильные устройства. Один такой файл связан с кодом одного приложения [16]. И каждое приложение в Android живет в своем собственном мире - в такой машине. По умолчанию, каждая программа выполняется в своем собственном процессе, управлением которого занимается ядро Linux, которое также осуществляет менеджмент памяти. Таким образом, чаще всего код приложения выполняется в изоляции от всех других приложений. Android запускает процесс, когда возникает необходимость выполнить какой-нибудь программный код и завершает его, когда в нем больше нет необходимости и системные ресурсы требуются другим приложениям. По умолчанию, каждому приложению присваивается свой уникальный ID Linux-пользователя [9].

Как и в любой программе в мобильном приложении на ОС Android существует определенная иерархия - элементов, упрощенно ее можно представить следующим образом, как на рисунке 2.8.

Рисунок 2.8 - Структура интерфейса приложения

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

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

Для разработки Android-приложений требуется пакет Java Development Kit (JDK) и Android Studio - это интегрированная среда разработки (IDE) для работы с платформой Android, выпущенная компанией Google. Одним из важнейших инструментов для разработки Android-приложений является универсальное средство разработки мобильных приложений для операционной системы Android (Android SDK) - комплекс средств программирования, содержащий инструменты, которые необходимы для создания, компиляции и сборки мобильного приложения.

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

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

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

Рисунок 2.9 - Внешний вид рабочего окна среды Android IDE

Android Studio - среда разработки мобильных приложений под операционную систему Android, основанная на интегрированной среде разработки программного обеспечения IntelliJ IDEA. Аналогично среде Android IDE, Android Studio содержит встроенные инструменты для создания и отладки мобильных приложений. Данная среда является официальным средством разработки Android приложений. Android Studio доступна для Windows, OS X и Linux. 17 мая 2017, на ежегодной конференции Google I/O, Google анонсировал язык Kotlin, используемый в Android Studio, официальным языком программирования для платформы Android в добавление к Java и С++. Интерфейс программы изображен на рисунке 2.10.

Рисунок 2.10 - Интерфейс Android Studio

Дополнительно ко всем возможностям в Android Studio реализованы:

- поддержка системы автоматической сборки Gradle;

- уникальная система рефакторинга кода;

- инструменты для поиска и устранения различных проблем;

- окно предварительного просмотра, которое показывает запущенное приложение сразу на нескольких устройствах и в реальном времени;

- поддержка облачной платформы Google Cloud Platform.

В данный момент компания Google прекращает поддержку инструментов для разработки в операционной системе Android для среды Android IDE.

Поэтому было принято решение разрабатывать приложение в среде Android Studio.

В ходе изучения на практике среды разработки мобильных приложений Android Studio и написания небольших программ, для применения полученных знаний, были определены следующие недостатки Android Studio:

1. Необходимо иметь базовый уровень программирования на языке Java и знания английского языка.

2. Вследствие постоянного сопровождения разработчика системой автоматической сборки (Gradle) значительно замедляется время компиляции проектов.

3. Высокие системные требования для компьютера разработчика.

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

5. Отсутствие русскоязычной справки.

Достоинства Android Studio:

1. Удобный дизайн.

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

3. Встроенный комплекс средств разработки Android SDK, выдает уведомление с установкой необходимого API для запуска старого проекта.

4. Удобная структура проекта.

5. Наличие логов для отслеживания ошибок, процессов и потоков.

6. Наличие достаточно большого количества русскоязычной литературы и уроков на Интернет-ресурсах в свободном доступе.

2.3. Общий алгоритм реализации мобильного приложения на базе операционной системы Android

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

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

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

1. Подготовительный этап:

- генерация идеи;

- исследование аналогичных разработок с выявлением их сильных и слабых сторон;

- проектирование интерфейса, создание эскиза;

- разработка названия;

- изучение технологий разработки мобильных приложений на ОС Android.

2. Основной этап:

- сбор и систематизация информации для наполнения;

- форматирование информации для заполнения приложения данными;

- подбор цветов и стилей шрифта;

- создание макетов экранов с помощью графического редактора изображений Adobe Photoshop CS6;

- разработка приложения в android studio;

- создание стилей и шаблонов основных окон;

- реализация поиска внутри разделов;

- интегрирование анимации;

- тестирование продукта на смартфонах Xiaomi Redmi 4x, Huawei P10.

3. Заключительный этап:

- исправление выявленных недочетов.

- создание иконок в программе Adobe Photoshop CS6, согласно с руководствами производителя системы и изучения сеток для построения иконок в Photoshop.

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

ЗАКЛЮЧЕНИЕ

Мобильное приложение - это специально разработанное приложение под конкретную мобильную платформу (iOS, Android, Windows Phone). Многие мобильные приложения предустановлены на самом устройстве или могут быть загружены на него из онлайновых магазинов приложений, таких как App Store, Google play market, Windows Phone Store, Яндекс.store - и других, бесплатно или за плату.

Мобильное приложение - это своего рода адаптер, помогающий пользователю взаимодействовать с разнообразной информацией. В связи с этим различают:

- приложения-события, предназначенные для трансляции спортивных или иных событий;

- приложения службы, являющиеся аналогами сайтов, отражающих деятельность организаций;

- игры, в том числе развивающие и обучающие;

- интернет магазины, разрабатываемые для покупок в онлайн режиме;

- промо-приложения, использующиеся для рекламы различных брендов;

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

- системные приложения, использующие дополнительные настройки и опции телефона и его программного обеспечения;

- навигационные и поисковые сервисы, применяющие GPS-модуль, что позволяет использовать телефон как полноценный навигатор;

- мультимедийные приложения, расширяющие возможности телефона при работе с видео и аудио информацией;

- социальные сети, представляющие собой онлайн-сервисы для общения, распространения информации и организации социальных взаимоотношений;

- контентные приложения и др.

В настоящее время существует хороший выбор языков программирования для разработки мобильных приложений. Это связанно с тем, что для различных мобильных устройств приходится использовать различные языки программирования. Это вызвано тем, что мобильные устройства имеют различные ОС. В курсовой работе рассмотрены такие технологии, как Java, Qt (основанный на библиотеках C++), Windows Phone SDK (написание на языке XAML), iPhone SDK (основной язык - Objective-C), Android SDK (основной язык -Java) и Symdian (основной язык -C++):

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Актуальная тема: Психология восприятия цвета [Электронный ресурс]. - Режим доступа: https://psynavigator.ru/publikacii/aktualnaya-tema-psihologiya-vospriyatiya-cveta (дата обращения: 15.02.2020).

2. Ахметов А. К. Операционная система Android: история создания и развития. Разработка приложений для платформы Android [Электронный ресурс]. - Режим доступа: https://cyberleninka.ru/article/n/operatsionnaya-sistema-android-istoriya-sozdaniya-i-razvitiya-razrabotka-prilozheniy-dlya-plat formy-android (дата обращения: 15.02.2020).

3. Вегнер А. И. Технологии разработки мобильных приложений. Плюсы и минусы разработки с помощью платформы Phonegap [Электронный ресурс]. - Режим доступа: https://core.ac.uk/download/pdf/80134923.pdf (дата обращения: 15.02.2020).

4. Вкусология. Пищевые добавки [Электронный ресурс]. - Режим доступа: http://vkusologia.ru/dobavki/ (дата обращения: 15.02.2020).

5. Группы пищевых добавок [Электронный ресурс]. - Режим доступа: https://prodobavki.com/modules.php?name=ingr_list (дата обращения: 15.02.2020).

6. Дейтел П. Android для разработчиков [Текст] / П. Дейтель, Х. Дейтель, А. Уолд. -Санкт-Петербург: Питер, 2016. -512 с.

7. Детальный анализ Android [Электронный ресурс]. - Режим доступа: https://xakep.ru/2014/07/03/art-vm/ (дата обращения: 15.02.2020).

8. Зонин Н. А. Рынок мобильных приложений Калининградской области [Текст] / Н. А. Зонин, М. А. Терре // Вопросы экономики и управления, 2016. -№ 3.1. - С. 101–104.

9. Карпюк И. А. Сравнительный анализ мобильных приложений и инструментальных средств их разработки // Научно-методический электронный журнал «Концепт», 2017. - Т. 31. - С. 826-830.

10. Ким В. Ю. Особенности разработки дизайна пользовательского интерфейса для мобильного приложения [Текст] / В. Ю. Ким // Новые информационные технологии в автоматизированных системах, 2015. - № 18. - С. 479–481.

11. Косметическая база [Электронный ресурс]. - Режим доступа: http://cosmobase.ru/handbook (дата обращения: 15.02.2020).

12. Маклафлин Б. Объектно-ориентированный анализ и проектирование [Текст] / Б. Маклафлин. - Санкт-Петербург: Питер, 2013. - 608 с.

13. Нимейер П. Программирование на Java [Текст] / П. Нимейер, Д. Леук. - Москва: Эксмо, 2014. -1216 с.

14. Норман Д. Дизайн привычных вещей [Текст] / Д. Норман. - Москва: Манн, Иванов и Фербер, 2013. - 272 с.

15. Одним словом. Нейминг для мобильных приложений [Электронный ресурс]. - Режим доступа: https://geekbrains.ru/posts/mob_naming (дата обращения: 15.02.2020).

16. Официальные позиции медицинских и диетологических организаций относительно веганства [Электронный ресурс] - Режим доступа: https://veganwiki.ru/Официальные_позиции_медицинских_и_диетологических_организаций_относительно_веганства (дата обращения: 15.02.2020).

17. Потопахин В. Искусство алгоритмизации [Текст] / В. Потопахин. - Москва: ДМК Пресс, 2014. - 320 с.

18. Применение средств дизайн-проектирования на занятиях по технологическому практикуму [Электронный ресурс]. - Режим доступа: https://elibrary.ru/item.asp?id=27176414 (дата обращения: 15.02.2020).

19. Разработка Android приложений [Электронный ресурс]. - Режим доступа: http://studbooks.net/2139366/informatika/printsip_rabotyandroid_and roid_prilozheniy (дата обращения: 15.02.2020).