
1 什么是NativeScript
NativeScript 是用于构建 iOS 和 Android 应用程序的成熟框架,可以让我们直接从JavaScript(或TypeScript)使用本机API ,因此我们也可以将其与 Angular,React,Vue 或 Svelte 一起使用。
2 移动端开发方式的对比
移动应用程序可分为四大类:native, hybrid, cross compiled, and just-in-time (JIT) compiled
hybrid app本质上是在web浏览器中运行的网页。cross compiled app通过编译器被转换成native app。而JIT compiled app(例如NativeScript)运行在一个 JavaScript的虚拟机里。
3 NativeScript的优点
更少的shim代码(处理Android和iOS的不同)、一次写入(Android和iOS共用一套代码)、随处部署等等。
4 NativeScript能构建什么样的应用
因为NativeScript应用程序直接运行在设备上,并由运行在应用程序内部的JavaScript虚拟机解释,这意味着NativeScript应用程序不受访问本机设备api或硬件的限制,因此任何应用程序都可以编写为NativeScript应用。理论上是这样的,但是NativeScript应用程序是在JavaScript虚拟机中运行的,所以在应用程序和裸机之间有一个额外的(尽管很小)抽象层。要从设备中提取每一点性能,所以它不适合构建图形密集的游戏。
5 NativeScript是怎么工作的
NativeScript Runtime:NativeScript Runtime是连接JavaScript代码和Android和iOS原生API之间的接口代码。就像浏览器制造商教他们的JavaScript虚拟机如何使用DOM和windows对象一样,NativeScript Runtime也教JavaScript虚拟机如何使用本机设备底层的API。
NativeScript Core Modules: NativeScriptCore Modules是一组库,这些库是用来构建应用程序并指示NativeScript运行时在设备上做什么。核心模块由不同的库组成,如UI组件(按钮、列表视图、标签)、导航和应用程序。
JavaScript virtual machine:理解并执行JavaScript的代码,但是不知道怎么与设备交互,所以NativeScript开发团队编写了接口代码(称为NativeScript Runtime和NativeScript Core Modules)来教JavaScript虚拟机有关Android和iOS等移动设备API的知识。
NativeScript CLI:NativeScript CLI抽离了本地工具和SDK的复杂性,为我们提供了一组与平台无关的命令来构建和部署应用程序。
网友评论