鸿蒙之后,小米 Vela 也来了,下一代物联网平台应该是什么?
1. 华为鸿蒙基于jerryscript构建物联网应用框架
2020年9月10日 鸿蒙OS 1.0 正式版发布,面向物联网领域,鸿蒙推出了类web开发架构ACE JS =
LiteOS + jerryscript + ACE JS = 类web开发方式, 同时提供了PC模拟器实时预览支持;
整体开发框架的核心是 jerryscript, 三星开发的嵌入式 js 引擎;

2. 小米Vela基于JS Engine构建物联网应用框架
2020年11月5日,在小米开发者大会(MIDC 2020)上,小米 Vela 正式问世;官方的解释是“小米 Vela 是基于开源嵌入式操作系统 NuttX 打造的物联网软件平台。”,通过Xiaomi Vela的技术架构图可以看出,小米在自己的Application Framework中引入了 JS Engine, 同时也提供Gui Designer 和 Emulator 方便开发者快速开发应用;
具体而言,小米 Vela 主要分为三⼤部分:
- 底层是 NuttX 内核。提供最基本的任务调度、跨进程间通信、⽂件系统等基础 OS 功能,同时也提供简洁⾼效的设备驱动、轻量级的 TCP/IP 协议栈和电源管理等组件;
- 上层是 Vela 应⽤框架。主要分为上下两层,下层是为扩展系统服务⽽提供的通⽤应⽤框架,包括蓝牙通信组件、通信组件、OTA 服务、数据本地存储服务,以及对图形⽤户界⾯和脚本语⾔的⽀持,上层主要是针对不同的物联⽹应⽤⽽开发,例如针对多媒体应用、传感器应用开发的组件;
- 右侧是开发者⼯具。主要提供 Logger、Auto test、Emulator、GUI 相关开发工具。
但是未明确说明 JS Engine是什么JS引擎(笔者猜测可能也是Jerryscript)


3. 下一代物联网平台是什么
小米 IoT 平台部技术总监顾瑶瑶在发布会上介绍称,小米认为物联网设备需要的操作系统应具有以下特性:
对开发者友好,充分考虑代码的可复用性和可移植性;
简化应用开发,提供满足不同应用的大量基础组件;
不重复造轮子,应用开源内核并回馈开源社区;
现代化的编程模型,有现代化的编程语言和开发体验。
小米认为,市场上常见的物联网操作系统更多局限于实时操作系统的范畴、缺少支持物联网软件框架,或缺乏对国际社区的支持。

4. 谁在使用物联网虚拟机 JS Engine


5. 下一代物联网开发语言是什么
相信,有了华为和小米国内两大物联网巨头的积极推动,javascript注定将成为下一代物联网开发语言;

6. 下一代物联网 JS Engine 是什么

7. JS Engine新秀 EVM 简介





