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

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

Содержание:

Введение

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

Рынок мобильных приложений растет с каждым годом. По данным компании «Связной», в мае 2019 года было продано 9,1 миллиона смартфонов, что на 7 процентов больше, чем в мае 2018 года. Это позволяет говорить о том, что рынок мобильных приложений также косвенно расширяется. Расширение рынка, в свою очередь, означает больший приток клиентов для тех компаний, которые имеют свое собственное приложение или адаптивное интернет-представительство, и открытие новых ниш, которые компания может занять. Корпоративные мобильные приложения интегрированы в корпоративную информационную систему, что также ускоряет информационные потоки в компании.[12, с. 89]

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

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

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

1. Рассмотреть вопрос о разработке мобильного приложения: от идеи до результата

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

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

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

5. Оценить и сравнить инструменты для создания мобильных приложений

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

Методологической основой исследования стали научные исследования представителей различных экономических школ, труды российских и зарубежных ученых и исследователей, таких как Дари К., Козловский П., Машнин М. С., Чедвин Д. и других.

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

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

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

1.1 Разработка мобильного приложения: от идеи до результата

Как бы банально это ни звучало, хорошее приложение начинается с хорошей идеи.

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

• Количество загрузок - если приложение загружено, оно кому-то нужно.

• Рейтинги и обзоры - помогут выявить слабые стороны и адаптировать «фишки», которые нравятся пользователям для вашего продукта.

• История компании – нужно быть готовым столкнуться с теми же проблемами, что и ваши ближайшие конкуренты. В то же время нужно постараться понять, как они завоевали признание аудитории.[7, с 176]

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

Этап стратегического планирования заканчивается дорожной картой для вашего мобильного приложения, которая уловит его идеальный путь от минимального жизнеспособного продукта (MVP) до верхушек магазинов. Нужно составить список контрольных точек и расположить их в соответствии с вашими приоритетами.

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

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

Самый простой способ проверить, насколько хорош ваш UX-дизайн, - протестировать его на будущих пользователях. Нужно отправить им ссылку, после нажатия на которую они смогут «тыкать» на отрендеренные каркасы.

Стилоги - это строительные материалы для оформления «интерьера» мобильного приложения и повышения его удобства использования. Без продуманного руководства по стилю элементы дизайна будут менять цвета и плавать по экрану, сбивая пользователя с толку.[5, с. 165]

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

Рендеринг - это процесс рендеринга каркасов в цифровом виде в соответствии с руководством по стилю. [14, с. 90] Дизайнер должен придерживаться рекомендаций, но не следовать им вслепую. Только так визуальная составляющая мобильного приложения будет выглядеть целостно.

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

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

В какой-то степени успех сотрудничества дизайнеров и разработчиков зависит от выбора инструментов. Например, приложение Zeplin в последний раз показывает все свойства загруженного в него дизайна, хотя оно не обладает всеми возможностями Sketch или Photoshop. В любом случае, убедитесь, что команда использует точные значения измерений и не ленится копировать цветовые коды HEX.[19, с. 155]

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

Существует три основных подхода к развитию веб-интерфейса:

• Native - при таком подходе приложение написано для конкретной мобильной платформы. То есть код приложения для Android нельзя использовать на iOS без адаптации. Интерфейс нативного приложения выглядит максимально органично и работает быстро и без сбоев. За такую ​​надежность нужно платить, поэтому нативная разработка обходится дороже, чем другие варианты.

• Кроссплатформенный - код для такого приложения универсален, в результате чего ОС запускает его как нативный. Многие считают этот метод оптимальным с точки зрения соотношения цены и качества, но все же он требует от разработчика времени на оптимизацию. Если вы остановитесь на этом, то среди фреймворков выберите между React Native, Xamarin и Native Script.

• Гибридный - код написан на HTML, CSS или Javascript в таких средах разработки, как Cordova, Phone Gap и Ionic. Получается дешево, сердито и не без проблем.

