在Nativescript中,代码
不会编译成本地代码,而是在与本地组件通信的单独线程上运行。运行时使您能够使用JavaScript代码调用Android和iOS框架中的API。为此,它们使用JavaScript虚拟机-- Android使用Google的V8,而iOS 7.0+使用WebKit的JavaScriptCore实现。虽然Flutter将代码编译为ARM C/C++库,由本地组件消耗,因此可能表现更好。
我没有比较这两者的性能的机会,因为对于NativeScript,您编写
Typescript/Javascript代码,而对于Flutter,使用Dart,而我对Dart非常陌生。
NativeScript是一个开源项目,Angular也将其列入
resources之一,现在有非常好的NativeScript社区。如果您有兴趣列出不同框架的优缺点,
here是一篇非常好的文章。
注意: 使用代码编辑器
online测试NativeScript应用程序并在设备上运行。您可以使用Angular或Pure JavaScript或TypeScript或Vue.js风格来构建应用程序。
顺带一提:Google在2015年的Dart开发者峰会上推出了Flutter,而NativeScript则是自2014年起由Progress支持。也许Google想要给开发者其他选项来探索使用其他框架构建本地应用程序。
如果你正在寻找Flutter可用的命令,那么有一个名为fuchsia_reload的命令可以重新加载Google正在开发的新操作系统Fuchsia,因此他们可能想要提供对其的早期支持。
更新:
如果我们想要为Web和手机共享同一个代码库,NativeScript是一个显而易见的选择。Angular和NativeScript团队合作创建了nativescript-schematics,这是一个原理集合,使您能够从单个项目构建Web和移动应用程序。
您可以使用以下方式进行安装
npm i -g @nativescript/schematics
甚至您可以按照这里所述的方式从现有项目迁移到代码共享项目。