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

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

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

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

Добавлен: 15.06.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

В связи с этим перед разработчиками программного обеспечения часто встает задача выбора подходящего средства разработки приложений

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

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

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

Задачи:

  1.  Изучить критерии выбора средств разработки мобильных приложений
  2. Рассмотреть мобильные приложения на российском рынке

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

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

Теоретической и методологической основой исследования стали книги и статьи следующих авторов работают Волков Д.И., Вахрушева М.Ю. , Геращенко С.С. и др.

Структура данной работы включает в себя: введение, двух глав, заключение и список использованной литературы.

Во введении рассмотрены: актуальность темы, определяются предмет, объект, цели и задачи.

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

Во второй главе показана мобильные приложения на российском рынке

В заключении проведены итоги.

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


1.1 ПРОБЛЕМЫ РАЗРАБОТКИ КРОССПЛАТФОРМЕННЫХ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

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

Через смартфоны мы общаемся, смотрим на них кино, ведем переписку, играем. Однако мобильные устройства не приносили бы столько пользы без специальных дополнений – мобильных приложений. Согласно данным J’son & Partners Consulting к 2016 году мировой рынок мобильных приложений составит $ 65,79 млрд.

Эксперты J'son & Partners Consulting прогнозируют рост объема рынка мобильных приложений. Снижение темпов роста рынка не отразится на его стоимостных значениях. По прогнозам экспертов J'son & Partners Consulting, рынок хоть и замедлит темпы роста, но расти будет стремительно.

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

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

Требуется поиск новых подходов к проектированию и разработке кроссплатформенного программного обеспечения для мобильных систем.

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

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

Собрать команду программистов, одинаково хорошо знающих хотя бы iOS и Android, практически нереально, для этого нужны слишком разные навыки – Objective-C для iOS и Java для Android, плюс специфические SDK. Объем рынка мобильных приложений

Плюсы разработки кроссплатформенных приложений: код пишется один раз, можно использовать почти любые библиотеки и фреймворки на HTML и JavaScript, можно использовать адаптивность для разных разрешений, среда разработки одна, язык уже знакомый, разработка на порядок проще и дешевле, большинство функций можно протестировать единожды, просто менять код «на лету».


Минус такого приложения – более медленная скорость работы. Возможность написать одно из таких приложений есть у каждого разработчика, даже начинающего. Часто возникает вопрос с выбором платформы. Конечно, хочется, чтобы программа была сразу везде: на iOS и Android, на WP7 и MeeGo, на десктопе и в браузере.

И чтобы все это можно было легко реализовать с помощью бесплатных инструментов. Кроссплатформенными можно назвать большинство современных высокоуровневых языков программирования. Например, C, С++, Free Pascal, PureBasic – кроссплатформенные языки на уровне компиляции, то есть для этих языков есть компиляторы под различные платформы. [3]

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

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

Функции интерфейсов прикладного программирования (application programming interface, API) для создания графических приложений разнятся для различных операционных систем. В то же время графический интерфейс пользователя (graphic user interface, GUI) уже давно стал стандартом де-факто по крайней мере для прикладных программ.

Не менее важны для кроссплатформенности стандартизованные библиотеки времени выполнения. В частности, стандартом стала библиотека языка Си. Из крупных кроссплатформенных библиотек – Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL. PHP, ActionScript, Perl, Python, Tcl и Ruby – кроссплатформенные интерпретируемые языки, их интерпретаторы существуют для многих платформ.

Эти кроссплатформенные библиотеки являются универсальными, т.е. предоставляют не только средства для разработки графического интерфейса пользователя (GUI toolkit), но и набор классов для различных нужд (работа с графикой, звуком, сетью, XML и т.п.).

За счет этого разработчики могут создавать с их помощью приложения различной направленности без использования дополнительных библиотек. Среды исполнения Java Virtual Machine и .NET также кроссплатформенны, однако на их вход подаётся не исходный текст, а промежуточный код. [4]

Поэтому программы, написанные на Java и C#, можно запускать под разными операционными системами без предварительной перекомпиляции.

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


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

Выделяют следующие требования, с возникновением которых требуется адаптировать разрабатываемую программную систему:

1) возникновение новых функциональных требований, затрагивающих формальные модели предметной области и алгоритмы поведения системы (алгоритмы «бизнес-логики» системы), при этом требования к платформе и производительности могут оставаться неизменными;

2) изменения нефункциональных требований, связанных с требованиями к производительности программной системы – её пропускной способности, максимальным временам задержек, вопросам безопасности, вопросам энергоэффективности;

3) изменения требований к платформе и технологиям разработки. [5]

Данные изменения требуют полной или частичной адаптации разрабатываемой программной системы к новым языкам программирования, операционным системам, новому аппаратному обеспечению.

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

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

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

1. Библиотеки позволяют использовать концепцию повторного использования функций, в то время как фреймворки представляют возможность использовать концепцию изменения поведения. Например, библиотека может предоставлять классы для работы с TCP- и UDP- сокетами, в то время как фреймворк может представлять класс для абстрактного сокета.

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


3. Функции библиотек вызываются из кода приложений, а фреймворк тесно интегрируется в приложение – или, можно сказать, дополняет код приложения.

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

Этот подход облегчал жизнь разработчикам до того момента, как компания Sun Microsystems представила революционную концепцию виртуальных машин, подарив миру платформонезависимый язык программирования Java. Приложения Java исполняются при помощи виртуальной машины Java (Java Virtual Machine). Код, написанный однажды, может быть развернут на любой платформе, для которой доступна виртуальная машина Java. [7]

Но за все приходится платить. В случае с языком Java приходится расплачиваться производительностью. Производительность приложений на Java не настолько высока, как у приложений на C/C++, скомпилированных в машинный код.

Другим недостатком является большое потребление памяти этими приложениями. Язык Java занимает лидирующие позиции, но на сегодняшний день существуют приложения, обрабатывающие большие объемы данных (например, в области биотехнологии) с особо жесткими требованиями к производительности.

В качестве интегрированной среды разработки (IDE) Java- приложений довольно популярен Eclipse. Это свободная среда разработки, написанная на Java, развиваемая и поддерживаемая Eclipse Foundation. Eclipse является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ.

Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на раз- ных платформах проблемы совместимости и устойчивости приложений. Архитектура Eclipse.

Загрузить Eclipse можно с сайта разработчика www.eclipse.org. Рас- пакуйте его. После распаковки загруженного Eclipse, он готов к работе. Никакой дополнительной установки не требуется. К достоинствам данной платформы относятся модульность, крос сплатформенность, поддержка мультиязычности, бесплатность, огромное количество существующих плагинов, библиотек и фреймворков. [8]

Все это позволяет создавать приложения коммерческого уровня. Если программист сталкиваемся с необходимостью разработки приложений, компилируемых в машинный код, то лучшим решением будет разработка приложений C++.