Бэкэнд-разработка (программный интерфейс и сервер)[11, с. 66]

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

• Язык программирования - вы можете написать мобильное приложение на Java, SWIFT и сервер на Javascript, C #, Go-lang, PHP, Python и еще на дюжине языков. И у каждого из них есть рамки на любой вкус.

• Система управления базами данных - они делятся на два типа: те, которые работают на SQL, и все остальные. Системы SQL надежны и подходят для решения практически любых задач. Наиболее популярными являются MSSQL, MYSQL и PostgreSQL. Кроме того, вам нужно выбрать движок (подсистему хранения) и построить базовую схему. Ваша цель на этом этапе - сделать систему надежной и хорошо структурированной. Не поленитесь и тщательно продумайте каждый из его элементов.

• Хостинг для сервера и API - и здесь важно учитывать производительность и масштабируемость приложения, а также его надежность и цену в магазинах. Поставщики, такие как Amazon AWS и Rackspace, предлагают разработчикам облачные решения, и размер облака может быть увеличен по мере роста базы пользователей. Они также помогут с резервным копированием данных и оперативными обновлениями.[9, с. 66]

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

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

Приложение не должно тестироваться его разработчиками.

Тип тестирования выбирается исходя из протестированных характеристик приложения:

• Функциональность - должна соответствовать заявленной. Хорошо, если у подрядчика есть команда QA, и у нее есть план тестирования со списком всех функций приложения и его желаемого поведения. Но если их нет, нужно позаботиться об этом и нанять специально обученных специалистов. Удобство использования - интерфейс мобильного приложения должен быть интуитивно понятным и дружественным. Те, кто впервые увидит продукт, расскажут вам о проблемах с этими качествами.

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

• Дизайн - здесь дизайнеры должны будут снова принять участие в работе и убедиться, что каждая деталь визуального стиля была реализована разработчиками в соответствии с руководством по стилю. Кстати, это еще одна веская причина работать с компаниями, которые занимаются как разработкой, так и дизайном.[4, с. 123]

Но это не все:

• Регрессионное тестирование - используется для проверки уже проверенного кода на наличие ошибок, которые были исправлены ранее или возникли в результате этих исправлений. Здесь снова команда QA приходит на помощь с контрольными списками изменений, внесенных в код каждого спринта.

• Тестирование платформы - на них установлено множество комбинаций мобильных устройств и операционных систем. Посмотрите, как приложение работает на смартфонах с разными размерами экрана и разрешениями, и запустите его на разных версиях ОС.

• Пользовательское приемочное тестирование - проводится будущими пользователями приложения и показывает, готов ли продукт к выходу на рынок. Собирайте отзывы и готовьтесь к запуску, только если ваше приложение прошло все предыдущие тесты с блеском.[12, с. 66]

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

На этом этапе заявка должна быть полностью подготовлена ​​для выхода на рынок. Но если хочется разумно расходовать свой маркетинговый бюджет, то слишком рано размещать приложение в открытом доступе для Google Play и Apple App Store. Нам нужно протестировать это снова - на этот раз в небольших группах целевой аудитории. Есть два способа сделать это.

Первое правило фокус-группы заключается в том, что участники должны увидеть приложение в первый раз. Нужно выяснить, кто они, как они узнали о вашем продукте и используют ли они что-то подобное. Когда вы переходите непосредственно к тестированию, не давайте подсказок, а смотрите, с какими трудностями люди сталкиваются при использовании приложения. Затем попросите каждого участника высказаться и обсудить все спорные вопросы.[13, с. 133]

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

Прежде чем представить свое мобильное приложение миру, позаботьтесь о двух вещах: надежный сервер API и соответствие правилам Google Play Store и Apple App Store.

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

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

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

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

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

