Файл: Критерии выбора средств разработки мобильных приложений (ПРОБЛЕМЫ РАЗРАБОТКИ КРОССПЛАТФОРМЕННЫХ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ).pdf

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

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

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

Добавлен: 15.06.2023

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

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

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

Имеется ряд фреймворков, предназначенных для использования при разработке приложений на 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 и выше;