感兴趣的朋友可以围观,了解更多 EVM的相关信息。
- EVM Github 地址: github.com/scriptiot/e…
- EVM Gitee 地址: gitee.com/scriptiot/e…
- EVUE Github 地址: github.com/scriptiot/e…
- EVUE Gitee 地址: gitee.com/scriptiot/e…
相关链接
鸿蒙之后,小米 Vela 也来了,下一代物联网平台应该是什么?的更多相关文章
- Pulsar 下一代消息平台
引言 提起成熟的消息队列或消息引擎,毋庸置疑,大多数人的第一反应一定是 Kafka. Kafka 能够彻底满足海量数据场景下高吞吐.高并发需求,在短短几年内,已经被阿里.腾讯.百度.字节跳动.Netf ...
- 知乎如何基于开源Druid打造下一代数据平台?
https://mp.weixin.qq.com/s/WXA_Pn5xwlL-cA4JaGRw6Q
- 2020发布 .NET 5 下一代全平台 .Net 框架
[翻译] 正式宣布 .NET 5 2019-05-07 01:18 by Rwing, 16515 阅读, 79 评论, 收藏, 编辑 原文: Introducing .NET 5 今天,我们宣布 . ...
- EVM 2.0 预览版,跃见非凡,源于鸿蒙,开启物联网小程序新时代
1. 基于EVUE的物联网小程序 EVM诞生以来,一直致力于让物联网开发变得简单,自鸿蒙OS 1.0 发布后,最引人注目的莫过于华为在应用程序开发框架层面面向应用开发者提供了一种全新的开发方式: 框架 ...
- 鸿蒙OS的系统调用是如何实现的? | 解读鸿蒙源码
本文将首先带您回顾"系统调用"的概念以及它的作用,然后从经典的Hello World开始,逐行代码层层分析--鸿蒙OS的系统调用是如何实现的. 写在前面 9月10号 华为开发者大会 ...
- 一个千万量级的APP使用的一些第三方库
转载:http://www.jianshu.com/p/dc8c05cf693d .背景 前段时间在调研第三方推送服务的时候,反编译了一部分市面上比较流行的APP.其中一个无论是在设计还是功能上都堪称 ...
- VR与AR的发展趋势分析
概要 你是否想象过与神秘的深海生物近距离接触?你是否梦想过穿戴钢铁侠那样的超先进科技装备成为超级英雄?你又是否幻想过与梦中的女神面对面的交流?这些可能在以前都只能是存在于脑海中的幻想,可是在如今有一项 ...
- qconbeijing2016
http://2016.qconbeijing.com/schedule 大会日程 2016年04月21日 星期四 09:15 开场致辞 地点 1号厅 主题演讲 工程效率提升 业务核心架构 容器集 ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
随机推荐
- C语言编程入门之--第六章C语言控制语句
导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用. 6.1 什么是控制语 ...
- 达梦数据库_DM8配置MPP主备
为了提高MPP系统可靠性,克服由于单节点故障导致整个系统不能继续正常工作,DM 在普通的MPP系统基础上,引入主备守护机制,将MPP节点作为主库节点,增加备库作为备份节点,必要时可切换为主库代替故障节 ...
- vue-integer-plusminus
下载 vue-integer-plusminusvue-integer-plusminus 带有递增和递减按钮的整数输入 现场演示 该组件适合作为自旋按钮,允许键盘功能(向上/向下箭头或页面向上/向下 ...
- leaflet如何加载10万数据
作为一名GIS开发者,你工作中一定遇到过这种问题,根据业务设计,需要在地图上添加1万+条数据,数据或是点.或是线.或是面.但不管哪种,当你添加到5000条时,地图操作就会出现明显的卡顿.当你添加超过1 ...
- Python数据类型--集合(set)
Python的集合是无序.可迭代的容器对象,所有元素放在一对大括号中{},元素之间使用逗号隔开,同一集合内的元素具有唯一性,不允许重复. 集合中只能包含数字.字符串.元组等不可变类型的数据,不能包含列 ...
- 持续集成工具之Jenkins pipline简单示例
前文我们主要聊了下jenkins的插件安装.用户及权限管理.邮件发送.配置凭证到gitlab上拉取项目和创建普通job:回顾请参考https://www.cnblogs.com/qiuhom-1874 ...
- 霍夫曼编码(Huffman)
题目:有一个字符串:cabcedeacacdeddaaaba,问题: (1)采用霍夫曼编码画出编码的过程,并写出各字符的编码 (2)根据求得的编码,求得各编码需要的总位数 (3)求出整个字符串总编码长 ...
- MeteoInfoLab脚本示例:站点填图
打开包含站点填图的站点数据文件(比如micaps 1)之后,用文件对象的smodeldata函数获取StationModel数据对象,然后用stationmodel函数绘制站点填图图层.脚本程序: # ...
- pytest文档41-参数化 ids 用例描述为中文时控制台输出unicode编码问题(pytest_collection_modifyitems)
前言 使用 pytest.mark.parametrize 参数化的时候,加 ids 参数用例描述有中文时,在控制台输出会显示unicode编码,中文不能正常显示. 使用 pytest_collect ...
- 程序员的“三十而已”,你都30岁了,不会还在XXX吧?
一部<三十而已>火了 太太们的包包鄙视链出圈了 有人的地方就有江湖 是的,程序员入圈是容易的 不需要4万的LV,更不需要限量版的爱马仕 只需要一件耐躁的格子衫 然而,程序员的30岁, 却说 ...