写点什么

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


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

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

关注

评论

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

Overbit Flash|5 月加密货币市场风暴抹去了 90% 以上的 NFT 交易量

Overbit学院

比特币 加密货币 NFT Overbit 保证金交易

华为云IoT设备接入服务全体验

华为云开发者联盟

物联网 IoT 华为云 智能IoT边缘服务 华为云IoT云服务

有点难的知识点:Webpack Chunk 分包规则详解

范文杰

webpack 6月日更

ETL工程师必看!超实用的任务优化与断点执行方案

敏捷调度TASKCTL

大数据 ETL算法 ETL ETL任务 ETL系统

☕【JVM技术之旅】全流程化分析Java对象的创建过程

洛神灬殇

JVM 6月日更 对象布局 内存结构

【融云技术】超大规模并发下自定义属性的设置与分发

融云 RongCloud

Java日志的心路历程

程序猿阿星

Java log4j logback log4j2框架 Java日志

新手小白必须知道的Linux基础:常用命令(1)

学神来啦

Linux linux命令 linux运维 linux 文件权限控制 Linux教程

详解浏览器跨域访问的几种办法

华为云开发者联盟

安全 浏览器 跨域 WEB安全 跨域访问

获5项大奖,发布《云计算开放应用架构标准》,阿里云持续领航云原生

阿里巴巴中间件

裕民银行 x mPaaS | 移动应用“适老化”改造,可不止是字体变大

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS APP开发

【Flutter 专题】113 图解自定义 ACEPieWidget 饼状图 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

🏆【声网Agora】「WebRTC-如何搭建语音认证服务」

洛神灬殇

WebRTC RTC征文大赛 Agora 6月日更

【LeetCode】连续数组Java题解

Albert

算法 LeetCode 6月日更

Qcon全球软件开发大会 融云分享SDK交付质量保障经验

融云 RongCloud

从一面就被拒到收割字节offer,我花了一年时间,功夫不负有心人

Java架构师迁哥

华云大咖说 | 安超OS全面升级 最新亮点解密

华云数据

分库分表 vs NewSQL 数据库

xcbeyond

分库分表 6月日更

难忘阿里,4面技术5面HR附加笔试面,走的真艰难真心酸

Java 编程 程序员 面试 架构师

C++多线程强制终止

华为云开发者联盟

c++ 安全 线程 多线程 可信

anyRTC Web SDK 实现音视频呼叫功能

anyRTC开发者

音视频 WebRTC RTC sdk

C 语言数据结构的封装方法

实力程序员

音视频学习--弱网对抗技术相关实践

Fenngton

音视频 网络 视频编解码 弱网下的极限实时视频通信 实时视频

亮相Google I/O,字节跳动是这样应用Flutter的

字节跳动技术团队

前后端分离浅析以及分离教程

北游学Java

前后

6000年,看懂了「硬核山东」!

云计算

为鸿蒙OS说两句公道话(我对鸿蒙OS的一些看法)

Phoenix

和12岁小同志搞创客开发:如何驱动各类型传感器?

不脱发的程序猿

DIY 传感器 如何驱动各类型传感器? 创客

什么是交叉编译

IT蜗壳-Tango

IT蜗壳教学 6月日更

踩准时钟节拍、玩转时间转换,鸿蒙轻内核时间管理有妙招

华为云开发者联盟

鸿蒙 时间管理 计数器 时间转换 计时

GitHub火到糊!这份阿里内部10W字Java面试总结,让你薪资翻倍

Java架构追梦

Java 架构 面试 跳槽

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