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
б) То, что вещь о фреймворках все они продолжают появляться и исчезать. Учитесь и используйте один, пока не придет следующий.