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

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

Содержание:

ВВЕДЕНИЕ

В настоящее время все больше пользователей уже перестают пользовать настольными компьютерами, отдавая свое предпочтение персональным мобильным средствам, которые позволяют быть на связи со всем миром в режиме 24/7. В отличие от настольного компьютера, мобильный телефон или планшет - это более личностное устройство. В них хранятся фотографии пользователя, номера его кредитных карт, с которых выполняются платежи, аккаунты социальных сетей. Некоторые приложения уже способны помогать нам в планировании действий: стоит только запустить приложение, приняв предварительно соглашение, и через некоторое время оно вычислит местоположение вашего офиса и дома; после чего будет подсказывать сколько времени добираться до работы и за сколько необходимо проснуться, чтобы не пропустить важное совещание или встречу.

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

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

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

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

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

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

Для достижения поставленной цели сформулированы следующие задачи:

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

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

1.1 Сущность мобильных приложений и основные этапы их разработки

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

По результатам исследования продаж смартфонов в 2015 году компанией Kantar [10], общемировая рыночная доля по операционным системам выглядит следующим образом (рис. 1):

- Android – 49,3%;

- iOS – 43,7%;

- Windows Phone – 5,6%;

- Blackberry – 0,9%

Рис. 1. Предпочтения операционных систем мобильных телефонов в 2015 году

В 2014 году аналитическая компания IDC проводила опрос [8], по результатам которого более 50% зарубежных компаний считают, что обеспечение доступа сотрудников к корпоративным приложениям с помощью мобильных устройств является первоочередной технологической задачей. Центром подобного «мобильного мира» является переносной компьютер или мобильный телефон, позволяющий мобильным пользователям осуществлять свою работу независимо от местонахождения [12].

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

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

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

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

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

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

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

Список параметров, на основании которых можно ориентироваться при выборе технологии, включает:

  • время разработки. Если взять специалистов одного уровня в каждой из технологий и дать им одинаковое задание, сколько времени потребуется, чтобы решить ее каждой из технологий;
  • наличие специалистов. Насколько быстро можно найти разработчиков, которые сделают продукт на высоком качественном уровне, а также специалистов, которые смогут его в дальнейшем сопровождать;
  • удобство разработки и отладки. Насколько развиты инструменты разработки и отладки в рамках данной технологии;
  • документация и техническая поддержка. Существует ли регулярная техническая поддержка для данной технологии. Насколько часто выходят обновления, как быстро исправляются критические ошибки;
  • скорость работы. Насколько отзывчивым будет интерфейс приложения. Будут ли заметны задержки в переходах между экранами и состояниями приложения;
  • юзабилити. Насколько удобен будет конечному пользователю процесс использования полученного приложения. Будут ли элементы интерфейса соответствовать пользовательскому опыту  использования приложений на данной платформе;
  • охват платформ. Имеется ли возможность полного или хотя бы частичного повторного использования кода на разных платформах (iOS, Android, Windows).

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

Каждая современная мобильная платформа предоставляет инструментарий для разработчиков (SDK — software development kit), который позволяет получить доступ практически ко всем сервисам устройства. Разработчики SDK стремятся упростить процесс создания приложений путем решения типовых задач, с которыми сторонние разработчики сталкиваются в повседневной практике.

Технологии, которые лежат в основе каждой из SDK, как правило, различаются достаточно сильно. Например, для приложения для Андроид разрабатываются на языке программирования Java. SDK для iOS (iPhone и iPad) использует в качестве основного язык Objective-C, разработанный как объектно-ориентированная надстройка над C.

Выбор разработчиков SDK для Андроид в пользу Java вполне оправдан, т.к. этот язык на данный момент является, очевидно,  самым популярным. Вместе с тем, он богат возможностями и может с успехом применяться в областях от программирования простых устройств  до разработки огромных корпоративных приложений. Богатство возможностей предъявляет разработчику повышенные требования к знаниям  языка.

