Dev*_*h M 30 nativescript flutter angular
我已经开始使用Angular处理Native Script.最好的部分是代码共享技术,我可以用于Web和移动应用程序.
但是我想要问的一点是,Angular是一个由Google开发的框架,Google也为Native移动应用程序开发提供了另一个框架,即Flutter
为什么Google没有使用Telerik用Native Script实现的相同Angular框架.我确信必须有一些理由.我想了解原因.
如果我可以开发具有共同技能的Web和移动应用程序,例如Angular,那么为什么我应该学习/选择像Flutter这样的新框架.
我不确定这是否是我应该问这个问题的合适地方.如果没有,那么请帮我找到合适的地方.
小智 22
Flutter不是这里的主要交易,真正的东西是Skia。
skia是2D渲染引擎,它允许用户以高性能方式运行应用程序,而不是使用html(chrome网络引擎)或使用本机外观(nativescript),skia允许我们在屏幕的每个像素上进行绘制,这使我们可以轻而易举地编写游戏。
Google在动荡的Live 2018中受到抨击的真实意图是在所有平台之间创建一个一致的UI:
所有这些框架都将skia用于UI以及用于与OS交互的相应框架(浏览器,桌面,移动设备),因为skia是渲染引擎,并且我们控制每个像素,因此我们可以确保小部件在所有类型的设备上看起来都一样斯基亚框架。
另一方面,nativescript使用它们在平台上加载的节点引擎,每次我们尝试使用组件时,我们都将系统引擎称为具有原生外观的组件放置在屏幕上,这使我们能够使用功能直接从运行java / swift的虚拟机开始,这就是为什么在nativescript中可以使用android的原因。[ANDROID_JAVA_CLASS]或ios.[SWIFT_CLASS]。
nativescript的主要发明是使用来自nodejs引擎内部的本机类,它们在运行时加载以便执行特定的平台代码。当您将本机脚本移动代码转换为PWA时,不需要此节点引擎,因为浏览器拥有自己的引擎,因此我们可以从PWA中删除不必要的代码。
注意:nativescript不是用于移动开发的角度框架,它是用于移动开发的nodejs框架,而Angular / vuejs只是在nativescript核心逻辑之上运行的框架。这就是为什么如果您愿意,甚至可以为nativescript编写react插件的原因。
Nar*_*dra 12
在Nativescript中,代码未编译为本地代码,而是在单独的线程上运行,该线程将代码与本地组件通信。运行时使您可以使用JavaScript代码在Android和iOS框架中调用API。为此,他们使用了JavaScript虚拟机-适用于Android的Google V8和随iOS 7.0+一起发布的WebKit的JavaScriptCore实现。尽管Flutter将代码编译到本机组件消耗的ARM C / C ++库中,所以性能可能会更好。
我没有机会比较两者的性能,因为对于NativeScript来说,您是用Typescript / Javascript编写代码的,而Dart用于Flutter,而我对Dart还是很陌生。
NativeScript是Angular也在资源中列出的一个开源资源,并且NativeScript现在有一个很好的社区。如果您有兴趣列出不同框架的优缺点,这里是一篇很好的文章。
注意:使用代码编辑器在线测试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
Run Code Online (Sandbox Code Playgroud)
甚至可以作为描述从现有的项目迁移到代码共享项目在这里。
| 归档时间: |
|
| 查看次数: |
10313 次 |
| 最近记录: |