为什么使用JavaScript开发物联网

内容纲要

嵌入式设备与JavaScript看似是来自两个不同世界的两个物种,八竿子都打不着。但是随着JavaScript 开疆扩土,从浏览器逆袭登陆到服务端之后又与物联网有了交集。

物联网的未来需要一门解释性语言

传统的嵌入式开发相对于WEB开发来说门槛高,碎片化严重,平台复杂。C/C++性能高,对设备资源要求低,但是对开发者的要求高,开发效率低。

物联网与互联网、移动互联网的基因是相同的,大量的应用才能铸就生态的繁荣。而使用C/C++来开发应用是及其低效和昂贵的,纵观互联网、移动互联网,应用开发是解释性语言的天下。互联网的PHP、JavaScript,移动互联网的Java,JavaScript,而物联网还是使用C/C++。因此,物联网的未来需要一门解释性语言。

JavaScript是最好的选择

相较于PHP、Python、Java来说,JavaScript是最有可能在物联网大行其道的解释性语言。

  • JavaScript在浏览器没有对手,nodejs在服务器端也在不停的攻城拔寨,积累了大量的资源,构建了一个完整的应用开发生态环境。

  • JavaScript语言本身特点适合互联网,事件驱动,异步使单线程处理网络事件得心应手。

  • JavaScript已经跨界到物联网,受到了行业巨头的关注,各种项目发展的如火如荼。

未来的物联网开发

如果JavaScript在物联网获得成功,那么物联网的开发将会发生巨大的变化。

  • 底层驱动由C实现,应用开发者不需要关注硬件,大量的互联网、移动互联网应用开发者加入物联网开发。

  • 传统的交叉编译、烧写、调试的开发方式使用范围将急剧缩小

  • 所见即所得,上位机和下位机的架构由C/S架构变成B/S架构,传统的上位机开发将不复存在。

  • 大量的互联网、移动互联网开发资源和方法应用到物联网,设备、云、人相互之间的联系更加方便。

目前发展

  • Tessel, 是Tessel是一个针对软件开发者的可连接网络的微控制器。Tessel 的目标是让网站开发者能够轻松玩转物联网。

  • IoT.js,IoT.js 旨在为物联网提供一个基于 Web 技术的可相互操作的服务平台。IoT.js 的目标是要在资源受限的设备上良好运行。

  • JerryScript,JerryScript 是一个轻量级的 JavaScript 引擎,它可以运行在受限制的设备上,例如低于64KB RAM、200KBROM的MCU上。

  • node-red,Node-RED 是 IBM Emerging Technology 团队创建的一个新开源工具,它允许您通过组合各部件来编写应用程序。这些部件可以是硬件设备、Web API 或在线服务

  • JuBo,JuBo是一个IoT网关,JuBo的目标是让物联网设备快捷高效的联网。

  • Cylon.js,Cylon.js is a JavaScript framework for robotics, physical computing, and the Internet of Things. It makes it incredibly easy to command robots and devices.

转自:https://my.oschina.net/hoolev/blog/495555