Чтобы разрабатывать нативные приложения для iPhone и iPad, нужно будет изучить язык Objective-C. Данный язык применяется, в основном, для разработки под Mac OS X и мобильную операционную систему iOS. В связи с большой популярностью мобильных устройств от Apple, спрос на разработчиков на Objective-C постоянно высок.

Чтобы начать разрабатывать для iOS нужно выполнить несколько условий. Во-первых, потребуется компьютер под управлением Mac OS X. Во вторых, чтобы тестировать написанные приложения на реальных устройствах, нужно обязательно участвовать в программе для разработчиков от Apple, ежегодная стоимость которой составляет 99$. Эти факторы отпугивают начинающих разработчиков, что приводит к нехватке опытных программистов под iOS.

Для сравнения, инструменты для разработки под Андроид доступны на всех популярных ОС (Windows, Linux, Mac). Тестировать приложения можно на любом поддерживаемом устройстве без каких-либо ограничений.

В целом, если сравнивать процесс разработки и распространения приложений для Андроид и iOS, то в обоих случаях имеются свои плюсы и минусы. Язык Objective-C поддерживает синтаксис, который позволяет более компактно решить ту же задачу, чем потребуется на Java. Язык Java более многословен. По некоторым оценкам, процесс разработки под Android занимает, при прочих равных, на 25% больше времени, чем той же задачи на iOS.

К основным преимуществам нативной разработки можно отнести:

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

Однако нативная разработка имеет и следующие недостатки:

  • охват платформ;
  • наличие специалистов. Действительно, в целом найти хорошего разработчика на Java или Objective-C достаточно сложно ввиду специфичности данной области и более высокого порога при изучении технологии.

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

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

Мобильное веб-приложение разрабатывается с помощью ставших уже классическими инструментов. HTML применяется для разметки элементов интерфейса. CSS описывает визуальную составляющую и взаимное расположение виджетов и контролов. Язык программирования JavaScript реализует логику приложения.

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

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

Преимуществами веб-приложений являются:

  • охват платформ;
  • время разработки. В целом, если учитывать охват сразу нескольких платформ, время разработки может быть ниже. Но, поскольку, веб-приложения, в целом, проще, чем нативные, это преимущество может быть спорным;
  • наличие специалистов;
  • документация и поддержка.

К недостаткам веб-приложений относятся:

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

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

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

В связи с этим появились инструменты, позволяющих разрабатывать логику и интерфейс на HTML и JavaScript, имея при этом доступ к ресурсам устройства. Практически все  SDK мобильных платформ предоставляют специальный компонент браузера для внедрения в нативное приложение — WebView в Андроид, UIWebView  в iOS и т.д. Это тот же веб-браузер, но с возможностью передать в веб-приложение (в JavaScript-код) вызовы из нативного кода, а также принимать сообщения из JavaScript обратно в нативную часть приложения. Таким образом, веб-приложения, «обернутое» в нативное, может получить доступ ко всем аппаратным ресурсам устройства.

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

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

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

Достоинствами гибридных мобильных приложений являются:

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

В тоже время очевидны следующие недостатки:

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

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

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

В данной категории можно упомянуть два инструмента.

Первый — Appselerator Titanium. Код приложения пишется на JavaScript. Затем он компилируется в нативный код для платформ (поддерживаются всего три — iOS, Android и BlackBerry). Далее, можно собрать этот код в установочный файл приложения для каждой мобильной операционной системы. У Titanium есть собственная среда разработки Titanium Studio c возможностью отладки собственного кода на JavaScript. Titanium, также как и Phonegap, поддерживает расширения на Java или Objective-C для добавления необходимой функциональности.

Второй набирающий популярность инструмент — MonoTouch от компании Xamarin. Это действительно многообещающий инструмент.  В качестве языка разработки используется язык C#, что может стать решающим фактором при выборе технологии для разработчиков с опытом работы в .NET.

MonoTouch компилирует проект на C# сразу в нативное приложение. Кроме того, Mono поддерживает визуальное создание интерфейса iOS-приложений с помощью InterfaceBulder-а , что позволяет использовать файлы nib из нативного редактора X-Code.

