Информационное письмо
Образец оформления статьи
Анкета автора
13.02.2015

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

Бордюг Валерия Леонидовна
Магистрант Санкт-Петербургский Государственный Экономический Университет г. Санкт-Петербург, РФ
Панченко Евгения Григорьевна
Магистрант Санкт-Петербургский Государственный Экономический Университет г. Санкт-Петербург, РФ
Трифонова Оксана Николаевна
Магистрант Санкт-Петербургский Государственный Экономический Университет Главный специалист отдела управления проектами в инжиниринговой компании г. Санкт-Петербург, РФ
Аннотация: Рассмотрение средств, позволяющих разрабатывать мобильные приложения без необходимости использования родного для платформы языка, преимущества и недостатки каждого, и проведение анализа методом иерархии Томаса Саати в СППР Выбор.
Ключевые слова: информационные технологии, кроссплатформенность, фреймворки, мобильные технологии, система электронного документооборота, метод анализа иерархииинформационные технологии, кроссплатформенность, фреймворки, мобильные технологии, система электронного документооборота, метод анализа иерархии
Электронная версия
Скачать (814 Kb)

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

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

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

1. Цель исследования

Исследование инструментов для разработки мобильного приложения, положительные и отрицательные стороны каждого, выбор единственного подходящего по критериям оценки кроссплатформенного инструмента и проведение анализа методом иерархии Т. Саати [4] в СППР Выбор.

2. Альтернативы исследования

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

Appcelerator Titanium: язык программирования – JavaScript. Поддерживает платформы – iOS, Android, BlackBerry

PhoneGap: язык программирования – JavaScript, HTML5, CSS. Поддерживает платформы – iOS, Android, webOS, Symbian, BlackBerry, Windows Phone 7, Bada

Objective-C и C для iOS и на языке Java для Android

Appcelerator Titanium

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

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

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

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

Кроме того, немаловажным является тот факт, что Titanium позволяет расширять имеющиеся возможности, написанием сторонних модулей на языках Objective-C и C для iOS и на языке Java для Android. Titanium также предоставляет разработчикам собственную среду разработки Titanium Studio, которая появилась вскоре после покупки Aptana компанией Appcelerator. Из важных особенностей среды стоит отметить наличие встроенного отладчика.

PhoneGap

В отличии от Titanium — PhoneGap не использует нативные элементы интерфейса, а вместо этого создает webView, внутри которого располагается обычная HTML-разметка — это означает, что на всех платформах приложение, написанное с помощью PhoneGap, будет выглядеть практически одинаково, что в подавляющем большинстве случаев, конечно же, больше минус, чем плюс. Тем не менее, PhoneGap — это не просто веб-приложение, упакованное для распространения в различных маркетах. У разработчика есть доступ к большинству возможностей девайса, таким как камера, акселерометр, файловая система и т. д.

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

3. Критерии исследования

Попробуем выделить наиболее важные критерии при выборе инструмента для разработки мобильных приложений и проранжировать по ним средства разработки. Для сравнения возьмем наиболее популярную платформу iOS и нативное средство Objective-C с iOS SDK и 2 фреймворка: Appcelerator Titanium и PhoneGap.

1. Нативность. Показатель достаточно важный, и его важность только растет со временем, потому что мобильные ОС развиваются очень быстро и глупо не пользоваться теми возможностями, которые предоставляет каждая из них. По этому показателю выигрывает, безусловно Titanium, но оба фреймворка проигрывают iOS SDK, которым вынуждены пользоваться

2. Производительность. Безусловным лидером и тут является iOS SDK. Titanium, конечно, уступает ему, но за счет того, что все элементы интерфейса в итоге становятся теми же, что и в Objective-C выигрывает у PhoneGap, который проигрывает по производительности, за счет того, что весь интерфейс помещается в webView и при серьезных объемах данных этот интерфейс заметно подтормаживает. Также стоит отметить, что очень сложно заставить работать Titanium и PhoneGap-приложения долго без crashes. Видимо, это связано с тем, что освобождение памяти реализовано в них совсем не идеально.

3. Кроссплатформенность. Тут уже уверенно лидирует PhoneGap с 7 платформами. Titanium — 3 платформы.

4. Скорость разработки. Здесь все совсем не очевидно. На первый взгляд кажется, что в порядке убывания скорости это выглядит вот так: PhoneGap, Titanium, iOS SDK. Однако это верно для самых простых приложений, с увеличением сложности проекта картина меняется прямо пропорционально и для сложных проектов мы получаем все наоборот: iOS SDK, TItanium, PhoneGap. Аргументация этого тезиса заключена в следующих двух пунктах

5. Разнообразие возможностей. Первое место у iOS SDK, можно отдать Titanium — за счет того, что он поддерживает меньше платформ — методов и свойств у классов предоставляется больше, кроме того есть классы, работающие только с iOS, либо только с Android, предоставляя специфические возможности платформ. Но как только их станет не хватать — разработчику придется писать модули (а в случае с PhoneGap — плагины) — а для этого ему придется изучить Objective-C, после чего, вполне возможно, что он захочет переписать проект именно на нем.

6. Средства отладки. Отладчик в Xcode основан на GDB, кроме того, в Xcode есть много дополнительных средств, таких как zombie objects, которые позволяют отследить ошибки освобождения памяти и масса возможностей в Instruments, который с четвертой версии встроен в Xcode. В Titanium уже около года назад — с выходом Titanium Studio — появился свой отладчик, который, однако, позволяет увидеть стек вызовов только JS-кода, поэтому причины ошибок, которых предостаточно, допущенных разработчиками Titanium, понять иногда бывает крайне сложно и на это уходит уйма времени. Средства отладки PhoneGap еще более скромны, в частности, нет таких возможностей, как точки останова и трассировка стека

