HaaS UI - 轻量级IoT小程序解决方案

简介: HaaS UI是一套应用在HaaS硬件上的轻量级IoT小程序解决方案,支持AliOS Things内核,支持用JS开发UI应用,同时也支持Native App(不做主要推荐)。
来源 | HaaS技术社区

1、背景

2002年日本东芝生产的采用Linux QT方案的广告机经由香港第一次进入到深圳特区安装到大巴之上,首次取代了传统的广告海报及灯箱。2010年~2011年期间安卓出现,且随着多年安卓生态的发展,安卓也被广泛应用到商显行业,同时3G、4G等通信技术的发展,使得设备联网更加便捷。物联网和5G的高速发展,使得智能终端带屏、上云成为可能。智慧城市建设,仍是“十三五”工作重点,预计到2021年市场规模达到18.7万亿,为带屏终端带来发展机遇。HaaS要解决的不仅是万物互联,更是万屏互联。IoT终端设备向网络化、带屏化发展,真正实现万屏互联,需要一个轻量的应用框架来支撑,HaaS UI应运而生。

2、什么是HaaS UI

HaaS UI是一套应用在HaaS硬件上的轻量级IoT小程序解决方案,支持AliOS Things内核,支持用JS开发UI应用,同时也支持Native App(不做主要推荐)。HaaS UI的框架如下:

image.png

自底向上分为4个基础模块:

1. 内核:支持AliOS Things内核系统,基于AliOS Things系统图形框架。详见AliOS Things相关文章。

2. UI渲染框架:通过Canvas API及关联模块实现一层接口层隔离,在不同系统能力上使用不同的图形渲染框架,对接Skia不同版本。将渲染、组件、页面进行分开,减少应用框架层对图形渲染的依赖,达到解耦的目的。

3. 应用管理和生命周期管理:有自己完整的应用 & 页面生命周期,类似Android应用生命周期。

4. JS应用框架:采用的JS前端框架是基于Vue.js前端框架,基于当前容器所支持的标签和样式子集实现的Vue组件都可直接使用。如下图所示:


image.png

3、名词解释

AliOS Things: 阿里云智能IoT团队自研的物联网操作系统

HaaS:全称是Hardware as a Service,阿里云智能IoT团队基于AliOS Things系统推出的硬件即服务

HaaS UI:全称是Hardware as a Service User Interface,是源自AliOS Things操作系统上的一套应用&图形解决方案,支持C/C++和 JS两种开发语言

4、为什么选用JS

三点主要原因:

1. 三个“热”的特性:热部署、热更新、热加载。应用热更新,让设备应用的升级不依赖OTA,可以针对应用&单页独立升级。

2. 开发者生态:基于JS语言,降低开发门槛,引入前端的开发者,提升开发效率。

3. 开源方案:JS引擎 + 图形框架 + 开源前端框架,聚集社区开发者力量。

5、为什么选择Vue.js

Vue.js作者为尤雨溪,一套构建用户界面的渐进式框架,采用自底向上增量开发的设计,对JS开发者比较友好

Vue.js 的核心库只关注视图层,并且非常容易学习,不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩

版本:V2.6版本

官网:https://cn.vuejs.org/

入门:https://www.runoob.com/vue2/vue-tutorial.html

6、HaaS UI JS应用

1. 每个应用都有app.js,包含全局应用生命周期监听。该js为应用入口,启动时执行,并导出一个继承自$falcon.App的子类承载应用生命周期。

2. 每个页面对应一个page.js文件(可选,也可直接对应一个.vue文件。此情况框架会自动创建一个对应的Page实例)。

3. Page包含一个Falcon(动态卡片)实例,每个Falcon实例对应一个Vue根实例。

4. 每个Vue根实例可由多个组件组成。

7、演示效果

HaaS UI 可以满足各种场景下的UI页面开发,后续会有相关网站介绍各种组件的用法和演示效果,下面为设备上的演示效果

表盘

10.jpeg

天气预报

9.jpeg

8、基础技术指标&能力

指标 & 能力

内存

< 3MB

Flash

< 1.2MB(进包含英文符号等,支持自己增加中文字库)

基础组件

10+

高级组件

15+

启动速度

< 600ms

Canvas API

10+, 支持matrix矩阵变换

Key/Input事件

完整的事件机制,支持焦点

组件 Layout 机制

完整的layout布局排版能力,支持扩展

JSAPI扩展

支持三方自己扩展系统&前端能力(类似jni)

图片解码能力

支持jpeg,png,gif等

字体能力

默认支持矢量字体

多窗口能力

支持多窗口overlay机制

9、开源计划

HaaS UI将配合AliOS Things最新版本一同开源,开发者可以在HaaS硬件开发板体验用最高效的方法搭建IoT设备上的屏幕显示能力和带屏应用。请关注我们关于开源计划的最新公告。

10、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
537 1
|
10天前
|
小程序 机器人 开发者
QQ 小程序已发布,但无法被搜索的解决方案
我的 QQ 小程序在 2024 年 8 月就已经审核通过,上架后却一直无法被搜索到。打开后,再在 QQ 上下拉查看 “最近使用”,发现他出现一下又马上消失。
25 2
|
23天前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
43 2
|
2月前
|
小程序 JavaScript 前端开发
小程序常见的UI框架
小程序常见的UI框架
300 60
|
29天前
|
小程序 开发者 UED
支付宝小程序UI/UX设计原则与最佳实践
支付宝小程序UI/UX设计原则与最佳实践
47 6
|
1月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
68 7
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
191 1
|
1月前
|
机器学习/深度学习 人工智能 JSON
微信小程序原生AI运动(动作)检测识别解决方案
近年来,疫情限制了人们的出行,却推动了“AI运动”概念的兴起。AI运动已在运动锻炼、体育教学、线上主题活动等多个场景中广泛应用,受到互联网用户的欢迎。通过AI技术,用户可以在家中进行有效锻炼,学校也能远程监督学生的体育活动,同时,云上健身活动形式多样,适合单位组织。该方案成本低、易于集成和扩展,已成功应用于微信小程序。
|
1月前
|
小程序 Java
小程序访问java后台失败解决方案
小程序访问java后台失败解决方案
44 2
|
1月前
|
机器学习/深度学习 人工智能 小程序
做AI运动小程序有哪些解决方案,如何进行选型?
随着深度学习技术的发展,AI运动应用如“天天跳绳”和“百分运动”变得流行。本文探讨了将AI运动功能引入微信小程序的可行性,并介绍了几种解决方案。实现AI运动计数的关键技术包括视频抽帧、人体检测、姿态识别等。文中详细描述了离线方案(全离线和半离线)和原生方案(自研AI引擎和成熟插件)的不同实现方式,并对各种方案进行了对比,建议优先选择成本低、体验佳的AI运动识别插件方案。