Огляд крос-платформних рішень для розробки мобільних додатків

У цій статті ми порівняємо 6 рішень для крос-платформної розробки, які були популярні в 2016 році і спробуємо знайти найкраще рішення.

Крос-платформні фреймворки

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



У таблиці нижче представлені основні характеристики для кожного фреймворку:

PhoneGap Xamarin Unity Qt Appcelerator Titanium Telerik AppBuilder
Мова програмування JavaScript, HTML5, CSS3 та рідні мови Java, Objective-C, C#) C#, Xaml C#, UnityScript, Boo C++ QML JavaScript, Python, Ruby, PHP .Net, JavaScript, HTML5, Java, PHP
Підтримувані платформи Android, iOS, Windows Phone, Blackberry, WebOS, Symbian, Bada, Ubuntu, Firefox OS. iOS, Android, Windows Phone and Windows 8/RT Android, iOS, Windows Phone, Tizen, PS 4, Xbox One Android, iOS, WinRT iOS, Android, BlackBerry, Windows, Tizen, Denso iOS, Android, BlackBerry, Windows, Windows Phone
Ціни Ціни PhoneGap

Платна версія: 9.99$

Безкоштовна версія: доступна

Adobe Creative Cloud Membership: доступно
Ціни
Xamarin


Xamarin Studio Community: безкоштовно

Visual Studio Community: безкоштовно

Visual Studio Professional: доступно

Visual Studio Enterprise: доступно
Ціни
Unity


Personal Edition: безкоштовно

Professional Edition: від 75 $ у місяць
Ціни
Qt


Є безкоштовна версія. Платні версії починаються від 7$.
Ціни
Appcelerator


Є безкоштовний пробний період

Indie: 39$ в місяць

Pro: $99 в місяць
Ціни
Telerik AppBuilder


Є безкоштовний пробний період

Ціна від 39$ в місяць
Open source + - - + + -
UI Web Native UI Canvas Native Native Web
PhoneGap

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

PhoneGap Build дозволяє робити збірки для iOS, Android і Windows Phone одночасно, без необхідності встановлювати які-небудь SDK tools (звичайно, в цьому є частка лукавства – при розробці все одно краще робити збірку локально, хоча б на Android, перед відправкою на тестування). Але що більш важливо, цей сервіс дозволяє робити збірки для iOS в хмарі без наявності Mac.

Установка PhoneGap вимагає неймовірних зусиль, тому раджу звільнити пів дня… Жарт. Установка для XCode зайняла хвилини 3 — полягала у викачуванні архіву, розпакування та встановлення. Ось власне і все.

PhoneGap може бути використаний для створення двох типів додатків:

Web Hybrid: використовується коли вам не потрібні нативні UI елементи, в даному випадку все додаток буде в одному WebView.

Native Hybrid: використовується коли вам не потрібні нативні UI елементи, в цьому випадку програма буде включати кілька WebView в контейнері.

PhoneGap представляє можливість використовувати нативні функції мобільного пристрою по роботі з:
  • акселерометром,
  • камерою,
  • компасом,
  • контактами,
  • файловим сховищем,
  • геолокацією,
  • базою даних,
  • подіями, повідомленнями,
  • медіа і ін
Якщо додаток не виходить за рамки даних пунктів, то швидкість розробки з використанням фреймворку PhoneGap буде на порядок вище, ніж розробка нативного програми для кожної з платформ. Видео з розробкою програми і описом PhoneGap.



Переваги:

  • PhoneGap має простий API, що дозволить легко почати розробку, для тих хто стикався з HTML, CSS і JavaScript.
  • Можливість використання будь-яких існуючих бібліотек JavaScript (JQuery, Prototype, Sencha Touch)
  • Підтримка всіх мобільних платформ
Недоліки:

  • Користувальницький інтерфейс візуалізується за допомогою вбудованого браузера. Це створює труднощі в отриманні зворотного зв'язку в порівнянні з нативним додатком.
  • Часто існують плагіни виявляються застарілими, тому іноді доведеться писати свої.
