随着三星在2015年将IoT.js & JerryScript引擎开源之后,IoT场景同时也迎来了更多JS开发者,目前JS语言涉及的开发领域有:
- Web网站:目前主流的Web网站由HTML5 + JS语言开发为主。
- NodeJS服务:基于NodeJS可以开发各种后端服务
- 移动开发:基于浏览器引擎开发混合的移动端应用
- 插件开发:可以开发VSCode编辑器插件
下面主要讲解一下IoT场景下JS语言的特性,让更多的JS开发者将自身能力发挥到IoT场景上。
开发门槛
目前主流的编程语言门槛排序如下 汇编 > C > C++ > Java > JS,而且最近几年随着浏览器引擎的大力发展,JS语言超级门槛的特性,吸引了一大批从业人员,比如拿国内开源Vue.js前端框架举例。
下图为Vue.js官网重点HighLight的三个特性,目前国内超过50%的前端开发者选择该框架
- 入门门槛低:基于html模板,对熟悉html开发者的而言非常容易理解和学习
- vue-cli脚手架:工程一键初始化/构建.简化了前端开发人员开发流程
- 平滑集成:很容易在现有的工程中集成,且不会干扰原有工程逻辑.
- vue对轻量级工程更加友好,快速,方便,一般3-5天就可以开发应用
- 社区运营:vue尤其在国内运行的比其他前端框架做的要好
目前HaaS开发者框架将Vue.js框架适配到了IoT带屏设备上,具体快速上手可以见文档。
应用热更新
热更新就是当你在开发环境修改代码后,不用刷新整个页面即可看到修改后的效果。
不同于传统嵌入式开发流程,JS应用在PC端开发完成后,无需编译、链接、固件烧录等繁琐步骤,用户可直接j将JS应用推送到设备上,且不需要重启设备就可以验证,达到应用热更新能力,该特性可以有效的降低IoT升级对OTA的依赖。
一般JS热更新分为本地热更新和在线热更新,下面拿HaaS 轻应用热更新举例。
本地热更新
通过有线方式(串口)对设备的应用进行更新,可适用于设备无法联网或轻应用代码运行异常的情况。
下载模式
本地热更新与实际硬件的接线强相关,以 HaaS600开发板为例,需先切到下载模式,参考HaaS600。