Цель мониторинга - понять, что делать дальше. Используйте статистику и обзоры, чтобы выявить слабые стороны, а затем вернуться на n шагов и усилить их. Увеличивайте конверсию пользователей в клиентов, расширяйте клиентскую базу, зарабатывайте в конце концов. В конце концов, мобильная разработка - это очень динамичная среда, и чтобы быть на плаву, мы должны постоянно работать над продуктом и над собой.[16, с. 89]

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

1.2 Типы мобильных приложений: критерии выбора

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

При разработке того или иного мобильного приложения, прежде всего, необходимо сосредоточиться на их типах. Действительно, в этом контексте технология создания управляет этим, в зависимости от того, какие мобильные приложения следует разделить на нативные, гибридные и веб-приложения. Естественно, каждый вид щедро наделен преимуществами, но не лишен недостатков. [11, .с 89]И для того, чтобы определить плюсы и минусы, необходимо учитывать следующие критерии:

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

2. Время, отведенное на разработку. Это означает, что вам нужно решить, сколько временного ресурса потребуется, если выполняются следующие условия:

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

- дать им аналогичное задание

- обеспечить разницу только в форме разработки технологии

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

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

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

6. Удобство для пользователя. Использование приложения должно быть удобным для среднего пользователя. И поэтому его опыт работы с приложениями на этой ОС следует учитывать.

7. Распространение на ОС. Роль играет возможность использовать код (по крайней мере - частичный, максимум - полный) в различных операционных системах.[11, с. 65]

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

При выборе инструментов для разработки мобильных приложений следует руководствоваться многими факторами: совместимость мобильного приложения, его тип; выбор платформы и программного обеспечения; наличие аналогичных товаров и их количество, а также качество исполнения; скорость и простота разработки; возможность монетизации приложения путем интеграции с рекламными площадками или внутренней системой закупок и т. д.[15, .с 98]

Отметим, что сегодня существует три основных агрегатора мобильных приложений: Google Play, App Store и Windows Store. Таким образом, выбор инструментов для реализации мобильного приложения напрямую зависит от целевой платформы. Так, например, если вы планируете создать приложение для системы iOS, вам необходимо использовать Objective-C или Java ME; в случае формата XML, для целевой аудитории пользователей устройств Android. Ориентируя приложение на платформу Windows Store, мы можем говорить о значительных преимуществах совместимости: как на смартфонах и планшетах, так и на ПК, поскольку большая целевая аудитория обеспечивает больше загрузок и установок.

Для разработки приложений, а также для расширения возможностей готовых приложений программисты используют набор инструментов разработки, обеспечивающих доступ к соответствующему программному обеспечению. SDK (Software Development Kit) - набор инструментов разработки, включающий библиотеки, примеры, исходные коды, средства отладки). SDK оптимизирует процесс создания приложений путем решения общих задач.

Наборы инструментов каждого из SDK различаются в зависимости от типа приложения. Для Android приложения разрабатываются на платформе Java. Технологии Micro Edition (Java ME) или Java 2 Micro Edition (J2ME) используются для устройств с ограниченными ресурсами, таких как планшеты, КПК и смартфоны. Выбор разработчиков Java ME популярен, он функционален и может быть использован при программировании простых устройств и разработке корпоративных приложений. Однако широкие возможности мобильных платформ предъявляют к разработчику повышенные требования к знанию языка.[7, с.90]

SDK для iOS (iPhone и iPad) используют объектно-ориентированный язык программирования Objective-C, который является надстройкой для C, что значительно упрощает разработку приложений и не требует дополнительных затрат на программирование для программистов. Objective-C обычно используется на мобильных устройствах Apple. Скомпилированный объектно-ориентированный язык программирования Objective-C поддерживает синтаксис, который позволяет более компактно решить ту же проблему, чем более подробный Java ME. Считается, что процесс разработки под

Android, при прочих равных условиях, занимает на 25% больше времени, чем при работе на iOS.

