物联网场景下为什么可以选择JS语言

简介: 本篇讲解一下IoT场景下JS语言的特性,让更多的JS开发者将自身能力发挥到IoT场景上。

> 来源 | HaaS技术社区

不看这几篇好文,就别说自己了解物联网

随着三星在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%的前端开发者选择该框架

![image.png](https://ucc.alicdn.com/pic/developer-ecology/54dd48e4a76d45919cbb5fa373c4d6c5.png)

  • 入门门槛低:基于html模板,对熟悉html开发者的而言非常容易理解和学习
  • vue-cli脚手架:工程一键初始化/构建.简化了前端开发人员开发流程
  • 平滑集成:很容易在现有的工程中集成,且不会干扰原有工程逻辑.
  • vue对轻量级工程更加友好,快速,方便,一般3-5天就可以开发应用
  • 社区运营:vue尤其在国内运行的比其他前端框架做的要好

目前HaaS开发者框架将Vue.js框架适配到了IoT带屏设备上,具体快速上手可以见文档

应用热更新

热更新就是当你在开发环境修改代码后,不用刷新整个页面即可看到修改后的效果。

不同于传统嵌入式开发流程,JS应用在PC端开发完成后,无需编译、链接、固件烧录等繁琐步骤,用户可直接j将JS应用推送到设备上,且不需要重启设备就可以验证,达到应用热更新能力,该特性可以有效的降低IoT升级对OTA的依赖。

一般JS热更新分为本地热更新和在线热更新,下面拿HaaS 轻应用热更新举例。

本地热更新

![image.png](https://ucc.alicdn.com/pic/developer-ecology/f7c48ac1922548dcbd3f4d7c7554db10.png)

通过有线方式(串口)对设备的应用进行更新,可适用于设备无法联网或轻应用代码运行异常的情况。

下载模式

本地热更新与实际硬件的接线强相关,以 HaaS600开发板为例,需先切到下载模式

在线热更新

![image.png](https://ucc.alicdn.com/pic/developer-ecology/db84eb48c5f94108a11b91e7e5746db4.png)

通过无线方式(网络)对设备进行热更新。当设备不在本地或者设备无法跟电脑连接的时候,可以通过网络通道将轻应用代码下发到设备,类似OTA功能。

JS引擎

谷歌的V8引擎给JS语言带来了更多的现象空间,但是由于资源开销问题,一般在IoT低配置的设备上,不会选择V8引擎,下面介绍一下目前IoT上低资源开销的JS引擎。

JerryScript

  • RAM:< 64 KB RAM
  • ROM:< 240 KB
  • ES语法:全面支持ES5.1语法

Duktape

  • RAM:< 64 KB
  • ROM:< 400KB
  • ES语法:前面支持ES5.1语法,部分支持ES6语法

Quickjs

  • RAM:< 200KB
  • ROM:< 600KB
  • ES语法:支持ES5.1、ES6、ES2019、ES2020语法

下面为几种场景JS引擎的Benchmark对比

Engine

QuickJS

DukTape

JerryScript

V8 --jitless

V8 (JIT)

Executable size

620K

331K

211K

28M

28M

Richards

777

218

238

1036

29745

DeltaBlue

761

266

209

1143

65173

Crypto

1061

202

255

884

34215

RayTrace

915

484

286

2989

69781

EarleyBoyer

1417

620

-

4583

48254

RegExp

251

156

-

2142

7637

Splay

1641

1389

-

4303

26150

NavierStokes

1856

1003

394

1377

36766

Total score

(w/o RegExp)

1138

468

-

1886

41576

Total score

942

408

-

1916

33640

得分越高性能越好,从上面可以得出一个结论,IoT场景下如果设备硬件资源应许,quickjs引擎是一个不错的选择。

总结

JS语言在IoT上发展才几年,暂时还谈不上最适合IoT设备的开发语言,但是随着AI、IoT、云计算、大数据等技术的快速发展,和在众多产业中的垂直产业落地应用,AI与IoT在实际项目中的融合落地变得越来越多,使得多元化的智能设备也蓬勃发展,同时用户也需要更多个性化的更好的使用体验、更好的操作感受;JS语言在提升开发者的开发效率同时,最终让用户获得:“安全、简单、便捷、舒适的体验”。

更多精品好文


带你了解热门IoT开源项目:home assistant

如何用几行Python代码在物联网设备上实现语音AI自动识别?

物联网需要什么样的UI交互方式?

如何分析物联网设备问题,看懂这篇文章就够了

透过ALSA这层迷雾剖析AliOS Things音频框架设计

漫谈农业物联网与互联网技术的结合

传感器,物联网时代的智能硬件数字化入口

如何快速搭建一个像“天猫精灵”的智能语音助手?

物联网之IP Camera解决方案简介

从语音交互历史浅看它是否会是物联网行业的一个爆点?

带你走进多媒体世界:视频文件是怎么播放出来的

物联网云端一体AI方案的探索

物联网设备连接的下一个引爆点:4G Cat.1

物联网教育现状和前景

一文看懂蓝牙在物联网中的应用场景

下一个智能硬件爆品是什么?

华为、阿里、小米都在用的全屋智能技术

为什么物联网领域使用Rust的项目越来越多?

开源硬件的前世今生

物联网碎片化的一些思考

边缘计算在物联网行业的应用

物联网太难 ? 不妨试试用Python来开发

5G会给物联网行业带来哪些变化?

必须要了解的物联网安全知识

ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

ARMv9能给ARM带来新一轮腾飞吗?(人工智能篇)

国产物联网操作系统的出路在哪里?

RISC-V架构能否引领物联网时代?

物联网到底为什么这么火?

谁才是物联网连接技术中的王者?

物联网平台大量出现能否将行业带入爆发式发展

脚本语言适合物联网开发吗

从“嵌入式”到“物联网”的四大转变

物联网发展新趋势

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
1月前
|
传感器 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
在当今科技飞速发展的时代,新兴技术的涌现正在改变我们的生活和工作方式。本文将深入探讨区块链技术、物联网以及虚拟现实等新兴技术的发展趋势和应用场景。我们将从这些技术的本质出发,分析它们的发展现状,并展望未来可能带来的变革。同时,我们也将通过一些简单的代码示例,展示这些技术如何在实际中发挥作用。让我们一起探索这个充满无限可能的科技世界吧!
|
22天前
纸屑飘落生日蛋糕场景js+css3动画特效
纸屑飘落生日蛋糕CSS3动画特效是一款js+css3制作的全屏纸屑飘落,生日蛋糕点亮庆祝动画特效。
41 3
|
27天前
|
供应链 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
本文将探讨新兴技术的发展趋势和应用场景,包括区块链技术、物联网和虚拟现实等。我们将深入了解这些技术的发展现状,以及它们在未来可能带来的变革。同时,我们还将提供一些代码示例,以帮助读者更好地理解这些技术的应用。
|
1月前
|
供应链 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
随着科技的飞速发展,新兴技术如区块链、物联网、虚拟现实等正逐渐改变我们的生活和工作方式。本文将对这些技术的发展趋势和应用场景进行深入探讨,以期为读者提供更全面、更深入的了解。
|
1月前
|
传感器 监控 物联网
新技术趋势与应用:探讨新兴技术如物联网、虚拟现实等的发展趋势和应用场景###
本文探讨了物联网(IoT)与虚拟现实(VR)这两项新兴技术的快速发展及其在多个领域的应用场景。物联网通过设备互联、数据驱动和应用场景拓展,正在智能家居、智慧城市、工业自动化等方面带来革命性变化。虚拟现实则以其沉浸式体验和不断增强的交互性,在游戏娱乐、教育培训、医疗健康等领域展现出巨大潜力。结合具体案例分析,本文揭示了这些技术如何独立演进又相互融合,共同推动社会进步,并展望未来可能带来的变革。 ###
|
1月前
|
传感器 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
本文将探讨新兴技术的发展趋势和应用场景,包括区块链技术、物联网和虚拟现实等。我们将了解这些技术的原理和应用,并探讨它们在未来可能带来的影响。通过本文,您可以更好地理解这些新技术,并为未来做好准备。
|
1月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
54 4
|
1月前
|
存储 传感器 物联网
探索未来:区块链、物联网与虚拟现实技术的融合趋势及应用场景
随着技术的快速发展,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐步渗透到我们的生活中。本文将探讨这三种技术的发展趋势,并分析它们如何相互融合,共同塑造未来的应用场景。我们将通过具体示例,展示这些技术如何在金融、医疗、教育等领域创造新的可能性,并讨论它们对日常生活的影响。
|
1月前
|
传感器 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景###
随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实正逐步改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,旨在提供一个全面的概述,帮助读者理解它们对未来可能产生的影响。 ###
26 0
|
1月前
|
供应链 物联网 区块链
新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【10月更文挑战第42天】在这篇文章中,我们将探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景。我们将深入了解这些技术的基本原理,以及它们如何改变我们的生活和工作方式。我们还将提供一些代码示例,以帮助你更好地理解这些技术的工作原理。无论你是技术人员还是非技术人员,这篇文章都将为你提供有价值的信息。让我们一起探索这个激动人心的技术世界吧!

热门文章

最新文章

相关产品

  • 物联网平台