7. Документированность. Первое место — у iOS SDK. Второе можно отдать PhoneGap, так как многие из возможностей Titanium не документированы совсем, правда оправданием этому служит то, что доступен для скачивания проект Kitchen Sink, в котором реализовано все, что можно сделать с помощью Titanium

Ниже представлена сводная таблица (табл. 1) соревнований.

Таблица 1. Сводная таблица соревнований. 

Таблица 1. Сводная таблица соревнований.

Источник: http://blog.htc-cs.ru/wp-content/uploads/2012/05/table.pn

4. Использование метода анализа иерархии Т.Саати в СППР Выбор при подборе инструментов для разработки мобильного приложения

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

Рассматриваемая задача представлена в виде иерархической структуры выбора инструментов для разработки мобильного приложения «Цель → Критерии → Альтернативы» на рисунке 1. 

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

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

5. Суждения исследования

В соответствии со шкалой субъективных суждений сравнения критериев (табл. 2) выделяются наиболее значимые и важные критерии, составляется список суждений.

Таблица 2. Шкала субъективных суждений сравнения критериев

Значение

Определение

1

А и В одинаково важны

3

А незначительно важнее, чем В

5

А значительно важнее В

7

А явно важнее В

9

А по своей значительности абсолютно превосходит В

2, 4, 6, 8

Промежуточные значения


Можно выделить следующие субъективные суждения: 

  • Производительность существенно превосходит нативность, но незначительно превосходит кроссплатформенность
  • Кроссплатформенность умеренно превосходит нативность
  • Скорость разработки и разнообразие возможностей незначительно превосходят нативность
  • Нативность умеренно превосходит средства отладки и документированность
  • Производительность значительно превосходит скорость разработки и средства отладки
  • Производительность абсолютно превосходит документированность, но умеренно превосходит разнообразие возможностей
  • Кроссплатформенность существенно превосходит скорость разработки, но незначительно превосходит разнообразие возможностей
  • Кроссплатформенность значительно превосходит средства отладки и документированность
  • Разнообразие возможностей умеренно превосходит скорость разработки, в свою очередь скорость разработки умеренно превосходит средства отладки и документированность
  • Разнообразие возможностей существенно превосходит средства отладки и значительно превосходит документированность
  • Средства отладки незначительно превосходит документированность. 

6. Матрицы попарных сравнений

Матрицы попарных сравнений были составлены при помощи программного продукта СППР Выбор, там же были определены значения следующих показателей: 

  • собственного значения матриц (λ),
  • индекса согласованности (ИС),
  • отношения согласованности (ОС). 

Представим матрицу сравнений критериев выбора инструментов для разработки мобильного приложения – рис. 2-9. Матрицы попарных сравнений альтернатив инструментов для разработки мобильного приложения по всем критериям представлены на рисунках 3-9. Значения отношения согласованности всех полученных матриц не превышает 20%, что свидетельствует о том, что их можно принять условно согласованными.

Рис. 4. Матрица попарных сравнений альтернатив инструментов по производительности

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

Рис. 3. Матрица попарных сравнений альтернатив инструментов по нативности

Рис. 3. Матрица попарных сравнений альтернатив инструментов по нативности

Рис. 4. Матрица попарных сравнений альтернатив инструментов по производительности

Рис. 4. Матрица попарных сравнений альтернатив инструментов по производительности

Рис. 5. Матрица попарных сравнений альтернатив инструментов по кроссплатформенности

Рис. 5. Матрица попарных сравнений альтернатив инструментов по кроссплатформенности

Рис. 6. Матрица попарных сравнений альтернатив инструментов по скорости разработки

Рис. 6. Матрица попарных сравнений альтернатив инструментов по скорости разработки

Рис. 7. Матрица попарных сравнений альтернатив инструментов по разнообразию возможностей

Рис. 7. Матрица попарных сравнений альтернатив инструментов по разнообразию возможностей

Рис. 8. Матрица попарных сравнений альтернатив инструментов по средствам отладки

Рис. 8. Матрица попарных сравнений альтернатив инструментов по средствам отладки

Рис. 9. Матрица попарных сравнений альтернатив инструментов по документированности

Рис. 9. Матрица попарных сравнений альтернатив инструментов по документированности

В итоге мы получили результат вычислений в виде диаграммы рис. 10, из которой видно, что для разработки мобильного приложения оптимальным вариантом, удовлетворяющим всем критериям выбора, является iOS SDK Objective-C с комбинированным весовым коэффициентом равным 0,562.

Рис. 10. Диаграмма результатов вычислений

Рис. 10. Диаграмма результатов вычислений

Список литературы:

  1. Барабанова М.И., Воробьев В.П., Минаков В.Ф. Экономико-математическая модель динамики дохода отрасли связи России // Известия Санкт-Петербургского государственного экономического университета. – 2013. – № 4 (82). – С. 24–28.
  2. Макарчук Т.А., Минаков В.Ф., Щугорева В.А. Облачные решения построения информационных систем управления ресурсами организации // Международный научно-исследовательский журнал = Research Journal of International Studies. – 2014. – № 1-1 (20). – С. 68-69.
  3. Минаков В.Ф., Минакова Т.Е. Информационное общество и проблемы прикладной информатики // Международный научно-исследовательский журнал = Research Journal of International Studies. – 2014. – № 1-1 (20). – С. 69-70.
  4. Саати Т. Принятие решений. Метод анализа иерархий. М.: Радио и связь. – 1993. – 278 с.
  5. Minakov V.F., Ilyina O.P., Lobanov O.S. Concept of the Cloud Information Space of Regional Government // Middle-East Journal of Scientific Research. – 2014. – № 21 (1). – P. 190-196