Ionic - это платформа, предназначенная для создания гибридного приложения с использованием HTML5, CSS и Angular. Требуется оболочка «Cordova / PhoneGap» для доступа к контроллерам собственной платформы и обеспечения «нативного» взаимодействия. Он использует WebView для рендеринга.

NativeScript - это платформа с открытым исходным кодом для создания действительно нативных мобильных приложений с использованием Angular, Typescript и Javascript. Он напрямую взаимодействует с Native API, поэтому мы можем получить к нему доступ через JS. В отличие от Cordova, он не использует оболочку на основе WebView.

Ключевые различия

  • Одно из ключевых различий между ними заключается в том, что приложения NativeScript могут работать напрямую на собственном устройстве. Он не требует кросс-компиляции или взаимодействия с браузером.
  • В отличие от NativeScript, Ionic нужны плагины для покрытия приложения в нативном виде, и это можно сделать без каких-либо проблем с помощью инструмента командной строки.
  • С разными моделями они делают почти одно и то же. Однако приложения являются кроссплатформенными, независимо от того, используете ли вы Ionic или NativeScript. И Ionic, и NativeScript используют AngularJS, что, опять же, неплохо для разработчиков и организаций.

Производительность

Ionic использует веб-технологии для рендеринга приложения, поэтому его производительность ниже, чем у нативных приложений. Он полагается на WebViews для создания интерфейса и использует плагины для доступа к аппаратным функциям устройства. Такой подход к рендерингу снижает скорость. Кроме того, Ionic не использует собственные компоненты и пытается воссоздать собственное поведение с помощью веб-технологий. Для подключения к собственным API-интерфейсам Ionic использует встроенную оболочку Cordova.

NativeScript быстрее, чем Ionic, поскольку он напрямую подключается к собственным API. NativeScript напрямую внедряет API-интерфейсы IOS и Android в виртуальные машины Javascript. Это упрощает разработку и позволяет напрямую обращаться к собственным API.

NativeScript использует JavascriptCore только для iOS и запускает Android через виртуальную машину V8. Что касается повторного использования кода, вы можете поделиться своей кодовой базой через iOS, Android и веб-приложения на основе Angular.

GUI (графический интерфейс пользователя)

Ionic вообще не использует собственные компоненты и отображает все в HTML и CSS. Он использует Cordova для создания мобильного поведения. Ionic имеет элементы пользовательского интерфейса в собственном стиле и макет.

NativeScript позволяет писать пользовательский интерфейс для каждой платформы независимо. Пользовательский интерфейс хранится в файлах XML со стилем CSS, а бизнес-логика - в файлах Javascript и TypeScript.

Что касается простоты использования и удобства использования, NativeScript выигрывает битву.

Кодирование, сборка и отладка

Вы можете использовать IDE Visual Studio Code (VS Code) для обеих платформ. В случае с Ionic вам нужно добавить некоторые трюки для отладки напрямую из VS Code. NativeScript предоставляет собственное расширение для редактора VS Code.

Быстрое сравнение

Плюсы Ionic

  • Единая кодовая база может использоваться для Android, iOS, Windows и веб-приложений.
  • Доступна огромная поддержка сообщества и множество плагинов.
  • Цикл тестирования быстрой разработки
  • Позволяет использовать Angular для создания настраиваемых компонентов
  • С AngularJS приятно работать
  • Apache Cordova отполирован
  • Имеет хорошую производительность

Минусы Ionic

  • Отсутствие нативного опыта
  • Необходимо использовать сторонние плагины для доступа к собственным функциям
  • Плагины Apache Cordova требуют собственных знаний
  • Низкая производительность по сравнению с NativeScript из-за подхода к рендерингу WebView и сторонних библиотек для доступа к аппаратному и собственному API.

Плюсы NativeScript

  • Доступ к собственному API и компонентам с помощью JavaScript
  • Предлагает безупречный пользовательский интерфейс
  • Единая кодовая база для разработки приложений для большинства платформ
  • Макеты собственных платформ
  • Доступ JavaScript к собственным компонентам и API
  • Имеет отличную производительность

Минусы NativeScript

  • Размер приложения больше, чем у Ionic и React Native.
  • Нет поддержки HTML и DOM в NativeScript

Выводы

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

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

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

Однако с его целью делиться приложениями в Интернете, iOS и Android с минимальными изменениями пользовательского интерфейса, вам, скорее всего, придется пожертвовать собственным внешним видом приложения. Пожалуй, основной вариант использования NativeScript - это перенос веб-приложений, созданных с помощью Angular или Vue.JS, на мобильные устройства.

Ссылки

Https://www.altexsoft.com/blog/engineering/xamarin-vs-react-native-vs-ionic-vs-nativescript-crossplatform-mobile-frameworks-comparison/

Https://codeburst.io/app-development-ionic-or-nativescript-40b118bd8e51

Https://blog.jscrambler.com/react-native-vs-ionic-vs-nativescript-a-practical-guide/

Https://www.thepolyglotdeveloper.com/2015/11/nativescript-vs-ionic-framework-should-youswitch/

«Https://medium.com/@Cubet_Techno_Labs/ionic-vs-react-native-vs-nativescript-2018-comparison- большая 9a7105135eb0