Научная статья на тему 'СРАВНЕНИЕ КРОСС-ПЛАТФОРМЕННЫХ ФРЕЙМВОРКОВ'

СРАВНЕНИЕ КРОСС-ПЛАТФОРМЕННЫХ ФРЕЙМВОРКОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
420
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СОЗДАНИЕ ПРИЛОЖЕНИЙ / СРАВНЕНИЕ ФРЕЙМВОРКОВ / КОМПЬЮТЕРНАЯ ТЕХНИКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ихтиар В. Ф.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «СРАВНЕНИЕ КРОСС-ПЛАТФОРМЕННЫХ ФРЕЙМВОРКОВ»

УДК 004

В.Ф. Ихтиар

СРАВНЕНИЕ КРОСС-ПЛАТФОРМЕННЫХ ФРЕИМВОРКОВ

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

Ключевые слова: создание приложений, сравнение фреймворков, компьютерная техника.

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

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

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

Исходя из вышего сказанного проведем сравнение популярных кросс-платформенных фреймворков.

Кросс-платформенные фреймворки PhoneGap, Xamarin, Unity, Qt и Appcelerator Titanium, Telerik Platform на сегодняшний день занимают 80% рынка кросс-платформенной разработки для мобильных устройств.

В таблице ниже представлены основные характеристики для каждого фреймво

Таблица 1

PhoneGap Xamarin Unity Qt Appcelerator Titanium Telerik AppBuilder