MonoTouch может позиционироваться не только как инструмент кроссплатформенной разработки, но и как просто возможность разрабатывать полностью нативные приложения на знакомом\любимом языке C#. При этом, однако, появляется возможность переиспользования кода для разных платформ. Например, если приложение содержит большое количество бизнес- и инфраструктурной логики, не относящегося напрямую к интерфейсу пользователя, то, по некоторым данным, переиспользование кода может достигать 80%.

Преимущества кроссплатформенных технологий являются:

  • Скорость работы;
  • Время разработки; 
  • Поддержка платформ.

А недостатками:

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

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

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

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

Для автоматизации бизнес-процессов предприятия на первое место выходит стабильность, возможность работы при отсутствии соединения с сервером.

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

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

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

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

Затрагивая самую обширную область в разработке, начнем с обзора средств для Android. Здесь в разработке ПО есть две основные IDE: проект Eclipse и, разработка компании JetBrains, среда Intellij IDEA.

Eclipse - это проект с открытым кодом (рис.1).

Рис. 1. Среда разработки Eclipse

В качестве инструмента сборки проекта выступает Ant. Данное IDE легко настраивается, интегрируется с необходимыми для разработки компонентами, такими как SDK Android, NDK (Native Developer Kit) и Java машиной. После успешной интеграции создать свой первый проект не составит труда. Уже после выбора нового проекта под Android, автоматически создается пустой "Hello World" проект, который можно запустить на реальном девайсе. В качестве языка используется Java. Данная IDE очень проста в работе, поэтому новичкам в разработке советуют именно ее.

Более серьезным инструментом является Intellij IDEA (рис.2).

Рис. 2. Среда разработки bitellij IDEА

Не зря продукты JetBrains называют «Умная IDE». Казалось бы, такие мелочи как автоматическое закрытие скобок после условия, групповые перезаписи методов и автоматическое создание шаблонных классов (Interface, Singleton) на первый взгляд не очень важны. Тем не менее, по статистике за год на одних только операциях 'rename' экономится порядка 120 часов рабочего времени! Самая главная дилемма программистов - «как назвать переменную» - в данной IDE решена. К примеру, если у вас есть базовый класс "Item", и вы создаете из данных элементов массив, то среда разработки автоматически предложит назвать их "Items". Вроде бы мелочь, а приятно.

При подставлении цвета из файла ресурсов он отображается слева (рис.3).

Рис. 3. Отображение цвета из файла ресурсов в среде разработки bitellij IDEА

Немаловажной является возможность изменения темы оформления. При длительной работе (8 часов в день) светлый фон намного сильнее утомляет глаз, чем темно-серый.

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

Также стоит остановиться и на таком важном элементе в разработке как графический редактор интерфейса. Возможность создавать интерфейс путем Drag-and-Drop намного упрощает задачу и ускоряет ее выполнение. Результат можно сразу увидеть на эмулируемом устройстве.

Кроме того, следует охарактеризовать среду разработки Android Studio. Это результат сотрудничества JetBrains и Google, ориентированный на разработку приложений Android. По большому счету, это та же самая IDEA, за исключением того, что в качестве сборщика используется Gradle, а не Ant. Все изменения которые вносятся в Android Studio через некоторое время появляются в IDEA, и наоборот. Google рекомендует именно Android Studio для разработки приложений.

Рис. 4. Графический редактор интерфейса в среде разработки bitellij IDEA

2.2 Обзор средств разработки для iOS

XCode - это базовая IDE для разработки приложений для iOS, так что не имеет смысла приводить ее аналоги (рис.5).

Рис. 5. Среда разработки XCode

Зачастую сторонние IDE заимствуют некоторые функции из XCode. К примеру, в проекте AppCode (продукт Jet Brains) нет визуального редактора интерфейсов. Разработчики из этой компании советуют изначально создавать интерфейсы в XCode, однако, никто не мешает пользоваться другими «умными средствами» Jet Brains. В отличие от открытой ОС Android, iOS накладывает своеобразную «монополию» на выбор средств для разработчика. Тем не менее, данная IDE по праву занимает первое место среди инструментов для разработки приложений. Это один из немногих инструментов, с которым хочется работать.

