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/

相关文章
|
3月前
|
小程序 JavaScript 前端开发
小程序常见的UI框架
小程序常见的UI框架
325 60
|
2月前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
94 2
|
2月前
|
小程序 开发者 UED
支付宝小程序UI/UX设计原则与最佳实践
支付宝小程序UI/UX设计原则与最佳实践
94 6
|
2月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
92 7
|
2月前
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
194 0
|
5月前
|
小程序
通用的职位招聘小程序ui模板
通用的职位招聘小程序ui模板
56 5
通用的职位招聘小程序ui模板
|
4月前
|
存储 安全 物联网
物联网(IoT)安全:挑战与解决方案
【8月更文挑战第5天】物联网(IoT)深刻改变着我们的生活,但随之而来的安全挑战不容忽视。面对设备身份验证复杂、数据隐私泄露、软件漏洞及资源受限等问题,本文提出加强身份验证、加密保护、定期更新、安全开发生命周期、多层次防御、安全培训及标准化合作等解决方案,旨在构建一个更加安全可靠的物联网环境。
|
4月前
|
小程序 UED 开发者
揭秘支付宝小程序成功之道:UI/UX设计原则与用户体验优化秘籍大公开!
【8月更文挑战第27天】支付宝小程序在移动互联网中扮演着重要角色,优秀的UI/UX设计能显著提升用户满意度。本文首先强调了设计的一致性、简洁性、易用性和响应性原则,确保用户获得顺畅体验。接着,介绍了最佳实践,包括利用支付宝设计组件库保持界面统一、优化加载速度、适应多设备显示、设置清晰导航以及重视用户反馈。最后,提供了一个简单示例展示如何应用支付宝设计组件。遵循这些指导原则,开发者能够构建既美观又实用的小程序。
101 0
|
5月前
|
编解码 前端开发 图形学
【技术深度解析】多平台适配下的UI适配难题:U3D游戏UI错乱的终极解决方案
【7月更文第12天】随着移动设备市场的多元化,Unity游戏开发者面临的一大挑战是如何在不同分辨率和屏幕尺寸的设备上保持UI的一致性和美观性。游戏在高分辨率平板与低分辨率手机上呈现出的UI布局混乱、按钮错位等问题,严重影响玩家体验。本文旨在探讨Unity UI(UGUI)在多平台适配中的最佳实践,通过优化Canvas Scaler设置、灵活运用RectTransform和Anchor Points,以及高效利用设计工具,确保UI的完美适配。
763 1
|
5月前
|
小程序 前端开发
微信综合购物商城小程序ui模板源码
微信电商小程序前端页面,综合购物商城ui界面模板。主要功能包含:电商主页、商品分类、购物车、购物车结算、我的个人中心管理、礼券、签到、新人专享、专栏、商品详情页、我的订单、我的余额、我的积分、我的收藏、我的地址、我的礼券等。这是一款非常齐全的电商小程序前端模板。
128 4