Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

Задачи:

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

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

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

  2. ПРИМЕНЕНИЕ ЯЗЫКОВ ВЫСОКОГО УРОВНЯ ПРИ РАЗРАБОТКЕ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

В наше время большинство людей не представляют жизни без смартфона или планшета. Посредством их мы узнаем новости, погоду, проверяем почту. Число пользователей растет большими темпами, что приводит к бурному развитию рынка мобильных приложений. [1]

Человек принимает решение о создании мобильного приложения, но перед ним встает выбора языка программирования. Для этого используются высокоуровневые языки программирования. Высокоуровневый язык программирования – это язык программирования, который был разработан специально для упрощения работы программиста и облегчения решения сложных задач. [2]

Одним из таких языков является язык программирования C#. Язык C# - мощный простой и удобный язык программирования, позволяющий создавать различные приложения совместно с платформой NETFramework. В 2012 году Popularity of Programming Languages объявил C# лучшим языком программирования. [3]

Его годовая популярность увеличилась на 2.3%, что является очень большим показателем по сравнению с ростом популярности любого другого языка. Можно предположить, что это вызвано выходом новой операционной системы Windows 8, где для создания приложений используется C#.

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

1. C# поддерживает асинхронное программирование, что делает программирование более приятным и простым.

2. Reflection и dependency injection делают данный язык более сильным и гибким.

3. В C# возможно автоматическое управление памятью.

4. C# задает ограничения на смешение операций над разными типами данных, что ускоряет и облегчает поиск ошибок на этапе компиляции, это очень важно в мобильной разработке, где на цикл сборка/запуск/тест затрачивается больше времени из-за заливки на устройство.Разработчики в C# не ждут падения программы после запуска для поиска очевидных ошибок, компилятор делает это за них. [4]

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

6. Скорость. C# на iOS использует оптимизирующий компилятор LLVM. Вследствие чего можно получить высокую продуктивность C# и произво- дительность низкоуровневого языка.

7. Можно писать на C# под Windows Phone, iOS и Android, это более чем 2.2 миллиарда устройств. Говоря о разработке мобильных приложений на C#, хотелось бы уделить внимание американской компании в области разработки ПО – Xamarin. Xamarin - это фреймворк, который позволяет разрабатывать приложения на языке C#. [5]

Он позволяет написать приложение на одном языке и создать ядро системы и ряд компонентов едиными для всех основных платформ: iOS, Android, Windows Phone. Интерфейс приложения реализовывается отдельно под каждую из платформ.

Этот недостаток легко обернуть себе на пользу, поскольку можно разработать интерфейс, отвечающий требованиям целевой платформы. Существует два продукта, разработанные Xamarin, которые используются для разработки кроссплатформенных приложений на языке C# для iOS и Android.

Это MonoTouch и MonoDroid. Исходный код приложения, которое написано на C# для Android (MonoDroid) можно перенести (адаптировать) на iOS (MonoTouch) и Windows Phone 7. MonoTouch и MonoDroid имеют полную поддержку C#.

Фреймворк предоставляет инструменты для полного доступа ко всем элементам нативного API, включая UIKit на iOS. Если имеется полный набор исходных кодов, необходимых для сборки приложения на C#, то его можно без каких-либо затруднений использовать и в MonoDroid, и в MonoTouch. Имеется мощная и современная среда разработки. [6]

Для пользователей, которые привыкли работать в классической среде разработки, таких как Visual Studio и XCode, то MonoDroid и MonoTouch можно объединить в них. Фреймворк Mono является базой многих программ созданных для android. [7]

Одним из примеров является программа My Football Pro HD. My Football Pro - это приложение для любителей футбола, благодаря которому можно отслеживать ход различных чемпионатов. Еще одна программа для android – ColinKeeper. Это универсальное приложение для людей, которые следят за своими финансовыми возможностями, разработанное приложение позволяет вести учет доходов и расходов. [8]

Программа содержит большое количество валют и множество счетов, возможен вывод отчетов и просмотр статистики. Приложение напоминает о периодических расходах и т.д. Компания Xamarin привлекает внимание еще и тем, что она портировала Android на C#, данная альтернатива более производительная и эффективная.

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

  1. ПРЕИМУЩЕСТВА ANDROID STUDIO ПЕРЕД ДРУГИМИ СРЕДАМИ ПРИ РАЗРАБОТКЕ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

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