XCode использует единственное окно рабочего пространства - workplace window, которое содержит большую часть необходимых для работы данных. С Xcode можно легко перейти от написания кода к его отладке и разработке пользовательского интерфейса, и все это в пределах одного рабочего окна. SDK iOS постоянно расширяет комплект инструментов XCode, добавляя компиляторы и фреймворки, необходимые для работы с ОС. В качестве языка для разработки выступает Objective-C - объектно-ориентированный язык для разработки всех iOS приложений.

2.3 Обзор средств разработки для Windows Phone

Рассмотрим Visual Studio. IDE для разработки приложений на Windows Phone. Дополнив ее плагином Windows Phone SDK, разработчик получает готовый инструмент, содержащий все необходимое для разработки (рис. 6).

Рис. 6. Среда разработки Visual Studio

Последняя версия инструментария (на момент написания этой статьи) доступна в версии Windows Phone SDK 7.1 Release Candidate в лицензии «Go Live» с возможностью разрабатывать свои приложения и публиковать их в Windows Phone Marketplace.

Средства разработки Visual Studio предоставляют разработчику полноценные возможности по отладке продукта на устройстве и эмуляторе (такие же, как и при разработке приложений под настольную версию Windows). Редактором интерфейса в данной IDE выступает Expression Blend - интерактивный визуальный дизайнер для XAML, технологии описания интерфейса для приложений Silverlight и Windows Presentation Foundation(WPF). Visaul Studio - это отличное средство разработки, которое позволяет легко манипулировать слоями, анимацией, стилями и шаблонами. Это также и базовое средство разработки на XAML.

Сама по себе программа Expression Blend платная. Однако, существует специальная версия - Expression Blend 4 for Windows Phone. Она используется для создания дизайна приложений под Windows Phone и доступна для разработчиков бесплатно - программа закачивается и устанавливается в процессе установки Windows Phone SDK. Языком для разработки является С#.

По результатам приведенного анализа сравнения операционных систем iOS, Android, Windows Phone по критериям составим табл. 1

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

Таблица 1 - Сравнение операционных систем iOS, Android, Windows Phone

Критерии

iOS

Android

Windows Phone

Время разработки

Освоение языка: Swift – быстрое; Objective-C – медленное. Время на разработку: среднее.

Освоение языка: быстрое. Время на разработку: высокое.

Освоение языка: быстрое. Время на разработку: среднее.

Наличие специалистов

Язык Objective-C: узкий круг специалистов. Язык Swift: большое количество специалистов.

В основе используется язык Java, поэтому программировать могут большое количество специалистов.

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

Удобство разработки и отладки

Инструменты разработки развиты в полной мере.

Инструменты разработки развиты в полной мере.

Инструменты разработки развиты в полной мере.

Скорость работы ОС

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

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

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

Юзабилити

Наличие ограничений. Пользовательский интерфейс интуитивно понятный.

Наличие ограничений отсутствует. Пользовательский интерфейс интуитивно понятный.

Наличие ограничений отсутствует. Пользовательский интерфейс интуитивно понятный.

Интеграция со смежными системами

Интеграция возможна со смежными системами.

Интеграция возможна со смежными системами.

Интеграция возможна со смежными системами.

Открытость исходного кода ОС

Закрыт

Открыт

Закрыт

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

ЗАКЛЮЧЕНИЕ

В курсовой работе были рассмотрены самые популярные на сегодняшний день средства для нативной разработки мобильных приложений. Помимо них существует множество средств для кроссплатформенной разработки приложений, таких, как Xamarin, Unity3D, Cocos2Dx, Marmelade, Phonegap. Кроссплатформенная разработка используется при необходимости за кротчайший срок охватить максимум аудитории. Приложение, разработанное этим способом, не должно иметь доступа в ресурсам телефона. Данные IDE идеальны для создания "front end" приложений для веб сервисов.