Языки JavaScript, HTML5, CSS3 и нативные языки (Java, Objec-tive-C, C#) C#, Xaml C#, UnityScript, Boo C++ QML JavaScript, Python, Ruby, PHP Net, JavaScript, HTML5, Java, PHP

Поддерживаемые лат-формы Android, iOS, Windows Phone, Blackberry, WebOS, Sym-bian, Bada, Ubuntu, Firefox OS iOS, Android, Windows Phone and Windows 8/RT, Tizen Android, iOS, Windows Phone, Tizen, PS 4, Xbox One Android, iOS, WinRT, Windows, Symbian, Linux, QNX iOS, Android, BlackBerry, Windows, Tizen, Denso iOS, Android, BlackBerry, Windows, Windows Phone

Цены Платная версия: от 9.99$ Бесплатная версия: доступна Adobe Creative Cloud Membership: доступно Xamarin Studio Community: бесплатно Visual Studio Community: бесплатно Visual Studio Professional: доступно Visual Studio Enterprise: доступно Personal Edition: бесплатно Professional Edition: от 75 $ в месяц Есть бесплатная версия. Платные версии начинаются от 79$ Есть бесплатный пробный период Indie: 39$ в месяц Pro: $99 в меся Есть бесплатный пробный период Цена от 39$ в месяц

Open source + - - + + -

UI Web Native UI Canvas Native Native Web

© Ихтиар В.Ф., 2018.

PhoneGap

PhoneGap позволяет создавать мобильные приложения используя стандартные веб технологии (HTML5, JavaScript и CSS3). В результате это привело к быстрому росту популярности фреймворка, с его помощью можно обойтись без разработки на таких языках программирования как: Java for Android, Objective-C for iOS и C#.

PhoneGap Build позволяет делать сборки для iOS, Android и Windows Phone одновременно, без необходимости устанавливать какие-либо SDK tools. Но что более важно, этот сервис позволяет делать сборки для iOS в облаке без наличия Mac.

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

• акселерометром,

• камерой,

• компасом,

• контактами,

• файловым хранилищем,

• геолокацией,

• базой данных,

• событиями, уведомлениями, медия и др.

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

Преимущества:

• PhoneGap имеет простое API, что позволит легко начать разработку, для тех кто сталкивался с HTML, CSS и JavaScript.

• Возможность использования любых существующих JavaScript библиотек (JQuery, Prototype, Sencha Touch)

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

Недостатки:

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

• Часто существующие плагины оказываются устаревшими, поэтому иногда придется писать свои.

Xamarin

Xamarin позволяет создавать одну единственную логику приложения с применением C# и .NET.

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

Преимущества:

• Большое и развивающееся сообщество.

• Разработчики могут использовать TestCloud для тестирования приложений автоматически.

• Если вы уже знакомы с C# и .NET то вам не нужно будет тратить много времени на изучение нескольких новых фреймворков.

• Можно повторно использовать уже написанный код.

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

• Динамическая верстка для iOS в бесконечное число раз проще, чем использование constraints вручную.

Недостатки:

• Некоторые интерфейсные паттерны тяжело реализовать на monodroid и очень тяжело на monotouch.

• Возникают проблемы со стороны платформы mono, monotouch и monodroid. Ваше приложение должно удовлетворять особенным требованиям стабильности.

• Android страницы невозможно расположить как часть уже существующего Activity/Fragment.

Telerik AppBuilder

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

Возможность создавать iOS приложения работая на Windows или Linux еще одно преимущество.

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

• Telerik предоставляет плагины Visual Studio и Sublime Text для AppBuilder.

• AppBuilder предлагает быстрый способ импорта плагинов Cordova.

• Полноценная онлайн IDE.

• Легок в использовании и изучении

Недостатки:

• Небольшое сообщество

Unity

Мультиплатформенный инструмент для разработки 2D и 3D приложений и игр Unity, также один из лучших инструментов для демонстрации 3D контента. Созданные с помощью Unity приложения работают под операционными системами Windows, OS X, Linux, Android, Apple iOS, Windows Phone, BlackBerry, а также на игровых приставках Wii, PlayStation 3 и Xbox 360.

Преимущества:

• Отличный вариант для создания мобильных игр для целого ряда устройств

• 3D-движок дает высококачественные результаты без каких-либо сложных конфигураций

• Есть много хороших бесплатных плагинов

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

Недостатки:

•UI и сложность в использовании для новичков •Исходный код недоступен

•Компиляторы Unity не оптимизированы для ARM процессоров на некоторых мобильных устройствах.

Qt

Qt библиотека для создания кроссплатформенных оконных приложений на C++. Qt стоит рассматривать не столько как набор классов для создания GUI, а скорее как полноценный инструментарий классов на все случаи жизни. Есть возможность разрабатывать программы не только на C++, но и языке QML, сильно схожим с JavaScript. Это особая ветвь развития Qt, направленная на быстрое прототипирование и разработку мобильных приложений.

Преимущества:

• Qt имеет множество хороших инструментов которые помогут в разработке, например: IDE QT Creator, Qt Designer и code profiling.

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

Недостатки:

• Qt сложен для начинающих

Appcelerator Titanium

Titanium — это полностью открытая платформа для разработки, развертывания, распространения, и, в конечном итоге, для исполнения веб-приложений. Appcelerator Titanium позволяет создавать мобильные приложения на JavaScript, HTML и CSS.

Вы можете создавать современные, а главное — нативные приложения, используя любую популярную на сегодняшний день операционную систему: Windows, GNU/Linux или MacOS X.

Приложения, созданные с помощью данного SDK будут действительно нативными. Контроллер навигации на Андроиде будет выглядеть привычно и не так как на iOs. Причем не только вид, но и сам код приложения будет тоже нативный. Это кстати не мешает вам создавать и классический WebView и наполнить его желаемым web контентом.

Преимущества:

• JavaScript позволяет легко разрабатывать приложения без использования языков платформы.

• Appcelerator позволяет делать аналитику в режиме реального времени

• Использование native API даст более высокую производительность для приложений, которые не очень велики.

Недостатки:

• Есть задержки при запуске приложения из-за загрузки библиотеки

• Трудно создавать сложные приложения, так как использование JavaScript отрицательно сказывается на производительности приложений.

React Native

Что такое React Native? Это JS-фреймворк, основанный на JS и React — JS-библиотеке для создания

UI.

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

Преимущества:

• Единый воркфлоу и инструменты: неважно, работаете ли вы на Android- или iOS-версией — все равно используете одни инструменты.

• По этой причине — скорость и простота разработки.

• Обвязка унаследованного приложения в JS API и гибридные приложения: допустим, у вас уже есть готовое приложение для iOS, и вы хотите перейти на React Native. Тогда можно обернуть нативные компоненты так, чтобы они были доступны в React Native. Так вы можете постепенно переходить на React, и получается гибридное приложение — половина его нативная, а половина — в React, и несколько унаследованных компонентов — в JS API.

Вывод

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Библиографический список

1.Блог Noveo [электронный ресурс]. - Режим доступа: https://blog.noveogroup.ru/2017/04/nativnaya-vs-kro ssplatformennay a/

2.Официальный сайт Xamarin [электронный ресурс]. - Режим доступа: https://www.xamarin.com/

3.Официальный сайт Unity [электронный ресурс]. - Режим доступа: https://unity3d.com/ru

4.Официальный сайт Appcelerator Titanium [электронный ресурс]. - Режим доступа: https://www.appcelerator.org/

5.Официальный сайт Qt [электронный ресурс]. - Режим доступа: https://www.qt.io/

6.Официальный сайт PhoneGap [электронный ресурс]. - Режим доступа: http://phonegap.com/

7.Официальный сайт React Native [электронный ресурс]. - Режим доступа: http://www.reactnative.com/

8.Официальный сайт Telerik Platform [электронный ресурс]. - Режим доступа: https://www.telerik.com/login/v2/platform?ReturnUrl=https%3a%2f%2fidentity.telerik.com%2fv2%2foauth%2ftelerik%2fau thorize%3fclient_id%3duri%253aappshell%26redirect_uri%3dhttps%253a%252f%252fplatform.telerik.com%252f%26respo

ИХТИАР ВАДИМ ФЕДОРОВИЧ - магистрант, УрФУ, Россия.

i Надоели баннеры? Вы всегда можете отключить рекламу.