Статистика рынка мобильных устройств показывает, что доля Android на рынке смартфоном составляет около 86 %, из - за этого разработка под операционную систему Android является очень выгодным и полезным занятием.

Раньше для разработки требовалось много довольно громоздкого и сложного в изучении ПО, но теперь на выбор предлагается очень много различных современных и удобных в использовании сред разработки. Наиболее популярной средой на данный момент является Android Studio. [9]

Android Studio – это среда разработки для работы с платформой Android, созданная компанией Google в 2013 году. За эти годы, Android Studio пережила множество обновлений, переработок, дополнений и теперь является лучшей средой для разработки мобильных приложений по сравнению с другими, как, например, Eclipse. [10]

Главным плюсом Android Studio можно назвать встроенный комплект средств разработки, позволяющий создавать приложения для определенных версий систем, используя специальные элементы, недоступные в некоторых версия приложений, программ – SDK. [11]

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

Чтобы решить эту проблему необходимо было вручную определять версии API, искать их, скачивать, устанавливать, что требовало много свободного времени.

Теперь же все стало проще – Android Studio уже содержит все версии API в базе, и при проверке кода автоматически определяет, какая версия API требуется для работы определенных фрагментов, и при необходимости автоматически установит все требуемое для работы.

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

Кроме это, все элементы будут выглядеть в соответствии с тем, как они выглядят на конкретном устройстве. Кроме этого, большая работа была проведена в редакторе кода. [12]

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

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

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

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

Поиск ошибок, их отслеживание ведется через окно «логов», которое позволяет следить за работой различных процессов, потоков и приложений и позволяет видеть, на каком конкретно этапе случилась ошибка. Это очень полезно при создании высоконагруженных и объемных проектов и приложений.

Все вышеуказанные достоинства делают Android Studio самой популярной средой разработки мобильных приложений для операционной системы Android. [14]

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

  1. ГЛАВА 2. КРИТЕРИИ ВЫБОРА СРЕДСТВ ПРИЛОЖЕНИЙ

  2. 2.1. СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ

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

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

Вторые – позволяют интересно и разнообразно проводить время. Однако, как показывает практика, большим спросом сегодня пользуется специализированный софт. [15]

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

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

Мобильное приложение – это программный продукт, предназначенный для использования на мобильных устройствах оснащенных операционной системой. [17]

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

Классифицировать мобильные утилиты можно по нескольким типам, например по разновидности работы:

1. Приложения переднего плана. К ним относят программы работающие в моменты, когда никаких других не активизировано, например мобильные игры.

2. Фоновые приложения. Используются в те моменты, когда требуется произвести настройку Электронный научный журнал «Наука и перспективы» №3, 2016

3. Смешанные программы.

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

4. Виджиты. Приложения отображающие информационные сообщения на рабочем столе.

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

5. Сложные приложения. К ним относятся, например, программа – утилита, которая включает в себя следующие инструменты: очистка кэш памяти, отображение информации о мобильном устройстве, удаление установленных приложений. [18]

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

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

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

3. Мобильные игры – это наиболее востребованный сектор мобильных приложений.

4. Мобильные социальные сети. Данный вид с каждым днем набирают все большую популярность, увеличивая многочисленную аудиторию во всех странах мира, чему способствует развитие мобильного интернета расширяющего свою доступность по всей планете. [19]

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

1. Платное приложение, реализуемое посредством продажи в магазине.

2. Бесплатное приложение с платной подпиской.

3. Бесплатное приложение со встроенными покупками.

4. Бесплатное приложение с рекламой внутри приложения.

Жизненный цикл – множество процессов, происходящих с момента изначального утверждения решения о разработке программного продукта, до его окончательного вывода из использования. [20]

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

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

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

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

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

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

Недостатки: обеспечения никогда полностью не укладывался в такую жесткую схему.

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

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

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

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

Заказчик может с минимальными− для себя финансовыми потерями завершить развитие неперспективного проекта. Недостатки модели: увеличивается неопределенность у разработчика в перспективах− развития проекта.

Этот недостаток вытекает из предыдущего достоинства модели; затруднены операции временного и ресурсного планирования− всего проекта в целом. Эволюционная модель реализуется в виде последовательности блоков структур.

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

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

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