При разработке приложений для iOS необходимо использовать компьютер под управлением Mac OS X, а для тестирования созданных приложений на реальных устройствах необходимо участвовать в программе Apple для разработчиков, ежегодная стоимость которой составляет 99 долларов, что приводит к увеличению в стоимости работ. В то же время инструменты разработки для Android доступны на всех популярных ОС (Windows, Linux, Mac), а тестирование приложений возможно на любом поддерживаемом устройстве без каких-либо ограничений.

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

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

• скомпилированный код проекта оптимален для собственной платформы, между кодом приложения и исполняемым файлом нет никаких дополнительных слоев;

• приложение получает полную аппаратную поддержку устройства и использует многопоточность для сложных задач с высокой производительностью;

• интерфейс, высокий уровень удобства использования. Собственные приложения реализуют архитектурные и дизайнерские решения в привычном расположении элементов управления.[11, с. 89]

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

• нативные приложения предназначены для параметров и свойств конкретной платформы (мобильная ОС, связанная с ней экосистема и технические характеристики самого мобильного устройства);

• требует поддержки и обновления для каждой платформы (iOS, Android и т. Д.);

• требуется высокая компетентность специалистов в области Java или Objective-C, поскольку специфика разработки требует высокого порога при изучении технологий. Разработка кроссплатформенных приложений как веб-сервис

или мобильный сайт - самый распространенный тип мобильного приложения. Любой смартфон способен открыть сайт, поэтому проблем с совместимостью нет.

Мобильные веб-приложения создаются на языке разметки и стилей (HTML, CSS и Java Script). HTML (Hyper Text Markup Language), состоящий из тегов, используется для разметки элементов интерфейса, CSS (Cascading Style Sheets) - для правильного размещения и размещения элементов на странице в соответствии с дизайном. Язык программирования Java Script реализует логику приложения.

Эти передовые технологии успешно используются для разработки приложений, которые можно адаптировать к различным устройствам. Среди инструментов, так называемых фреймворков, ускоряющих процесс разработки, создатели веб-приложений используют фреймворк Phone Gap, особенность которого заключается в том, что оно позволяет приложению открывать доступ к аппаратным и программным возможностям платформы. Кроссплатформенная разработка также возможна на таких технологиях, как Xamarin, Unity и т. Д., Но они не так популярны для разработки приложений, как веб-технологии.

Преимущества кроссплатформенных приложений:

• независимость от платформы - кроссплатформенные решения реализованы на разных платформах (iOS, Android, Windows);

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

• поддержка и обновление продукта - добавление функциональности или исправление ошибок для всех платформ одновременно;

• Отладка веб-приложения выполняется на компьютере разработчика в браузере с использованием аппаратных ресурсов устройства.[9, с. 123]

К недостаткам кроссплатформенных приложений можно отнести:

• Медленная работа приложения из-за дополнительного слоя в виде веб-браузера (в этом отношении производительность ниже, чем у нативных дизайнов);

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

• веб-приложения имеют доступ к ограниченному набору сервисов (постоянное хранилище (локальное хранилище), гео-координаты). Гибридные приложения - это технологии, которые позволяют разрабатывать логику и интерфейс в HTML и Java Script, одновременно имея доступ к ресурсам устройства. SDK для мобильных платформ предоставляют специальный компонент браузера для реализации в собственном приложении - Web View на Android, UI Web View на iOS с возможностью передачи вызовов из собственного кода в веб-приложение (код Java Script), а также получения сообщений из Java Script обратно в собственную часть приложения. Таким образом, мы получаем веб-приложение, которое работает в «обертке» и обслуживается не как веб-страница, а как отдельное приложение, которое требует установки и имеет отдельный значок. В результате гибридные приложения представляют собой эффективное комбинированное решение, использующее кросс-платформенные преимущества HTML для дизайна контента, в котором быстрые и отзывчивые меню и элементы управления являются родными. В гибридных приложениях только объем собственного кода определяет, какой тип приложения соответствует разработке приложения.