СПИСОК ЛИТЕРАТУРЫ

  1. Саати Т.Л. Принятие решений при зависимостях и обратных связях: Аналитические сети. – М.: Издательство ЛКИ, 2015. – 360 с.
  2. Мохов В.А., и др. Рекурсивный алгоритм синхронизации API-запросов к ГИС-сервису Яндекс. Карты / В.А. Мохов, В.Н. Кубил, А.В. Кузнецова, И.В. Георгица // Фундаментальные исследования. – 2015. – № 9-1. – С. 33-38; URL: http://www.fundamental-research.ru/ru/article/view?id=38961
  3. Мохов В.А. Интегрированный алгоритм когнитивной оценки и выбора оптимального варианта онтологической модели [Электронный ресурс] / В.А. Мохов, Н.Н. Сильнягин // «Инженерный вестник Дона», 2011, № 4. – Режим доступа: http://www.ivdon.ru/magazine/ archive/n4y2011/600 (доступ свободный) – Загл. с экрана. – Яз. Рус.
  4. Ошурков В.А., Макашова В.Н. Методы минимизации ресурсных рисков в проектах разработки программных продуктов // Современные научные исследования и инновации. 2014. № 10 [Электронный ресурс] - URL: http://web.snauka.ru/ issues/2014/10/37111
  5. Ошурков В.А., Макашова В.Н. Механизмы оптимизации управления программой ИТ-проектов // Сборник научных трудов SWORLD. 2014. № 1. С. 66-72.
  6. Ошурков В.А., Макашова В.Н. Обзор стандартов в области управления рисками // Современные тенденции развития науки и технологий : сборник научных трудов по материалам I Международной научно-практической конференции 30 апреля 2015 г.: в 7ч. / Под общ. ред. Е.П. Ткачевой. – Белгород : ИП Ткачева Е.П., 2015. – Часть V. С. 79-81.
  7. Ошурков В.А., Чернова Е.В., Сторожева Е.В., Давлеткиреева Л.З. Механизмы противодействия явлений киберэкстремистской направленности в системе электронных платежей // Фундаментальные исследования. 2014. № 12-5. С. 1093-1097.
  8. IDC: Опрос менеджеров корпоративного звена на предмет внедрения мобильных устройств на предприятии [сайт]: http://idcrussia.com/ru/.
  9. Исследование Symantec: Статистика использования корпоративных мобильных приложений [сайт]: http://www. symantec.com/ru/ru/about/news/release/article.jsp?prid=20120306_01.
  10. Рейтинг мобильных операционных систем [сайт]: http://w7phone.ru/windows-phone-tretya-po-populyarnosti-mobilnaya-os-v-mire-88798/.
  11. Современные технологии разработки мобильных приложений [Электронный ресурс] // InteroSite – про разработку ПО. 2014.- URL: http://interosite.ru/articles/modern-mobile-techs.
  12. КомпьютерПресс: Корпоративные мобильные решения [Электронный ресурс] URL: http://compress.ru/article. aspx?id=10675.
  13. Чувашов А.П. Технологии разработки мобильных приложений. Плюсы и минусы разработки с помощью платформы PhoneGap // IV Международная студенческая электронная научная конференция «Студенческий научный форум» [Электронный ресурс] - URL: http://www.rae.ru/forum2012/219/2709.
  14. Обзор сред программирования: [Электронный ресурс] // ИНТУИТ. Режим доступа: http://www.intuit.ru/studies/courses/12643/1191/ lecture/21980?page=3
  15. Beacon Mountain – все, что нужно Android разработчику: [Электронный ресурс] // Хабрахабр. Режим доступа: http://habrahabr.ru/company/intel/blog/184094/.
  16. Saaty T. L. Concepts, theory and techniques: rank generation, preservation and reversal in the analytic hierarchy process // Decision Sciences. – 1987. – Vol. 18. – P. 157–177.