При этом жизненный цикл постоянно редактируется в зависимости от назначения программы. Жизненный цикл мобильного приложения по мнению Романа Белодеда (основателя компаний по разработке программного обеспечения для мобильных устройств e – Legion) особо не чем не отличается от каскадной модели жизненного цикла для программ персональных компьютеров.

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

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

В состав 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. [25]

Компания Google сделала этот программный продукт с максимально полезным набором инструментов для разработки проектов под мобильные устройства. Процесс создания каждого приложения стал динамичней и проще, по сравнению с Eclipse.

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

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

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

Главные функции Android Studio: присутствие справочника;

− наличие динамичного эмулятора для устройств на базе платформы− Android;

−понятный интерфейс;

− отправка push-сообщений для приложений через любые облачные− сервисы сразу на устройства под Android.

−возможность быстро локализовать приложения;

− есть опция маркировки кода;

− доступно большое число вариантов смены разрешения, размеров экрана;

− наличие инструментов для повышения качества проектов и монетизации;

−поддержка отслеживания эффективной работы рекламныхобъявлений;

−дружественное отношение с бета-тестерами;

− отображение всех действий (изменений) в проекте в режиме реального времени. [26]

Инструменты 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 уведомления для ваших приложений посылающихся с сервера на мобильные устройства;

− рекординг видео с экрана, данная опция доступна только для Android4.4.2 и выше;

− комфортная локализация приложений;

− для разработки кода доступны шаблоны и помощники;

− реорганизация кода;

− Eclipse IDE Платформа имеет стандартный набор для разработчика, но Eclipse различается от других IDE по нескольким основным аспектам. [27]

Данная среда разработки абсолютно нейтральна к платформе и языку программирования. Eclipse поддерживает языки: Cobol, Java, C++, C. Но в добавок к этому есть функция добавления интересующего вас языка, к примеру таких как: C#, PHP, Python, Ruby.

Проекты по реализаций данных языков уже доступны на данный момент. Среда Eclipse доступна, при помощи Eclipse Consortium под видом скомпилированного исполняемого файла для Windows, Linux и др.. Eclipse представляет из себя платформу, в которой разрабатываются плагины, далее встраиваемые в неё. [28]

Одним из таких является Android Development Tools (ADT). Плагин ADT намного расширяет возможности данной среды разработки, с помощью него можно быстрей разрабатывать свои проекты под Android, создавать интерфейсы приложений, импортировать компоненты Android Framework API, отлаживать приложения, использовать Android SDK инструменты, а так же можно экспортировать подпись (без знака) APKs в порядке распространения своего приложения. [29]

Плагин ADT включает в себя множество различных инструментов и несмотря на то что является дополнительным модулем, всё же обладает большим объёмом кода. Далее подробней разберем основные инструменты ADT: Редактор макетов Android. Макеты интерфейса в ADT создаются на языке− XML.

Среда предоставляет пользователю визуальный редактор для просмотра макетов. Когда вы открываете файл шаблона, плагин ADT автоматически запускает этот редактор для просмотра и редактирования файла. У данного инструмента удобный интерфейс предоставляющий удобное переключение между XML – редактором и визуальным редактором.

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

Для более корректной работы макетов на устройствах предусмотрена их авто – спецификация. Редактор описаний Android. Файл описания входит в состав проекта− Android. Его роль заключается в том, что он информирует о том, как установить и использовать архивные программы, в котором состоит разработанный проект.

В плагине ADT присутствует XML – редактор специально для изменения описаний. И это не единственный инструмент в котором можно изменять описания, так же это можно сделать в компоновщике приложений. Сборка приложении Android.

Автоматизированная сборка в Eclipse− позволяет объединять в готовый продукт исходный код и ресурсы проекта реализуя его к развёртыванию на устройстве, либо на эмуляторе. В ADT инструментом для выполнения таких операций является система Ant. В Android конечным результатом сборки проекта является файл АРК.

Запуск и отладка приложений Android. Инструментом для запуска и− отладки в Eclipse является adb и DDMS позволяющие развёртывать проект на реальном или виртуальном устройстве. DDMS реализует обмен информаций с AVD, так же в нём учавствует среда времени исполнения Dalvik. DDMS Виртуальные устройства Android.