Xamarin

Xamarin другої в нашому списку крос-платформний фреймворк. Xamarin дозволяє створювати одну єдину логіку програми із застосуванням C#.NET.

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




Переваги:

  • Велике і розвивається співтовариство.
  • Розробники можуть використовувати TestCloud для тестування додатків автоматично.
  • Якщо ви вже знайомі з C#.NET то вам не потрібно буде витрачати багато часу на вивчення кількох нових фреймворків.
  • Можна повторно використовувати вже написаний код.
  • Програми під різними системами будуть виглядати дуже схоже.
  • Динамічна верстка для iOS в нескінченне число разів простіше, ніж використання constraints вручну.
  • За рахунок CustomRenderer'ів стандартні контроли легко доповнюються довільними властивостями (наприклад, зробити градієнтну заливку кнопок — справа пари хвилин, хоча «з коробки» це не працює).


Недоліки:

  • Деякі інтерфейсні патерни важко реалізувати на monodroid і дуже важко на monotouch, так як рішення за замовчуванням для тієї чи іншої фітчи спираються на милиці платформи, які можуть просто не працювати в Xamarin.
  • Виникають проблеми з боку платформи mono, monotouch і monodroid. Ваше застосування повинне задовольняти особливим вимогам стабільності.
  • Android сторінки неможливо розташувати як частину вже існуючого Activity/Fragment.
  • Реалізовані не всі контроли.
Unity

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



Переваги:

  • Відмінний варіант для створення мобільних ігор для цілого ряду пристроїв
  • 3D-движок дає високоякісні результати без будь-яких складних конфігурацій
  • Є багато хороших безкоштовних плагінів
  • Unity дозволяє розробнику зробити свої власні шейдери і змінити шлях, яким Unity візуалізує гру.


Недоліки:

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

Qt бібліотека для створення кроссплатформенних віконних додатків на C++. Qt варто розглядати не стільки як набір класів для створення GUI, а скоріше як повноцінний інструментарій класів на всі випадки життя. Є можливість розробляти програми на C++, але і мовою QML, сильно схожим з JavaScript. Це особлива гілка розвитку Qt, спрямована на швидке прототипування і розробку мобільних додатків. Відео з розробкою мобільної гри на Qt.

Переваги:

  • Qt має безліч хороших інструментів, які допоможуть у розробці, наприклад: IDE QT Creator, Qt Designer і code profiling.
  • Він має бібліотеки, що містять інтуїтивно зрозумілі інтерфейси API для елементів, таких як мережі, анімації та багато іншого.


Недоліки:

  • Qt складний для початківців
  • Розробнику потрібно буде вивчати API для кожної нової платформи
  • Невелике співтовариство


Appcelerator Titanium

Titanium — це повністю відкрита платформа для розробки, впровадження, поширення, і, в кінцевому підсумку, для виконання веб-додатків. Appcelerator Titanium дозволяє створювати мобільні додатки JavaScript, HTML і CSS.

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

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



Переваги:

  • JavaScript дозволяє легко розробляти програми без використання мов платформи.
  • Appcelerator дозволяє робити аналітику в режимі реального часу
  • Використання native API дасть більш високу продуктивність для додатків, які не дуже великі.


Недоліки:

  • Є затримки при запуску додатка з-за завантаження бібліотеки
  • Важко створювати складні додатки, так як використання JavaScript негативно позначається на продуктивності додатків.
Telerik AppBuilder

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

Можливість створювати iOS додатки працюючи на Windows або Linux ще одна перевага.

І наостанок, приналежність AppBuilder до Telerik Platform дає вам можливість користуватися такими фічами як аналітика, спливаючі повідомлення, авторизація користувачів і хмарним сховищем. Детальний опис статті і відео.



Переваги

  • Telerik надає плагіни Visual Studio і Sublime Text для AppBuilder.
  • AppBuilder пропонує швидкий спосіб імпорту плагінів Cordova.
  • Повноцінна онлайн IDE.
  • Легкий у використанні і вивченні


Недоліки:

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

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.