Файл: Критерии выбора средств разработки мобильных приложений (ПРОБЛЕМЫ РАЗРАБОТКИ КРОССПЛАТФОРМЕННЫХ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ).pdf
Добавлен: 15.06.2023
Просмотров: 325
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА 1. ВЫБОР СРЕДСТВ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
1.1 ПРОБЛЕМЫ РАЗРАБОТКИ КРОССПЛАТФОРМЕННЫХ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
1.2 СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
ГЛАВА 2. МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ РОССИЙСКОГО РЫНКА
Имеется ряд фреймворков, предназначенных для использования при разработке приложений на C++. Фреймворк Qt является одним из них.
Qt Qt является кроссплатформенным фреймворком для разработки приложений. Фреймворк предоставляет API на языке C++. Qt часто используется разработчиками для разработки кроссплатформенных приложений.
При помощи Qt можно разрабатывать приложения с графическим интерфейсом, приложения, работающие с сетью, приложения, работающие с базами данных и мультимедийные приложения, работать с XML- структурами и 3D-графикой, осуществлять рисование и доступ к сетевым ресурсам. Поскольку поддерживается ряд платформ, Qt может работать на Linux, Mac OS, Windows, Meego, встраиваемых Linux-системах и Symbian.
По мере продвижения разработки Qt, становилось все сложнее поддерживать версии для C++ и Java, поэтому и было принято решение поддерживать только версию для C++.[9]
Каждая технология имеет свои плюсы и минусы. То же самое имеет место и у кроссплатформенных средств разработки. Если они удобные, то в некоторых моментах также и бесполезные. В сравнении с разработкой приложений для конкретной платформы, каждый может найти способ создания конкретного приложения.
В современном развитии программных и аппаратных платформ прослеживаются две отчетливые тенденции:
- программные и аппаратные платформы становятся все более и более совместимыми друг с другом, границы между ними становятся легко преодолимыми;
- все время появляются новые технологии, которые предлагают разные способы решения одних и тех же задач.
Таким образом, одна и та же задача по разработке программного продукта может быть решена множеством разных способов, и специалист по разработке программного обеспечения должен уметь выбирать платформы и технологии, исходя из особенностей задачи и конкретных условий.
1.2 СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
Современный человек делает все для того чтобы достигнуть максимального комфорта и удобства в своей жизни.
Для этого сегодня специалистами в области информационных технологий разрабатываются мобильные приложения, которые позволяют решать огромное количество задач в разных областях жизнедеятельности человека. [10]
Все мобильные приложения условно можно поделить на программы для рабочих целей и на развлекательные программы. Первые позволяют контролировать и оптимизировать рабочие процессы, составлять аналитическую отчетность, выполнять иные функциональные задачи.
Вторые – позволяют интересно и разнообразно проводить время. Однако, как показывает практика, большим спросом сегодня пользуется специализированный софт.
Также именно на таких программах можно делать неплохие деньги, ведь современные компании не жалеют инвестиций в продукты, которые могли бы в какой-либо степени оптимизировать или упростить имеющиеся бизнес-процессы. На протяжении последних лет показатель, характеризующий уровень спроса на мобильные устройства, постоянно растет. Такая статистика позволяет сделать вывод о том, что разработка мобильных приложений актуальна и целесообразна. [11]
Мобильное приложение – это программный продукт, предназначенный для использования на мобильных устройствах оснащенных операционной системой. Мобильные приложения могут быть установлены на устройстве с завода изготовителя либо скачаны с флэш – носителей или загружены из онлайн магазинов, где за это может взиматься плата либо доступны в бесплатном доступе. [12]
Для того чтобы наглядно рассмотреть достоинства и недостатки существующих типов мобильных приложений.
Классификация мобильных приложений по роду деятельности:
1. Контентные приложения. Обладают большой популярностью, основные задачи которые они выполняют это: прослушивания музыки, просмотры фильмов и фотографий, чтения цифровых книг и журналов.
Так же к ним можно отнести информационные приложения, например предоставляющие информацию о погоде, расписания городского транспорта, свежих новостях, рецепты или разработанные специально к каким либо намечающимся событиям, таких как спортивные чемпионаты, выставки или форумы. Ну и конечно специальные рекламные приложения.
2. Бизнес приложения. Сделаны для помощи в офисной работе, расчетах, обмене служебными данными, а также обеспечивающие доступ к интернет–магазинам, платежным системам и банковским счетам. На данный\ момент сегмент бизнес –приложений является более интересным для инвесторов, но сложность состоит в переводе бизнес –задач на мобильные устройства.
3. Мобильные игры – это наиболее востребованный сектор мобильных приложений.
4. Мобильные социальные сети. [13]
Данный вид с каждым днем набирают все большую популярность, увеличивая многочисленную аудиторию во всех странах мира, чему способствует развитие мобильного интернета расширяющего свою доступность по всей планете.
Классификация мобильных приложений по виду монетизации:
1. Платное приложение, реализуемое посредством продажи в магазине.
2. Бесплатное приложение с платной подпиской.
3. Бесплатное приложение со встроенными покупками.
4. Бесплатное приложение с рекламой внутри приложения.
Жизненный цикл – множество процессов, происходящих с момента изначального утверждения решения о разработке программного продукта, до его окончательного вывода из использования.
Модель жизненного цикла – это схема выполнения определенных задач в процессах, поддерживающих разработку, эксплуатацию и сопровождение программного обеспечения, а так же отражающая жизненный цикл, начиная от первоначальных требований к ней и довывода из эксплуатаций. [14]
Разработка модели жизненного цикла основывается на изначальной идее проектируемого программного обеспечения, его стандартов, предоставляющих возможность сформировать схему исполнения работ по предпочтению разработчика и заказчика. [15]
Модель жизненного цикла делится на процессы осуществления, которые включают в себя работы и задачи, производимые в определенном процессе, и при их окончании реализовывать переход к следующим процессам модели. Моделей жизненного цикла существует множество, но только три из них классифицируются как основные: каскадная, спиральная, эволюционная.
Каскадная модель жизненного цикла реализует, принцип одинарного исполнения каждого из основных процессов и этапов в их определенных рамках. Переход на следующий этап реализуется после того, как будет произведена работа на текущем этапе, и откатов на осуществленные стадии не предусмотрено.
Каждый этап заканчивается приобретением определенного результата, который используется в качестве базовой информаций для следующего этапа. [16]
Спиральная модель жизненного цикла. В данной модели жизненного цикла допускается анализ программного обеспечения на витке разработки, его проверку, оценивание правильности и принятия решения о переходе на виток реализаций выше либо откат для осуществления доработки. Различие данной модели от каскадной выражается в том что, спиральная модель обеспечивает многократное возвращение к изначальному этапу формулировки требований и повторному возобновлению разработки от любого этапа произведения работ. Каждая версия разработки системы соответствует витку спирали жизненного цикла.
При возникновений необходимости редактирования системы в определенном этапе, обязательно осуществляются корректировки в заранее зафиксированные требования, после чего производится откат к предыдущему процессу витка спирали для дальнейшей разработки новой версии системы с учетом поправок.
Эволюционная модель реализуется в виде последовательности блоков структур. Действия в этапах разработки в этой модели выполняется многократно, но в единой последовательности, что для общего блока структуры.
В следствие того что, промежуточные блоки структуры соответствуют реализации определенных целей, их реализация осуществляется на этапах сопровождения и эксплуатации, т.е. в параллели с процессом разработки блоков. [17]
Жизненный цикл мобильного приложения по мнению Романа Белодеда (основателя компаний по разработке программного обеспечения для мобильных устройств e – Legion) особо не чем не отличается от каскадной модели жизненного цикла для программ персональных компьютеров.
В состав Android SDK входят такие виды инструментов как: SDK manager (загружает и устанавливает компоненты Android− SDK); Debug Monitor (предназначен для отладки графического− интерфейса); Android Emulator ( инструмент для тестирования приложения− непосредственно на компьютере); AVD manager (создает виртуальные Android устройства)− Android Debug Bridge (инструмент для управления эмулятором)− В качестве первого примера рассмотрим официально рекомендуемую Google платформу Android Studio
Android Studio Android Studio основана на IntelliJ IDEA. Является официальной платформой для программирования Android приложений, доступна в бесплатном доступе. Обладает уже встроенным Android SDK.
Платформа Android Studio является обще признано самой удобной средой для тестирования и разработки приложений для Android. Компания Google сделала этот программный продукт с максимально полезным набором инструментов для разработки проектов под мобильные устройства. [18]
Процесс создания каждого приложения стал динамичней и проще, по сравнению с Eclipse. Это стало возможным, благодаря возможности отображения главных рабочих элементов в самой структуре будущего приложения, что позволяет более рационально подойти к разработке. Пользователи отмечают такую полезную функцию, как просмотр в режиме реального времени всех дополнений. [19]
Так же среда позволяет разрабатывать приложения для разных версий Android. Процесс работы на данной платформе значительно удобней Eclipse, благодаря доработке пользовательского интерфейса.
В следствие чего написание кода стало более продумано, что позволяет легко ориентироваться при разработке больших по объёму проектов. Есть функция перетаскивания функциональных элементов в самой программе, что упрощает редактирование информации.
Главные функции Android Studio:
- присутствие справочника;
− наличие динамичного эмулятора для устройств на базе платформы− Android; понятный интерфейс;
− отправка push-сообщений для приложений через любые облачные− сервисы сразу на устройства под Android. возможность быстро локализовать приложения;
− есть опция маркировки кода;− доступно большое число вариантов смены разрешения, размеров− экрана;
- наличие инструментов для повышения качества проектов и− монетизации;
- поддержка отслеживания эффективной работы рекламных− объявлений;
- дружественное отношение с бета-тестерами;
− отображение всех действий (изменений) в проекте в режиме− реального времени. [20]
Инструменты Android Studio:
- Плагин Gradle для сборки приложений;−
- Облачная среда Google;
− Функция ProGuard;
− Редактор WYSIWYG;
− Инструмент lint, создан для мониторинга проблем связанных с− производительностью и совместимости версий;
- мастера основанные на шаблонах для разработки конструкций и компонентов Android. Google Cloud Messaging и App Engine сервисы могут быть− интегрированы с помощью поддержки Google Cloud Platform.
Одним из основных преимуществ Android Studio является система сборки Gradle, которая интенсивно развивается компанией Google. Gradle обладает такими полезными функциями как:
- Создание различных вариантов сборки вашего приложения.− Создание простых задач в виде скрипта.
− Возможность управления зависимостями и автоматически− подгружать их. Настройка хранилища ключей.
− Основные возможности среды «Android Studio»:
-посредством пользовательского интерфейса можно перетаскивать− компоненты;
- для ускорения разработки доступен многофункциональный редактор с различными инструментами;
- удобный плагин Gradle, позволяющая производить сборку− автоматически;
- для проверки совместимости с различными платформами, а так же для анализа производительности возможно проведение тестирование;
- инструменты улучшения функций рекламы и управления монетизацией в приложениях;
- инструменты для обозначения и обработки кода;
− Google Cloud Messaging – push уведомления для ваших приложений посылающихся с сервера на мобильные устройства;
- рекординг видео с экрана, данная опция доступна только для Android− 4.4.2 и выше;