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

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

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

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

Добавлен: 05.04.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

Методологической основой исследования является учебная и методическая литература, статьи в периодической печати и Интернет-ресурсы.

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ


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

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

По результатам исследования продаж смартфонов в 2015 году компанией Kantar [10], общемировая рыночная доля по операционным системам выглядит следующим образом (рис. 1):

- Android – 49,3%;

- iOS – 43,7%;

- Windows Phone – 5,6%;

- Blackberry – 0,9%

Рис. 1. Предпочтения операционных систем мобильных телефонов в 2015 году

В 2014 году аналитическая компания IDC проводила опрос [8], по результатам которого более 50% зарубежных компаний считают, что обеспечение доступа сотрудников к корпоративным приложениям с помощью мобильных устройств является первоочередной технологической задачей. Центром подобного «мобильного мира» является переносной компьютер или мобильный телефон, позволяющий мобильным пользователям осуществлять свою работу независимо от местонахождения [12].

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

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


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

1.2 Критерии выбора технологии разработки мобильных приложений

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

Успех мобильных устройств достигается, как правило, за счет установленной операционной системы (ОС). Большую популярность на данный момент заработала ОС Android.

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

Список параметров, на основании которых можно ориентироваться при выборе технологии, включает:

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

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

Каждая современная мобильная платформа предоставляет инструментарий для разработчиков (SDK — software development kit), который позволяет получить доступ практически ко всем сервисам устройства. Разработчики SDK стремятся упростить процесс создания приложений путем решения типовых задач, с которыми сторонние разработчики сталкиваются в повседневной практике.

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

Выбор разработчиков SDK для Андроид в пользу Java вполне оправдан, т.к. этот язык на данный момент является, очевидно,  самым популярным. Вместе с тем, он богат возможностями и может с успехом применяться в областях от программирования простых устройств  до разработки огромных корпоративных приложений. Богатство возможностей предъявляет разработчику повышенные требования к знаниям  языка.

Чтобы разрабатывать нативные приложения для iPhone и iPad, нужно будет изучить язык Objective-C. Данный язык применяется, в основном, для разработки под Mac OS X и мобильную операционную систему iOS. В связи с большой популярностью мобильных устройств от Apple, спрос на разработчиков на Objective-C постоянно высок.

Чтобы начать разрабатывать для iOS нужно выполнить несколько условий. Во-первых, потребуется компьютер под управлением Mac OS X. Во вторых, чтобы тестировать написанные приложения на реальных устройствах, нужно обязательно участвовать в программе для разработчиков от Apple, ежегодная стоимость которой составляет 99$. Эти факторы отпугивают начинающих разработчиков, что приводит к нехватке опытных программистов под iOS.

Для сравнения, инструменты для разработки под Андроид доступны на всех популярных ОС (Windows, Linux, Mac). Тестировать приложения можно на любом поддерживаемом устройстве без каких-либо ограничений.

В целом, если сравнивать процесс разработки и распространения приложений для Андроид и iOS, то в обоих случаях имеются свои плюсы и минусы. Язык Objective-C поддерживает синтаксис, который позволяет более компактно решить ту же задачу, чем потребуется на Java. Язык Java более многословен. По некоторым оценкам, процесс разработки под Android занимает, при прочих равных, на 25% больше времени, чем той же задачи на iOS.

К основным преимуществам нативной разработки можно отнести:


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

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

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

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

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

Мобильное веб-приложение разрабатывается с помощью ставших уже классическими инструментов. HTML применяется для разметки элементов интерфейса. CSS описывает визуальную составляющую и взаимное расположение виджетов и контролов. Язык программирования JavaScript реализует логику приложения.

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

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