选错平台误终身!七大JavaScript硬件开发平台横评

本文探讨了物联网(IoT)应用开发平台,特别是JavaScript IoT平台,如Espruino、JerryScript、IoT.js、Tessel、Johnny-Five、Cylon.js和Ruff。这些平台旨在降低IoT开发的门槛,但多数仍存在硬件抽象不足和面向生产的能力有限等问题。Ruff作为一款支持JavaScript的物联网操作系统,提供了硬件、系统和应用的彻底分离,降低了开发门槛,支持不同硬件,具有面向生产的潜力。
摘要由CSDN通过智能技术生成

533dae1fca7fb5f024f4de454afbac3d.jpeg

作者 | 郑晔

责编 | 苏宓

微信公众号ID | csdn_iot

物联网(Internet of Things,简称IoT)时代的脚步声已经越来越响亮,每个程序员都希望跟上时代的步伐,不为时代浪潮所淘汰。面对IoT这个纷争初起的领域,程序员们该何去何从?本文将带领诸位进行一次IoT应用开发平台的游历之旅,帮助大家了解该领域当今的发展状态,尤其是基于JavaScript的IoT应用开发平台,为各位搭车IoT奠定一些基础。

开启行程之前,我们先明确讨论范围,在行业里,谈到IoT开发平台,有人说的是云,如各大云厂商;有人说的是硬件端,如各家硬件厂商;在这里我们将讨论是,硬件端的开发平台,对于大多数软件开发人员而言,这是一个更加陌生的领域。

1

IoT应用开发平台简介

在IoT应用开发领域中,大家熟知的开发平台主要有如下几类:

  • 嵌入式操作系统,包括VxWorks、FreeRTOS、LiteOS等;

  • 极客硬件平台,包括树莓派、Arduino等;

  • JavaScript IoT应用开发平台,包括Ruff、Tessel、JerryScript、Johnny-Five等。

嵌入式操作系统,从功能的角度上来说,能够满足目前的绝大多数需求。但是:

  • 其入门门槛极高,开发者想要成为优秀的嵌入式开发工程师,需要学习大量软硬件知识。相较于软件行业,嵌入式领域的人才数量受到了限制。

  • 嵌入式领域在开发方法上已经大幅度落后于整个行业的发展。敏捷软件开发方法以及精益创业的理念,受到工具所限,在嵌入式领域极少得到应用,所以该领域在工程方法上发展缓慢。

  • 这些操作系统的编程概念通常属于专用领域,所以知识很难在行业中共享,开发者在行业中流动也相对困难,造成的结果是,嵌入式领域对于现代软件开发理念的理解也整体上落后于软件行业。

极客硬件平台,其初衷是降低开发门槛,让更多开发者得以进入到硬件开发领域中。但是:

  • 它只是在操作方面的入门难度上在努力,而开发真正困难的部分在编程概念。对于大多数软件开发者而言,难点在于硬件中的编程概念。各种各样的接口及参数,这是软件开发者难于理解和掌握的。

  • 更关键的因素是,这些平台只解决了原型开发的问题。开发者即便能够通过它实现了一个产品原型,也很难将它用到真正的产品中。应用到产品中,往往要重新设计硬件,这些平台的优势就荡然无存了。

二者最本质的复杂度在于其编程模型,对于软件开发者来说,GPIO、I2C之类硬件接口完全是另一种语言,除了要了解接口的编程方法,还要针对每个硬件,阅读其数据手册,了解参数细节。

目前为止,诸位会想,IoT行业对软件工程师简直犹如另一个世界,一点都不友好。是的,很多人都是这么想的,于是,有人想用更高级的语言改变这个世界,这其中最为活跃的便是javascript社区。

2

JavaScript IoT应用开发平台

JavaScript IoT应用开发平台,其建设初衷是让开发者能够用JavaScript开发IoT应用,一方面可以更好地构建抽象,另一方面,可以将比较现代的开发方式引入到硬件研发中。JavaScript IoT应用开发平台目前主要分为几大类:

  • 在硬件上运行JavaScript,如JerryScript、Espruino等;

  • 提供硬件抽象能力,比如Tessel、Johnny-Five、Cylon.js等;

  • 面向生产的能力,如Ruff。

2.1

在硬件上运行JavaScript的平台

该类平台主要解决的问题是让硬件平台具有运行JavaScript程序的能力,主要是在资源受限的硬件上,比如MCU(Microcon

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值