Инструментом для создания гибридных мобильных приложений является программная платформа Phone Gap. Эта бесплатная платформа с открытым исходным кодом для создания мобильных приложений позволяет разрабатывать приложения для мобильных устройств с использованием JavaScript, HTML5 и CSS3 без необходимости знать «родные» языки программирования для всех мобильных ОС. Чтобы сделать веб-службу мобильным приложением, создается мобильный интерфейс, который будет частью встроенного приложения с использованием инфраструктуры Dojo, пакетов, специально адаптированных для мобильных устройств.[16, с. 145]

Недостатки гибридных приложений:

• относительно высокие требования к ресурсам устройства, приложение может «тормозить» из-за нехватки памяти;

• ограниченное представление визуальных и графических элементов, анимации;

• Требуется подключение к Интернету, поскольку при отсутствии подключения к Интернету веб-функции не работают.

Таким образом, существует достаточное количество программных средств для разработки приложения. На первом этапе важно понять, что именно представляет собой приложение, и определить его основные функциональные возможности. Сервис должен предоставлять хостинг для приложения, а также доступность управления приложениями и возможность публикации в популярных магазинах приложений. Функциональность и задачи приложения определяются с позиции клиента: что он хотел бы видеть, какие функции. Однако не стоит забывать об интересах заказчика и разработчика мобильного приложения. Поскольку сегодня существует широкий спектр операционных систем для мобильных устройств, основной целью разработчиков является достижение максимальной совместимости с наиболее популярными типами платформ. В этом случае необходимо использовать как можно больше ресурсов устройства, включая геолокацию, сенсорный ввод, мультимедийные возможности и т. д. В то же время приложения становятся эффективным маркетинговым инструментом.

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

Таким образом, можно сделать вывод о том, что разработка мобильных приложений - довольно перспективное направление. В среднем цена на разработку одного корпоративного приложения достигает 150–200 тысяч рублей, однако стоимость зависит от функциональности и совместимости с популярными платформами.

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

2.1 Инструменты разработки мобильных приложений: обзор платформ

1 Xamarin

Начнем с тяжеловесов. Этот конструктор не для начинающих, поскольку требует минимального знания C#. Из плюсов — подходит для приложений как Android или iOS, а также содержит полезные внутренние метрики для отслеживания поведения пользователей.

2 jQuery Mobile

Если вам нужно интерактивное, кросс-платформенное и адаптивное приложение, то jQuery — ваше решение. Огромное количество модулей позволят реализовать любую по сложности задумку, а разнообразные новинки от сообщества (преимущество открытого кода) и вовсе идеальное поле для творчества.

3 Android Studio

Комплексная кроссплатформенная среда для разработки приложений на Android. По функционалу разве что не летает. Помимо инструментов для самого аппа, вы можете рассчитывать на полный набор полезных штук от Google (Аналитика, интеграция с облачными хранилищами и т.д.).

4 Como

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

5 Appery.io[10, с. 167]

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

6 Bizness Apps

Есть разделение по специфике бизнеса, но только для маленьких и уже проработанных сегментов. Если вы “в списке”, то можете рассчитывать на шаблоны со всеми необходимыми инструментами для дальнейшей оптимизации. Подходит для Android и iOS.

7 Dojo Mobile

Для тех, кто в курсе HTML, JavaScript и CSS. Порадуйтесь количество виджетов, готовых тем и оцените кросс-платформенность.

8 GameSalad

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

9 AppMachine

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

10 AppMakr

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

2.2 Оценка и сравнительный анализ средств создания мобильных приложений

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

• функциональность;

• удобный интерфейс;

• возможность подключения дополнительных модулей;

• требовательная система;

• возможность подключения к системам контроля версий;

• наличие встроенных компонентов тестирования приложений.[12, с. 90]

