Особенности разработки мобильных приложений
Автор: Лазченко В.Р.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 12-3 (28), 2018 года.
Бесплатный доступ
В статье описан цикл разработки мобильных приложений. Исследуется процесс разработки с момента возникновения идеи до публикации готового продукта.
Цикл разработки, мобильные приложения
Короткий адрес: https://sciup.org/140281418
IDR: 140281418
Текст научной статьи Особенности разработки мобильных приложений
В сфере информационных технологий спрос на мобильные приложения стремительно растёт. Это обусловлено удобством использования, а также наличием повсеместного доступа к приложениям. Немаловажным фактором является и сама стоимость мобильных устройств, которая может варьироваться в широком диапазоне. Даже самые бюджетные устройства позволяют использовать основную массу программного обеспечения, функционал которого не уступает своим аналогам на компьютерах, являющимися по своей цене более дорогостоящими. Возможности, которые дают мобильные приложения не могут игнорировать и компании, работающие в различных отраслях. Лёгкий доступ к информации и возможности использования встроенных функций телефона позволяет компаниям повысить приток клиентов, пользующимися их услугами. В результате чего, рынок мобильных приложений пополняется и корпоративными продуктами. Преимущества использования мобильных приложений очевидны, однако, это накладывает отпечаток на их процесс разработки.
Рассмотрим особенности процесса разработки программного обеспечения для мобильных устройств. Разработка мобильных приложений как и разработка компьютерного ПО предполагает наличие одних и тех же в большинстве своем этапов разработки. Различия в процессе будут заметны внутри некоторых из них.
Процесс разработки состоит из следующих этапов:
-
1. Выбор идеи
-
2. Составление первичного технического задания
-
3. Аналитика
-
4. Проектирование бизнес-логики
-
5. Создание UI/UX
-
6. Создание дизайна
-
7. Тестирование
-
8. Публикация
Выбор идеи
Любое программное обеспечение должно решать проблему. В мобильной разработке такие проблемы связаны либо с использованием встроенных функций устройств, либо с адаптацией уже существующего решения под мобильные платформы с целью комфортного и повсеместного доступа. В первом случае разработчики берут во внимание наличие встроенных функций:
-
• Доступ к сетевым диапазонам 2G-4G
o Звонки o Интернет
-
• Каналы передачи данных o WiFi
o Bluetooth
-
• GPS-датчик
-
• Камера
-
• Сенсорное управление
-
• Акселерометр
-
• Микрофон
С использованием комбинаций различных функций можно создать множество приложений для решения ряда задач. Так, калькулятор может иметь функцию сканирования выражений с использованием камеры, а микрофон можно использовать в приложении, целью которого является анализ уровня шума в помещении.
Любое использование приложением функции разработчикам необходимо учесть в разрешениях доступа.
При выборе идеи, связанной с адаптацией уже существующих на других платформах решений во внимание берутся ограничения мобильных устройств. Примером исходных решений являются сайты различных категорий - банковские, сервисы по оказанию услуг и т.д, а также прикладное ПО – для работы с документами, вычислительные приложения . В итоге, должно получиться мобильное приложение реализующее те же функции, но полностью поддерживаемое устройством и имеющее упрощенный интерфейс.
Ещё одной категорией возможного ПО являются развлекательные приложения. При выборе подобной идеи особое внимание уделяется предварительной аналитике – анализу существующих приложений, а также вычислительным возможностям процессоров мобильных устройств.
Составление первичного технического задания
На данном этапе составляется перечень функций, которое должно иметь приложение. Изначально техническое задание (ТЗ) формируется заказчиком. Затем дорабатывается командой разработчиков и согласуется с заказчиком. Процесс составления ТЗ итеративный. В процессе разработки могут возникать нюансы, приводящие к изменению ранее запланированного перечню функций. Также в описании технического задания могут присутствовать описание деталей, связанных с дизайном и интерфейсом. Эти детали могут быть указаны изначально заказчиком, либо же быть сформулированными командой разработчиков. Техническое задание может быть составлено в соответствии с нормами стандартизации или иметь произвольную форму.
Аналитика
Прежде чем переходить к разработке, необходимо оценить существующие аналоги. А именно, функционал, дизайн, оценки и некоторые комментарии к аналогичным приложениям , размещенным в том же сегменте, где и планируется размещать создаваемое приложение. Анализ стороннего функционала и дизайна поможет наработать идею, в которой составляющие будут включать полезные функции, а дизайн не будет повторяться. На этом этапе может происходить и выбор будущего рекламодателя, источников трафика и прочих параметров, если таковы имеются.
Проектирование бизнес-логики
Интенсивный процесс разработки начинается здесь. Этап проектирования бизнес-логики подразумевает под собой выбор используемых технологий, в соответствии с которыми определяются объекты, связи между ними и их поведение при различном пользовательском сценарии. Описание бизнес-логики может представлять из себя обычный текст или концептуальную модель. Объекты и их поведение могут определяться исходя из разного уровня абстракции. Результирующий уровень – программный код, где объекты представлены экземплярами классов или их совокупностью, а поведение между ними описывает программный алгоритм.
Создание UI/UX
Особое значение в мобильной разработке имеет UI – пользовательский интерфейс, и UX – пользовательский опыт. Первый определяет, что будет содержать графический интерфейс – кнопки, поля ввода, текст с указаниями и другие визуальные элементы, с которыми будет работать пользователь, и как они будут выглядеть. Второй – аспекты взаимодействия пользователя с приложением в процессе его использования. В широком смысле под UX подразумевается впечатление пользователя, полученное в результате использования приложения. Исходя из этого, можно сделать вывод, что UI входит в UX. В процессе разработки этих частей изначально проектируется UX, как последовательность взаимодействия приложения с пользователем, затем создаётся UI – совокупность визуальных элементов на каждом этапе этой последовательности. При создании и размещении визуальных элементов разработчикам необходимо учитывать различные разрешения экрана и соотношение сторон на мобильных устройствах.
Создание дизайна
Дизайн в мобильных приложениях также как и UI/UX имеет свои особенности в процессе разработки. Но в отличие от пользовательского интерфейса и пользовательского опыта, дизайн представляет из себя нечто иное. В мобильных приложениях под ним подразумевается использование заданных комбинаций цветов – цветовых схем, определенных фоновых изображений, иконок. И если в UI разрабатывается пользовательский интерфейс из ряда визуальных элементов, то дизайн – это описание внешнего представления этих элементов. По этой причине иногда его включают в UI, в этом случае чаще всего разработкой и того, и другого занимается один и тот же человек. Перед тем, как окончательно внедрять дизайн в приложение, создаются макеты различных вариантов, в которых видно его точное представление. Оптимальный дизайн будет утверждён и установлен в приложении по умолчанию, а другие варианты могут быть доступны для применения пользователем. Также, при его создании разработчикам необходимо учитывать разрешения используемых иконок и изображений для качественного отображения на устройствах с различным разрешением. Так, при разработке Android-приложения, для разрешений экрана с шириной 480px, используются файлы изображений, хранящиеся в папках с названием "drawable-hdpi". Дизайн мобильных приложений играет важную роль в привлечении и удержании пользователей.
Тестирование
Следующим важным этапом является тестирование приложения. Тестирование – процесс итеративный. И перед началом разработки происходит тестирование требований на наличие противоречивости. Далее необходимость в тестировании обусловлена не только возможностью появления непредсказуемых технических ошибок, но и индивидуальной несовместимостью ряда мобильных устройств, имеющих определенное разрешение экрана и версию программной платформы. Например, функция Autosizing, применимая к элементам TextView графического интерфейса платформы Android, может быть внедрена разработчиками и успешно проверена на устройствах с версией платформы API 26. Однако при понижении версии API можно убедиться, что функция срабатывает частично, а при достижении порога API < 14 полностью перестает работать. Разработчики при внедрении того или иного функционала должны знать о подобных ограничениях. В ином случае, проблема будет выявлена на этапе тестирования. Также существует ряд других проблем, которые могут быть выявлены при определенном виде тестирования.
Виды тестирования могут быть следующими:
-
1. Функциональное
-
2. Тестирование безопасности
-
3. Тестирование совместимости
-
4. UX – тестирование
А также иногда проводится полное тестирование, включающее в себя всё вышеперечисленное в определенной последовательности.
Нельзя недооценивать значения тестирования. Это последний этап, прежде, чем приложение окажется у пользователя.
Публикация
Конечным продуктом процесса мобильной разработки является скомпилированный исполняемый файл, сопровождающая документация, а также набор исходных файлов. В зависимости от конечной цели разработки, продукт может быть предоставлен заказчику или быть опубликованным от лица компании или независимого разработчика в магазине приложений. Для платформы Android одним из самых популярных магазинов является Play Market, для iOS – App Store, для Tizen – Tizen Store. Также существуют и другие аналоги. На этапе регистрации и публикации приложения необходимо ознакомиться с условиями соглашения. Содержимое приложения, скриншоты и реклама не должны нарушать правила. В последующем рекомендовано внедрять обновления, учитывая оценки и замечания пользователей.