Moddable SDK 为物联网开发提供了一个 JavaScript 引擎,支持超过 99%的 ES2017 规范,初始大小不到 32KB。
Moddable XS7主要针对 ES2017,而 XS 的当前主分支通过了超过 99%的 ES2018 规范测试。
Moddable SDK 将 XS JavaScript 引擎与图形、网络和各种工具(包括调试器和模拟器)结合在一起。SDK 还包含了可在微控制器上运行的Piu用户界面框架。
为了帮助开发人员入门,Moddable Zero提供了带有小型触摸屏的参考硬件,价格为 20 美元,另需运费和税金,尽量保持可承受的硬件价格:
Moddable Zero 选择的所有组件以降低成本为目标。两个主要组件分别是 NodeMCU 主板和触摸屏。 NodeMCU 模块带有 ESP8266、Wi-Fi 天线、Flash ROM、FTDI 芯片和 USB 连接器。触摸屏是一种无品牌 QVGA(240 x 320)显示屏,具有 16 位像素,由 ILI9341 显示控制器和 XPT2046 电阻式触摸控制器驱动。我们本来想使用电容式触摸屏,但价格太高。也就是说,我们的触摸驱动器通过 XPT2046 提供可靠的触摸输入。
Moddable 是众多 JavaScript 引擎中的一种,但它比其他支持微控制器的引擎更具优势,它支持适用于微控制器的 JavaScript 语言新特性:
Duktape:160KB 闪存和 64KB 系统 RAM,支持完整的 ES5.1 和 ES2015 及更新特性的子集;
Espruino:128KB 闪存和 8KB 系统 RAM,部分支持 ES2015;
JerryScript:64KB 闪存和 200KB ROM,完全支持 ES5.1;
mJS:50KB 闪存和 1KB 系统 RAM,支持 ES2015 子集。
TC-39上的Moddable演示文稿解释了 Moddable 是如何构建出来的以及现代 JavaScript 引擎如何被塞进具有很小内存的设备中。
在2018 FullStack大会上,JavaScript 作者 Brendan Eich 在被问及现今 JavaScript 方面哪些东西最能打动他时,他提到了 Moddable:
Moddable 支持没有 eval 和解析器的 ES6,运行在 48K 的 ROM 和 48K 的 RAM 中。这太让人感到吃惊了。他们使用 ES6 中的 object.freeze 功能将东西放入 ROM 中,这太奇妙了。
Moddable 使用了组合开源许可协议,包括 GPL 3.0、LGPL 3.0、Apache 2.0 和 Creative Commons Attribution 4.0。Moddable 也可以在商业许可下使用。欢迎通过Moddable GitHub项目参与贡献,特别是扩展Moddable的模块。
查看英文原文:[Moddable IoT JavaScript Engine in Less Than 32KB](
评论