Android Studio - это продукт Google. Основано на программном обеспечении IntelliJ IDEA от JetBrains, официальном инструменте разработки приложений для Android. Текущая версия приложения 2.2. Эта среда разработки доступна для Windows, OS X и Linux. Функциональность этого приложения использует язык Java для написания программного кода. Разработка интерфейса осуществляется методом drag-n-drop, но есть также возможность использовать XML. Для удобства разработки интерфейса существуют также шаблоны, ориентированные на задачу, которую должно выполнить приложение. Интерфейс этого программного обеспечения перегружен. Интерфейс библиотек приложения выглядит как раскрывающееся дерево, и вы должны выделить много места для общего интерфейса, в противном случае информация становится нечитаемой. Та же ситуация с окном отладки. В функционале Android Studio возможность подключения дополнительных плагинов отсутствует. Этот инструмент разработки очень требователен к технической составляющей компьютера по сравнению с другими инструментами разработки. Минимальный объем оперативной памяти, необходимый для этого продукта, составляет 2 гигабайта. Но для комфортной работы с этой программой рекомендуемый объем памяти составляет 8 гигабайт, что не является проблемой для современных компьютеров, но на ПК старше 2014 года эта среда функционирует очень медленно, не говоря уже о параллельном запуске других, даже не очень требовательные приложения. Полностью отсутствует возможность прямого подключения к службам контроля версий, что значительно усложняет работу группы людей над одним приложением. Имеет встроенный модуль для эмуляции устройства Android. Этот эмулятор требует отдельных ресурсов, что еще больше увеличивает спрос на компьютерное программное обеспечение.

Eclipse - это среда разработки, созданная Eclipsefoundation. Текущая версия Eclipse 4.6 (Neon). Язык, используемый для написания мобильных приложений, - Java. Он включает в свой функционал не только инструменты для разработки мобильных приложений, но и веб-приложения, поддерживает C ++ и PHP. Здесь нет шаблонов или готовых объектов для разработки интерфейса. Можно синхронизировать разные ПК для разработки одного проекта через облачные сервисы. Простой и удобный интерфейс. Панель библиотеки имеет древовидную структуру, но проблема предыдущего продукта здесь просто решается - можно полностью минимизировать неиспользуемые в настоящее время окна. Есть встроенный помощник для написания простого приложения Hello world. Есть возможность подключения дополнительных плагинов для расширения функциональности. Для этого в продукте предусмотрен целый модуль Eclipse Marketplace, предоставляющий на выбор всего три плагина «Market»: Eclipse Marketplace, Obeo Marketplace и RedHat. Также есть возможность написания собственных плагинов и их использования без получения лицензии или обязательного предоставления разработки на рынке. Системные требования для этого программного обеспечения не описаны разработчиком, но при использовании ПК со средней производительностью в 2012 году никаких сложностей не возникало. Из-за наличия синхронизации с облаком в системе полностью отсутствуют какие-либо интегрированные инструменты для подключения к системам контроля версий. Эмуляция устройства полностью отсутствует.

IDE NetBeans является продуктом сообщества NetBeans. Текущая версия приложения 8.2. В этом программном продукте функциональность полностью реализована с помощью плагинов. В результате программное обеспечение поддерживает большое количество языков. Java используется для разработки собственных мобильных приложений, но есть возможность создания веб-приложения, написанного на HTML5 или JS + PHP. Встроенный отладчик полностью отсутствует, но есть возможность подключить удаленный отладчик через Интернет. Интерфейс очень похож на интерфейс Eclipse, за исключением отсутствия окна отладки и наличия разметки номера строки. Требования к компьютеру либеральны. Для минимальной работы продукта требуется 512 мегабайт оперативной памяти; для более комфортной работы рекомендуется использовать компьютер с 2 гигабайтами. Имеет встроенную возможность подключения к системам контроля версий. Взаимодействует с GitHub, Mercurial и Subversion. Нет встроенных компонентов для тестирования приложения. Таким образом, анализ инструментов разработки мобильных приложений может быть сведен в таблицу, оценивая рассмотренные критерии по пятибалльной шкале (Таблица 1.).