QUME – подобные эмуляторы служат− основой для виртуальных устройств в Eclipse, эмитирующие аппаратное обеспечение Andriod. Для конфигурирования виртуальных устройств Android используется диспетчер SDK и AVD, задающий такие параметры, как объем эмулируемых запоминающих устройств и параметры экрана. [30]

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

Для обеспечения такого широкого диапазона потребовалось бы достаточно большое количество реальных устройств, достать которые для тестирования может быть затруднительно. Поскольку QEMU – подобные эмуляторы оборудования являются универсальными в них можно тестировать устройства и образы систем которые пока не являются доступными. [31]

Диспетчер SDK и AVD. Android SDK управляет конфигурацией QEMU с− помощью специального пользовательского интерфейса.

Layoutopt – инструмент диагностирования проблем связанных с− компоновкой элементов Andriod, написанных на языке XML.

Monkey – это компонент для автоматизированного тестирования,− работающий на эмуляторе или устройстве.

В состав SDK входит система adb которая активирует Monkey. Keytool используется для создания временных отладочных ключей. Он− генерирует ключи шифрования.

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

Draw9patch – это специализированный инструмент для рисования− состоящий в арсенале ADT. Intel XDK Инструмент для разработки кросс – платформенных приложений, так как используется язык HTML5 (сочетает в себе HTML язык разметки, CSS, JavaScript).

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

В нём не нужно устанавливать дополнительные плагины, как Android SDK в Android studio или XCODE для IOS, просто код пересылается на сервер и там собирается автоматически. Так же XDK поддерживает все основные платформы мобильных устройств, что выгодно его выделяет перед нативными средами разработки. [32]

XDK поддерживает такие игровые среды как: Cocos2d, Phaser, Pixi и EaselJS. С помощью XDK разрабатывать игры стало ещё удобней. Данная среда содержит удобные инструменты для отладки, тестирования, сборки и анализа ваших приложений. Intel Mobile Development Kit for Android Специализированная среда разработки под Android от Intel.

Обладает мощными инструментами для создания отличных приложений и игр, содержащие все основные компоненты платформы Intel System Studio. Поддерживает языки C, C ++, C #, Fortran, Java. Благодаря мощным инструментам для отладки графической составляющей программного продукта, отлично подходит для разработчиков игр, которые в свою очередь положительно отзываются об инструментах MDK for Android.

Рассмотрим, какими основными компонентами обладает данная среда 2016 Intel VTune Amplifier. Инструмент для оценки системы, обладает− расширенным анализом и настройкой производительности ЦП Intel Energy Profiler. Средство разностороннего анализа− энергопотребления и производительности для разработчиков системного ПО Intel C++ Compiler.

Передовой отраслевой компилятор С++ для− совершенствования производительности высокооптимизированных систем Android и оригинального кода С++. Intel Integrated Performance Primitives. [33]

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

Анализатор видеосистем. Оптимизирует производительность видеосистем на базе GPU. Осуществляет анализ системной производительности в режиме реального времени. [34]

Анализатор платформ. Позволяет выполнять исчерпывающий автономный анализ разрабатываемого приложения.

Анализатор кадров. Анализирует нагрузку видеосистем с− получением подробных данных на уровне схем Open GL ES. Intel Beacon Mountain По сравнению с XDK данная среда ориентирована только на Android платформу. Имеет полезную функцию автоматического обновления, что позволяет пользователю не сосредотачиваться на поддержке актуальности своей платформы.

Beacon Mountain разработана на базе Eclipse и оптимизирована рядом инструментов произведенных Intel: Intel* Threading Building Blocks (Intel* TBB) – очень популярная− библиотека шаблонов C++; Intel* Integrated Performance Primitives (Intel* IPP) Preview –− библиотека адаптированной обработки информаций и графики. Intel* Graphics Performance Analyzers (Intel* GPA) System Analyzer– позволяет производить мониторинг загруженности системы при работе с элементами OpenGL в реальном времени.

Процессор ускоряющий работу эмулятора с помощью технологии− Intel*VT. XCode Среда программирования для платформ IOS, OS X, WatchOS, tvOS разработанная компанией Apple. Поддерживаемые языки программирования: С, C++, Objective-C,Objective-C, Swift, Java, AppleScript, Python, Ruby.

Основные инструменты XCode: IOS Simulator. Инструмент для быстро просмотра разрабатываемого− приложения. Dash. Это менеджер сниппетов и браузер документаций.− TextExpander – это популярная утилита для управления отрывками− кода, привязанных к пользовательским сочетаниям клавиш.

