NativeScript Vs Flutter

Я начал работать над Native Script с Angular. Лучшая часть - это метод совместного использования кода, который я могу использовать для веб-приложений и приложений для мобильных устройств.

Но здесь я хочу спросить одну вещь: Angular - это фреймворк, разработанный Google, а Google также предоставляет еще один фреймворк для разработки собственных мобильных приложений, например Flutter.

Почему Google не использовал ту же платформу Angular, которую Telerik реализовал с помощью Native Script. Я уверен, что для этого должна быть какая-то причина. Я хочу понять причину.

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

Я не уверен, является ли это правильным местом, где я должен задать этот вопрос или нет. Если нет, то, пожалуйста, помогите мне найти правильное место.

Ответ 1

Флаттер здесь не главное, настоящая Ския.

Skia - это движок 2d-рендеринга, который позволяет пользователю запускать приложения с высокой производительностью. Таким образом, вместо использования html (веб-движка Chrome) или использования собственного внешнего вида (nativescript), Skia позволяет рисовать на каждом пикселе экрана, что позволяет нам писать игры во флаттере.

Реальные намерения Google в его трепетании Live 2018 состоят в том, чтобы создать согласованный интерфейс между всеми платформами:

  • рабочий стол
  • паутина (колибри)
  • мобильный (флаттер)

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

С другой стороны, nativescript использует движок узлов, который они загружают на платформу, и каждый раз, когда мы пытаемся использовать компонент, мы вызываем системный движок для размещения компонента на экране с нативным внешним видом, это позволяет нам использовать функции прямо с виртуальной машины, которая запускает java/swift, поэтому в nativescript вы можете использовать android. [ANDROID_JAVA_CLASS] или ios.[SWIFT_CLASS].

Основное изобретение nativescript заключается в использовании собственных классов из движка nodejs, которые они загружают во время выполнения для выполнения кода конкретной платформы. Когда вы преобразуете мобильный код nativescript в PWA, в этом механизме узлов нет необходимости, поскольку в браузере есть собственный механизм, поэтому мы можем удалить ненужный код из PWA.

ПРИМЕЧАНИЕ: nativescript - это не угловая структура для разработки мобильных приложений, это платформа nodejs для разработки мобильных приложений, а Angular/vuejs - это просто структуры, которые работают поверх базовой логики nativescript. Вот почему, если вы хотите, вы даже можете написать реагирующий плагин для nativescript.

Ответ 2

В Nativescript код не компилируется в собственный код, он работает в отдельном потоке, который связывает код с собственным компонентом. Среда выполнения позволяет вам вызывать API в платформах Android и iOS с использованием кода JavaScript. Для этого они используют виртуальные машины JavaScript - Googles V8 для Android и реализацию JavaScriptCore для WebKits, распространяемые с iOS 7. 0+. Flutter компилирует код в библиотеку ARM C/C++, которая используется нативными компонентами, поэтому может работать лучше.

У меня не было возможности сравнить производительность для двух, так как для NativeScript вы пишете код в Typescript/Javascript, в то время как Dart используется для Flutter, и я очень плохо знаком с Dart.

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

Примечание. Протестируйте приложения NativeScript через Интернет с помощью редактора кода и запустите на своем устройстве. Вы можете использовать Angular или Pure JavaScript, либо TypeScript, либо Vue.js, чтобы создать приложение.

На заметку: Google представил Flutter на саммите разработчиков Dart в 2015 году, а NativeScript был поддержан Progress с 2014 года. Возможно, Google хотел предоставить разработчикам другие возможности для изучения нативных приложений с другими платформами.

Если вы ищете доступные команды для Flutter, есть одна команда fuchsia_reload для перезагрузки операционной новой операционной системы Fuchsia, над которой работает Google, так что вполне возможно, что они захотят обеспечить раннюю поддержку для этого.

ОБНОВЛЕНИЕ: Если мы хотим использовать одну и ту же кодовую базу для Интернета и телефона, NativeScript - очевидный выбор. Команды Angular и NativeScript объединились для создания nativescript-schematics - набора схем, позволяющего создавать как веб-приложения, так и мобильные приложения из одного проекта.

Вы можете установить его используя

npm i -g @nativescript/schematics

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

Ответ 3

а) угловой не сделан гуглом.

вместо

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

источник: https://angular.io/about?group=Angular

б) То, что вещь о фреймворках все они продолжают появляться и исчезать. Учитесь и используйте один, пока не придет следующий.