Таблица 1

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

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

Критерии оценки

AndroidStudio

Eclipse

NetBeansIDE

Функциональность

5

4

3

Удобство интерфейса

2

5

5

Возможность подключения дополнительных модулей

1

5

4

Требовательность к системе

1

5

4

Возможность подключения к системам контроля версий

1

1

5

Наличие встроенных компонентов тестирования приложения

3

1

1

Следуя описанным выше выводам, каждый из этих программных продуктов подходит для разных направлений и предпочтений при разработке мобильных приложений. Если вам нужен мощный инструмент, который не требует времени для поиска или разработки дополнительных модулей, то вам следует выбрать Android studio. Если требуется более гибкая и мобильная разработка, рекомендуется выбрать IDE NetBeans. Если разработчик заинтересован в скрещивании первых двух, разработка в Eclipse - отличный выбор.

2.3 Анализ среды разработки мобильных приложений Android Studio

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

На сегодняшний день операционная система Android является наиболее распространенной в сфере мобильных устройств. Свою популярность Android получил во многом благодаря открытому исходному коду и политике Google, разрешающую производителям мобильных устройств безвозмездно использовать платформу Android для своей продукции. Android используется большинством крупных компании-производителей мобильных устройств, таких как Samsung, HTC, Sony, Huawei.

Android Studio – это интегрированная среда разработки (IDE) для работы с платформой Android, выпущенная компанией Google..

Первая версия Android появилась 23 сентября 2008 года и получила название «Apple Pie».

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

Платформа Android состоит из операционной системы, основанной на ядре операционной системы Linux, встроенных мобильных приложений и переходного программного обеспечения. Во главе создания и совершенствования Android платформы стоит компания Google.

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

Архитектура системы Android состоит из следующих уровней:

1) Ядро операционной системы Linux.

2) Библиотеки и система выполнения.

3) Уровень каркаса приложений наделяет разработчика доступом к интерфейсу прикладного программирования API (application programming interface).

4) Уровень приложений – комплекс стандартных приложений.

На рисунке 1 представлена архитектура системы Android.

https://sibac.info/files/2017_02_28_studtech/Aikoghaev.files/image001.png

Рисунок 1. Изображение архитектуры системы Android

Разработчик, как правило, работает с уровнями приложений и каркаса приложений. Библиотеки, система выполнения и ядро операционной системы Linux от разработчика скрыты.

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

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

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

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

Android Studio – среда разработки мобильных приложений под операционную систему Android, основанная на интегрированной среде разработки программного обеспечения IntelliJ IDEA. Аналогично среде Android IDE, Android Studio содержит встроенные инструменты для создания и отладки мобильных приложений. Дополнительно ко всем возможностям в Android Studio реализованы:

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

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

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

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

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

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

В ходе изучения на практике среды разработки мобильных приложений Android Studio и написания небольших программ (приложение «Заметки» для создания пометок, приложение для определения долготы и широты объекта, приложение, определяющее местоположение с помощью Google Maps, приложение «Фонарик») были определены следующие недостатки Android Studio:

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

Программист должен знать необходимый язык (языки), платформу (ы) и, в случае работы в команде разработчиков, методологии разработки для максимальной эффективности в выполнении задач. Всегда стоит задать вопрос «почему будет создана эта программа?», «Для чего она будет разработана», «для кого?», «Как наиболее эффективно решить задачу?». Без проб и ошибок трудно достичь высот в этой области, но разработка мобильного программного обеспечения сегодня - это такой быстро растущий сегмент, что имеется достаточно материалов и способов для обучения навыкам разработчика мобильных приложений в любой области.

