Файл: Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений (Теоретические сведения о разработки мобильных приложений).pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

Введение

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

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

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

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

Для осуществления поставленной цели необходимо решить задачи:

- выявить особенности классификации мобильных приложений;

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

- сделать анализ языков программирования;

- осуществить анализ сред программирования;

- рассмотреть этапы разработки мобильного приложения;

- разобрать тестирование.

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

1.1 Особенности классификации мобильных приложений

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

В общем, определяют четыре основных типа мобильных приложений

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


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

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

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

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

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

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

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


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

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

Это связано с тем, что для различных мобильных устройств приходится использовать различные языки программирования, обусловлено тем, что мобильные устройства имеют различные операционные системы. Целевая платформа (или платформы) - iOS, Android, Windows Phone, BlackBerry - будет иметь значительное влияние на язык разработки, которая будет использоваться. Например, можно разрабатывать родные приложения для каждой платформы или использовать сторонний инструмент для оптимизации своих приложений на различных платформах. Второй подход может сэкономить время и усилия, хотя это может повлиять на удобство использования. Современные мобильные устройства предлагают широкий спектр вариантов разработки. Проанализируем основные технологии, используемые для разработки приложений для мобильных телефонов.

Первая технология - это Java 2 Micro Edition (J2ME). Это набор спецификаций и технологий, предназначенных для различных типов портативных устройств. Существуют два основных направления: Connected Device Configuration (CDC) и Connected Limited Device Configuration (CLDC). Направление определяет тип конфигурации центральных библиотек Java, а также параметров виртуальной машины Java (в которой будут использоваться приложения). Устройства, использующие технологию CDC, будут более развитыми, в качестве примера можно привести коммуникаторы. К устройствам CLDC относятся обычные мобильные телефоны, которые аппаратно обладают более скромными возможностями (ресурсами). Специальные режимы позволяют определять функциональность конфигураций для различных типов устройств. Режим Mobile Information Device Profile (MIDP) предназначен для CLDC портативных устройств с возможностью общения. CLDC и MIDP закладывают основу реализации J2ME. Java-код интерпретируется непосредственно самим устройством при помощи так называемой Java Virtual Machine. Этот механизм делает возможным свободное распространение Java-приложений, так как они работают на всех устройствах с аналогичной Java-платформой. Программирование Java-приложений и на сегодняшний день занимает большую часть, так как большинство мобильных устройств (в основном мобильные телефоны) в мире имеют уже установленную Java- систему. Следующая популярная сегодня технология - это технология Qt. Она в основном используется в качестве кроссплатформенной среды, позволяет использовать написанные с ее помощью приложения на различных устройствах и операционных системах, в том числе Windows, Machine OS X, Linux, Symbian, Android и других. С возрастающей пользовательским базой Qt, растет и потребность во встроенных, мобильных приложениях и UI-разработчиков. Qt является одной из наиболее удачных библиотек для C ++. Отладки приложений, разработанных для мобильных устройств, происходит с помощью эмулятора, который содержится в среде разработки. Таким образом, можно писать сложные программы для мобильных устройств с использованием библиотек C ++ и поддержкой платформ.


Для работы Qt на мобильных устройствах необходима установка определенного фреймворка. Еще одной технологией является технология разработки Windows Phone SDK. Код приложения, разрабатываемого, описывается на языке XAML. Хотя на самом деле - это просто XML файлы с языком разметки XAML. Платформа Windows Phone не просто очередная платформа для мобильных устройств. Она включает в себя не только технологическую составляющую, но и полностью проработанную концепцию дизайна интерфейса и взаимодействия с пользователем под названием Metro-дизайн или стиль Metro. Вся разработка под Windows Phone ведется в среде Visual Studio. Для мобильных приложений под Windows Phone отладка и тестирование происходит с помощью эмулятора Windows Phone в среде разработки Windows Phone. Следующая технология разработки - это iPhone SDK. Разработка под операционную систему iOS возможна только с использованием Mac OS X. Но в Интернете можно найти статьи, как можно проводить разработку непосредственно на Macintosh и даже на VM. Стоит заметить, что Apple предоставляет инструменты бесплатно, но платить придется за подписку разработчика. Для написания программ под iPhone предлагается использовать Objective-C. При этом есть возможность писать так же и на C, и C ++ (для этого необходимо менять расширения файлов с .M на .Mm). Правда при этом полностью освободиться от Obj-C не удастся, почти весь API рассчитан именно на Obj-C, исключение составляют например OpenGL (хотя для его инициализации придется использовать несколько строк кода на Obj-C), так же полностью доступны стандартные библиотеки C / C ++. Отладки приложения происходит с помощью среды XCode и эмулятора iPhone установленного в ней.