Здесь даже представлены заглушки для большей кастомизации. Электронный научный журнал «Наука и перспективы» №3, 2016 TestFlight – отличный сервис для передачи тестовых билдов− команде бета-тестеров. Этот сервис собирает отчеты об ошибках, пользовательские отзывы, и позволяет вам отслеживать пользовательские сессии. [35]

GDB. Отладчик кода.− «1С: Предприятие 8. Расширение для КПК». Нельзя обойти вниманием и российского производителя программных продуктов компанию 1С, которая разработала платформу «1С:Предприятие 8. Расширение для карманных компьютеров». [36]

Среда предназначена для работы с базами данных «1С Предприятия 8» на мобильных гаджетах, а так же разработки приложений для них.

Обладает хорошим инструментарием для разработки:

− Редактор мобильных приложений;

− Платформа для исполнений мобильных приложений;

− Сервер мобильных приложений;

− Компонента обмена данных.

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

В первую очередь, потому что у неё самый удобный пользовательский интерфейс, много доступного материала для обучения, вполне достаточный спектр языков программирования, бесплатность пользования и самый большой рейтинг целевой платформы в мире (согласно Kantar Worldpanel Comtech доля пользователей Android в мире составляет 68% на первый квартал 2016).

Так же можно отметить, что эта среда постоянно развивается и совершенствуется благодаря компаний Google и за её актуальность можно не переживать.

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

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

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

В связи с этим перед разработчиками программного обеспечения часто встает задача выбора подходящего средства разработки приложений. В данной работе авторами рассмотрены пять наиболее популярных на сегодня программных продуктов: Android SDK, Android IDE, Android Studio, Intel Beacon Mountain, Marmalade SDK. [37]

Система позволяет создавать и тестировать Android-приложения, использующие камеру мобильного устройства, акселерометр, компас, данные GPS, доступ по Bluetooth, Wi-Fi, EDGE и 3G.

Android SDKпозволяет работать с мультимедийным контентом, а также имеет возможность тестировать созданные приложения с помощью встроенного эмулятора.

Данная система бесплатна для использования. Android IDE (AIDE) – среда разработки под Android, основанная на Eclipse. Предоставляет интегрированные инструменты для разработки, сборки и отладки мобильных приложений.

AIDE – это средство разработки приложений для Андроида на Андроиде. Система может самостоятельно выявлять ошибки в коде и предоставляет возможность их редактирования. Среда может работать не только на планшетах, но и на смартфонах.

AIDE бесплатна. Android Studio – среда разработки под Android, основанная на IntelliJ IDEA. Она предоставляет интегрированные инструменты для разработки и отладки. Система позволят отслеживать изменения в коде в режиме реального времени.

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

Intel Beacon Mountain – бесплатный комплект программного обеспечения от Intel. Содержит как программное обеспечение Intel, так и сторонние утилиты. Система предоставляет инструменты для проектирования, разработки, отладки и оптимизации приложений. [38]

Следит за обновлениями и добавляет их в среду разработки по мере появления. Поддерживает разработку на основе процессоров Intel Atom и ARM. Beacon Mountain построена на основе Android IDE (Eclipse, Android ADT, Android SDK) Marmalade SDK – кроссплатформенное SDK от компании Idea works 3D Limited.

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

Marmalade SDK позволяет писать приложения в Windows или в Mac OS, и хорошо интегрируется с Visual Studio (начиная с версии 6.0) и XCode соответственно. Чтобы использовать Marmalade SDK, необходимо приобрести лицензию.

Для решения задачи выбора лучшего средства разработки воспользуемся одним из самых популярных и эффективных способов – методом анализа иерархий Томаса Саати (Analytic Hierarchy Process). Этот метод позволяет решать слабоструктурированные задачи. [40]

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

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

Также следует выделить критерии, по которым будет проходить сравнение альтернативных вариантов. Как отмечено выше, авторами были выбраны следующие средства разработки: Android SDK, Android IDE, Android Studio, Intel Beacon Mountain, Marmalade SDK.

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

ЗАКЛЮЧЕНИЕ

Всего существует три типа мобильных приложений: нативные, веб-приложения и гибридные решения.