Будет ли приложение работать на Android, iOS, Windows Phone или все сразу, есть ли возможность узнать Objective-C или более удобный Swift больше подойдет, информации будет достаточно. Сегодня любой программист может присоединиться к разработке мобильных приложений, и каждый найдет что-то свое в этой области.

Библиография

1. Гринберг, М. Разработка веб-приложений с использованием Flask на языке Python / М. Гринберг. - М.: ДМК, 2016. - 272 c.

2. Дари, К. AJAX и PHP. Разработка динамических веб-приложений / К. Дари, Б. Бринзаре и др. - М.: Символ, 2015. - 336 c.

3. Дэрси, Л. Разработка приложений для Android-устройств. Т. 1: Базовые принципы / Л. Дэрси, Ш. Кондер. - М.: Лори, 2015. - 402 c.

4. Здзиарски, Д. iPhone. Разработка приложений с открытым кодом / Д. Здзиарски. - СПб.: BHV, 2016. - 368 c.

5. Кирстен, В. Постреляционная СУБД Cache 5. Объектно-ориентированная разработка приложений / В. Кирстен, М. Ирингер. - М.: Бином, 2017. - 416 c.

6. Козловский, П. Разработка веб-приложений с использованием AngularJS / П. Козловский, П. Дарвин. - М.: ДМК, 2015. - 394 c.

7. Колисниченко, Д.Н. PHP и MySQL. Разработка Web-приложений / Д.Н. Колисниченко. - СПб.: БХВ-Петербург, 2016. - 560 c.

8. Колисниченко, Д.Н. PHP и MySQL. Разработка веб-приложений. Профессиональное программирование / Д.Н. Колисниченко. - СПб.: BHV, 2015. - 592 c.

9. Кречмер, Р. Разработка приложений SAP R/3 на языке ABAP/4 / Р. Кречмер, В. Вейс. - М.: Лори, 2017. - 461 c.

10. Машнин, Т.С. Google App Engine Java и Google Web Toolkit: разработка Web-приложений / Т.С. Машнин. - СПб.: BHV, 2014. - 352 c.

11. Миковски, М.С. Разработка одностраничных веб-приложений / М.С. Миковски, Д.К. Пауэлл. - М.: ДМК, 2015. - 512 c.

12. Нахавандипур, В. iOS. Разработка приложений для iPhone, iPad и iPod / В. Нахавандипур. - СПб.: Питер, 2016. - 864 c.

13. Прохоренок, Н.А. Python 3 и PyQt. Разработка приложений / Н.А. Прохоренок.. - СПб.: БХВ-Петербург, 2015. - 704 c.

14. Сергеенко, С.В. Разработка и проектирование Web-приложений Oracle Developer / С.В. Сергеенко. - М.: Интуит, 2014. - 456 c.

15. Соколова, Ю.С. Разработка приложений в среде Delphi. Ч. 1. Общие приемы программирования., стер / Ю.С. Соколова, С.Ю. Жулева. - М.: ГЛТ, 2017. - 144 c.

16. Финкэнон, Д. Flash-реклама. Разработка микросайтов, рекламных игр и фирменных приложений с помощью Adobe Flash / Д. Финкэнон. - М.: Рид Групп, 2012. - 288 c.

17. Хэррон, Д. Node.js Разработка серверных веб-приложений на JavaScript / Д. Хэррон. - М.: ДМК, 2015. - 144 c.

28. Чан, У. Django. Разработка веб-приложений на Python / У. Чан, П. Биссекс, Д. Форсье. - СПб.: Символ-плюс, 2016. - 456 c.

19. Чедвик, Д. ASP.NET 4: разработка реальных веб-приложений с помощью ASP.NET MVC / Д. Чедвик. - М.: Вильямс, 2015. - 432 c.

20. Экспозито, Д. Разработка веб-приложений с использованием ASP.NET и AJAX / Д. Экспозито. - СПб.: Питер, 2015. - 400 c.