写点什么

Moddable SDK 为物联网开发提供 JavaScript 引擎:不到 32KB

  • 2018-11-16
  • 本文字数:927 字

    阅读完需:约 3 分钟

Moddable SDK为物联网开发提供JavaScript引擎:不到32KB

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


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2018-11-16 10:261334
用户头像

发布了 731 篇内容, 共 433.8 次阅读, 收获喜欢 1997 次。

关注

评论

发布
暂无评论
发现更多内容

TiSpark On Kubernetes实践

TiDB 社区干货传送门

实践案例

高并发请求下 TiDB 集群的业务无损升级

TiDB 社区干货传送门

DR Auto-Sync 搭建和计划内切换操作手册

TiDB 社区干货传送门

TiDB在个推的落地实践 | 解决热点难题,提升性能超千倍

TiDB 社区干货传送门

性能调优

TiCDC 4.0.15 初体验

TiDB 社区干货传送门

实践案例

记一次TiDB的临时救场

TiDB 社区干货传送门

实践案例

TiDB 如何获取集群创建时间

TiDB 社区干货传送门

实践案例 TiDB 底层架构

ticdc没报错,tso却不变的奇怪现象

TiDB 社区干货传送门

使用 TiUP 安装部署 TiDB 集群实验流程

TiDB 社区干货传送门

版本升级 集群管理 管理与运维 安装 & 部署 扩/缩容

传统行业数据架构发展变化

TiDB 社区干货传送门

数据库架构选型

使用SPM固定执行计划

TiDB 社区干货传送门

骏彩竞猜分布式解决方案之路

TiDB 社区干货传送门

安装 & 部署

TiDB 在 Cisco Webex 架构中的部署和应用

TiDB 社区干货传送门

探索TiDB Lightning源码来解决发现的bug

TiDB 社区干货传送门

TiDB 底层架构

TiDB体系结构

TiDB 社区干货传送门

TiDB 底层架构

在CentOS7上进行TiDB/PD/TIKV编译分享

TiDB 社区干货传送门

实践案例 安装 & 部署

TiDB BR 备份至 MinIO S3 实战

TiDB 社区干货传送门

管理与运维

TiDB Binlog 支持 Oracle 目标库功能用户手册

TiDB 社区干货传送门

迁移

大事务的处理方式对比

TiDB 社区干货传送门

实践案例

TiDB监控Prometheus磁盘内存问题

TiDB 社区干货传送门

故障排查/诊断

TiSpark数据写入过程解析(源码解析)

TiDB 社区干货传送门

TiDB 底层架构

TiDB 如何在 LVS FULL NAT 模式下显示客户端真实 IP

TiDB 社区干货传送门

实践案例

【考试指南】TiDB 5.0认证指南之PCTA PCTP

TiDB 社区干货传送门

TiDB 底层架构

TiDB 悲观事务模式和Mysql的表象区别

TiDB 社区干货传送门

dm-V1.0.5使用汇总

TiDB 社区干货传送门

管理与运维

JOIN 查询的执行计划 比较

TiDB 社区干货传送门

性能调优 TiDB 底层架构

记一次简单的Oracle离线数据迁移至TiDB过程

TiDB 社区干货传送门

TiDB 运维基础操作脑图

TiDB 社区干货传送门

TiDB 元信息管理方式

TiDB 社区干货传送门

TiDB 底层架构

一言难尽的Prometheus监控实践

TiDB 社区干货传送门

实践案例

前缀索引在特殊场景下的优化尝试

TiDB 社区干货传送门

实践案例 TiDB 底层架构

Moddable SDK为物联网开发提供JavaScript引擎:不到32KB_5G/IoT_Dylan Schiemann_InfoQ精选文章