Файл: Критерии выбора средств разработки мобильных приложений (Мобильные устройства и их классификация).pdf

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

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

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

Добавлен: 01.04.2023

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

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

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

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

Эти развитые технологии успешно применяют для разработки адаптируемых под различные устройства приложений. В числе инструментов, так называемых фреймворков {framework), которые ускоряют процесс разработки, создатели веб-приложений используют фреймворк Phone Gap, особенность которого заключается в том, что он позволяет открыть приложению доступ к аппаратным и программным возможностям платформы. Также кросс-платфор- менная разработка возможна на таких технологиях, как Xamarin, Unity и проч., но они не так популярны для разработки приложений, как веб-технологии.

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

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

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

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

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

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

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

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

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


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

Гибридные решения - самый популярный способ построения мобильных приложений, так как у него органическая среда распространения, но разработка происходит быстрее и бюджетнеє, чем в случае с нативными приложениями; хотя оболочка и написана на «родном» языке программирования, «начинка» создается на HTML5.

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

• кросс-платформенность - одно приложение можно экспортировать под любую операционную систему - iOS, Android, Windows Phone, Black Berry;

• использование одного языка - Java Script;

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

• распространение приложения через официальные магазины приложений [2].

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

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

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

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

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

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


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

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

3.2. Выбор среды разработки

Развитие рынка мобильных технологий привело к тому, что в мобильные устройства все чаще заменяют персональный компьютер в повседневной работе человека. Значительное расширение сферы применения мобильных приложений стало результатом общего признания организациями прибыльности сферы мобильных технологий, и достаточной мощности мобильных телефонов, позволяющих обрабатывать большое количество данных.
По результатам исследования продаж смартфонов в 2017 году компанией Kantar [4], общемировая рыночная доля по операционным системам выглядит следующим образом (Рис.12):

Android - 66,71%;

iOS - 29,55%;

Windows Phone - 1,41%;

Java ME - 1,09%;

Symbian - 0,85%;

BlackBerry - 0,9%

Samsung - 0,01%;

Другие - 0,02%.

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

Рисунок 11 - Доли ОС используемых в смартфонах в 2017г.

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


Цель исследования - определить наилучшую мобильную операционную систему, с точки зрения программирования приложений, на примере создания приложения по мониторингу производственного процесса. Такое приложение должно обладать определенными функциями: интеграция с производственной системой управления (или другими смежными системами); возможность проведения ручных операций по квитированию; мониторинг производственного процесса на АРМ; формирование отчетных документов и прочее [4].

Наряду с обозначенными проблемами и поставленной целью, рассмотрим специфику наиболее популярных операционных систем (далее - ОС), языков программирования и средств разработки приложений для них.
Операционная система iOS. Особенностью iOS является то, что разработка приложений возможна только на операционной системе Macintosh Operating System (далее - Mac OS). Mac OS поддерживается на компьютерах фирмы Apple, но также существует возможность установки данной операционной системы на виртуальную машину с помощью специализированного программного обеспечения. Приложения разрабатываются в основном на языке Objective-C, но в 2014 годукомпания Apple представила новый язык Swift. Код, написанный на Swift, может работать вместе с кодом, написанным на языках программирования C, C++ и Objective-C в рамках одного и того же проекта [5]. На рисунке 8 приведена иллюстрация компонентов разработки приложений для iOS.

Рисунок 12 - Компоненты разработки приложений для iOS

Операционная система Android. Мобильная операционная система Android разрабатывается в среде Android SDK, которая распространяется на всех современных компьютерных операционных системах, таких как Windows, Mac OS и Linux. Язык программирования, который лежит в основе - Java. Приложения на ОС Android способны обрабатывать большие массивы данных [4]. На рисунке 9 приведена иллюстрация компонентов разработки приложений для Android.

Рисунок 12 - Компоненты разработки приложений для Android

Операционная система Windows Phone. Разработка приложений под Windows Phone осуществляется на языке C# в среде Visual Studio. Поддержка Windows Phone начинается с версии Visual Studio 2012. Помимо этого существует бесплатная версия Visual Studio Express 2012 for Windows Phone [4]. На рисунке 10 приведена иллюстрация компонентов разработки приложений для Windows Phone.

Рисунок 12 - Компоненты разработки приложений для Windows Phone


Для определения целесообразности разработки приложений на описанных выше ОС в соответствии с поставленной целью, нами были выделены критерии сравнения.

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

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

Удобство разработки и отладки. Насколько развиты инструменты разработки и отладки в рамках данной операционной системы.

Скорость работы ОС. Кскорости работы можно отнести: время загрузки всех действий пользователя и системы; отклик системы на действия пользователя; возможность и количество времени обработки сложных запросов.

Юзабилити. Наглядная и функциональная полнота разрабатываемого приложения.

Интеграция со смежными системами. Возможность интегрирования со смежными системами для реализации бизнес-процессов на предприятии.
Открытость исходного кода ОС. Свободный доступ к ядру операционной системы [6].

В таблице №2 приведено сравнение операционных систем iOS, Android, Windows Phone по критериям.

Таблица №2

Сравнение средств разработки ОС iOS, Android и Windows Phone

Критерии

iOS

Android

Windows Phone

Время разработки

Освоение языка:

Swift – быстрое; Objective-C – медленное.

Время на разработку: среднее.

Освоение языка: быстрое.

Время на разработку: высокое.

Освоение языка: быстрое.

Время на разработку: среднее.

Наличие специалистов

Язык Objective-C: узкий круг специалистов.

Язык Swift: большое количество специалистов

В основе используется язык Java, поэтому программировать могут большое количество специалистов

В основе используется язык C#, поэтому программировать могут большое количество специалистов

Удобство разработки и отладки

Инструменты разработки развиты в полной мере.

Инструменты разработки развиты в полной мере.

Инструменты разработки развиты в полной мере.

Скорость работы ОС

Время загрузки всех действий пользователя и систем: быстрое.

Отклик системы на действия пользователя: быстрое.

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

Время загрузки всех действий пользователя и систем: быстрое.

Отклик системы на действия пользователя: быстрое.

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

Время загрузки всех действий пользователя и систем: быстрое.

Отклик системы на действия пользователя: быстрое.

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

Юзабилити

Наличие ограничений. Пользовательский интерфейс интуитивно понятный.

Наличие ограничений отсутствует. Пользовательский интерфейс интуитивно понятный.

Наличие ограничений отсутствует. Пользовательский интерфейс интуитивно понятный.

Интеграция со смежными системами

Интеграция возможна со смежными системами.

Интеграция возможна со смежными системами.

Интеграция возможна со смежными системами.

Открытость исходного кода ОС

Закрыт

Открыт

Закрыт