Для написания приложений под Symbian можно использовать язык программирования C ++. Разработка для Symbian OS (если говорить о C ++) обычно ведется на ПК. Среда разработки - привычная для многих программистов Visual Studio, это также могут быть IDE Metrowerks CodeWarrior Development Studio, Borland C ++ BuilderX Mobile Edition, Carbide. C ++ (относительно новая IDE, созданная компанией Nokia на базе Eclipse), снабжена дополнительными инструментальными пакетами (SDK). Разработчику доступны практически все привычные возможности, как создание программное обеспечение (ПО), так и наладка (трассировки, просмотр переменных, стека вызовов, структур классов). Отладки программы запускается в эмуляторе Symbian OS. Эту подсистему правильнее было бы назвать симулятором, поскольку имитируются НЕ аппаратные средства, а лишь программное окружение (соответствующие API операционной системы, реализованные этаж API Win32). При этом программные модули, которые загружаются в эмулятор, представляют собой исполнимые файлы для архитектуры x86, соответствующее ПО для целевой платформы формируется после итоговой компиляции. Это предполагает определенную специфику, но сегодня эмулятор обеспечивает достаточно высокую степень сходства и проблемы возникают только при создании программ, которые нестандартно используют API. Для разработки под Android можно использовать среду Eclipse с установленным плагином ADT. Разработка ведется на языке программирования Java. Есть возможность налаживания с использованием эмулятора встроенного в ADT или непосредственно на мобильном устройстве с ОС Android. Существуют различные версии SDK, которые используются для написания кода для различных версий Android. Поддерживается почти полная обратная совместимость версий. Кроме разработки на языке Java поддерживается возможность более низкоуровневой разработки с использованием Android NDK (Native Development Kit) на языке C / C ++. На долю мобильных устройств на базе Android приходится 50 процентов всех пользователей. Создание приложений для этой платформы отличается от разработки сайта. В данном случае также уделяется внимание интерфейса - дружески и интуитивно понятном. Чтобы не исчезало желание использовать приложение каждый день, важно разработать прототипы и дизайн программы. Разработка приложений для Аndroid требует от разработчиков глубоких знаний и понимания принципов эффективного взаимодействия пользователя с приложением, законов дизайна.


Платформа Android предоставляет разработчикам наибольшую свободу выбора ОС, на которой разрабатывать приложения. Android разработчики могут использовать Windows, Mac или Linux. BlackBerry пользователи могут выбирать между Mac, Windows и Linux. Если вы хотите разработать для iOS и устройств Windows, единственным вариантом является Mac и Windows соответственно. Основные принципы проектирования программного обеспечения для мобильных устройств неизменны независимо от платформы и операционной системы, установленной на ней. Главными отличиями являются технические особенности, такие как инструментарий, API и SDK, парадигмы проектирования интерфейса.

1.3 Анализ языков программирования

На современном этапе развития компьютерных технологий существует большое количество языков программирования для разработки мобильных приложений. Для разработки приложений под платформу Android чаще всего используют язык Java, C # и C ++ (при разработке в Xamarin). Каждая из этих языков программирования имеет свои особенности и предназначена для решения задач определенного типа. Java значительно упрощает жизнь разработчиков, устанавливая жесткие ограничения на способы передачи параметров. Это особенно заметно при сравнении с C ++, где параметры можно передавать: 1) по значению, 2) по ссылке, а учитывая наличие указателей, код программы может стать чрезвычайно запутанным. Язык Java выигрывает в C ++ во многих аспектах и прежде всего упрощает написание кода за счет отсутствия: а) указателей, b) заголовочных файлов, c) множественного наследования. Язык C # разрабатывалась с учетом опыта многих более ранних языков программирования, в первую очередь C ++ и Java [3].

Java и C # подобные языки. Оба эти языки можно рассматривать, как попытку усовершенствовать C ++, и в обоих случаях это удалось. Свойства, характерные как для C #, так и для Java: 1) исходный текст программы компилируется в промежуточный код, не зависит от языка и платформы; этот код в дальнейшем выполняется в специальном управляемой среде; 2) автоматический сбор мусора (Garbage Collection) и запрет на использование указателей.

В C # допускается ограниченное использование указателей в блоках кода, обозначенных как "ненадежные"; 3) объекты создаются с помощью ключевого слова new, выделение памяти осуществляется с "купи" (heap), находящийся в распоряжении среды выполнения; 4) многопоточность поддерживается путем блокирования объектов; 5) интерфейсы, множественная реализация интерфейсов классом, однократное подражания базового класса производным; 6) внутренние классы; 7) отсутствие глобальных функций и констант, все элементы должны принадлежать классам; 8) массивы и строки из встроенной длиной и проверкой границ; 9) не применяются операторы «->», «::». Во всех случаях используется оператор «."; 10) null и boolean / bool является ключевым словам; 11) любая величина должна быть проинициализированы до того, как будет использована; 12) нельзя использовать целые числа (integers) для управления операторами if. Хотя в языках C # и Java достаточно много общего, но все равно нельзя их отождествлять. C # теоретически таким же портативным, как Java, но сегодня он поддерживается на гораздо меньшем количестве платформ. Java позволяют создавать независимые от платформы программы путем компиляции в промежуточное представление, которое называется байткод.