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](