Нативные приложения (от англ. native – родной) – это приложения, разработанные на “родном” для платформы языке (для Android — это Java, а iOS — objective-C). Они пишутся на языках программирования, утвержденных разработчиками программного обеспечения, под каждую конкретную платформу. Приложения загружаются через магазины приложений (App Store, Google Play и т.д.) и устанавливаются в ПО смартфона.

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

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

— могут полностью или частично работать даже при отсутствии интернет-соединения,

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

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

Особенности веб-приложений:

— одно приложение может работать на всех устройствах и платформах,

— не могут использовать другие функции телефона, такие как камера или геолокация,

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

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

Особенности гибридных мобильных приложений:

— загружаются из магазина приложений, при этом имеют возможность независимого (автономного) обновления информации,

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

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

  1. ЛИТЕРАТУРА

  2. Аляев Ю., Козлов О. Алгоритмизация и языки программирования Pascal, C++, Visual Basic. - М.: Финансы и статистика, 2003.
  3. Баженова И. Delphi6: Самоучитель программиста. - М.: КУДИЦ-ОБРАЗ, 2002.
  4. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.
  5. Герберт Шилдт. C# 4.0. Полное руководство. «Вильямс», 2011 – 1056 с.
  6. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.
  7. Голощапов А. А. Google Android: программирование для мобильных устройств. – Спб.: БХВ – Петербург 2014. 163 с.
  8. Грейди Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++ /Пер. с англ. - 2-е изд. - М.: Бином, 2000.
  9. Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. - М.: ДМК, 2000.
  10. Джеймс Фокселл. Освой самостоятельно Visual Basic.NET за 24 часа. - М.: Вильямс, 2002.
  11. Дэн Кларк. Объектно-ориентированное программирование в Visual Basic.NET. - СПб.: Питер, 2003.
  12. Зак Д. Самоучитель Visual Basic.Net. - Киев: ВНV; СПб.: Питер, 2003.
  13. Кетков Ю., Кетков А. Практика программирования: Visual Basic, С++Builder. - СПб.: BHV, 2002.
  14. Мохов В.А. Интегрированный алгоритм когнитивной оценки и выбора оптимального варианта онтологической модели/ В.А. Мохов, Н.Н. Сильнягин // «Инженерный вестник Дона», 2011, № 4.
  15. Мохов В.А. Разработка алгоритмов прямого синтеза аппроксимирующих искусственных нейронных сетей: диссертация на соискание ученой степени кандидата технических наук: 05.13.11: защищена 20.10.2005: утв. 10.02.2006. – Ростов-на-Дону, 2005. – 179 с.
  16. Мохов В.А., и др. Рекурсивный алгоритм синхронизации API-запросов к ГИС- сервису Яндекс. Карты / В.А. Мохов, В.Н. Кубил, А.В. Кузнецова, И.В. Георгица // Фундаментальные исследования. – 2015. – № 9-1. – С. 33-38.
  17. Немнюгин С.А. Тurbo Pascal. - CПб.: Питер, 2000.
  18. Пискунова Н. В. Заработать миллионы с Iphone и Android пользователей. – М.: Финансы и статистика 2015. 162с.
  19. Пономарев В. Visual Basic.NET: - Экспресс-курс. - СПб.: BHV - Санкт - Петербург, 2003.
  20. Саати Т.Л. Принятие решений при зависимостях и обратных связях: Аналитические сети. – М.: Издательство ЛКИ, 2008. – 360 с.
  21. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.
  22. Соколов В. В. Вычислительная техника и информационные технологии. Разработка мобильных приложений. Учебное пособие. – М.: Юрайт 2016. 176 с.
  1. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  2. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  3. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  4. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  5. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  6. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  7. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  8. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  9. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  10. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  11. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  12. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  13. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  14. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  15. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  16. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  17. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  18. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  19. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  20. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  21. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  22. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  23. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  24. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  25. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  26. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  27. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  28. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  29. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  30. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  31. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  32. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  33. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  34. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  35. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  36. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  37. Войт Н. Н. Информатика и вычислительная техника. – Ульяновск: УлГТУ 2013. 362 с.

  38. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  39. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: Учебное пособие. - М.: Форум: Инфра-М, 2004.

  40. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник. - М.: Мастерство, 2001.

  41. Соколов В. В. Вычислительная техника и информационные технологии. Разработка мобильных приложений. Учебное пособие. – М.: Юрайт 2016. 176 с.