鸿蒙生态篇
一、HarmonyOS简介
鸿蒙操作系统HarmonyOS是由华为开发,面向多智能终端、全场景的分布式操作系统。
二、HarmonyOS系统产生的背景
在传统物联网发展过程中,随着用户移动端数量增长快速,碎片化效应明显,导致连接复杂,操控繁琐和体验割裂;因此华为推出了HarmonyOS操作系统,能够将消费者生活场景中的手机、电脑、平板、电视、汽车和智能穿戴等各类终端进行整合,形成一个“超级虚拟终端”,并通过一个分布式操作系统进行统一管理,实现不同的终端设备之间的快速连接、资源共享、匹配合适的设备,提供流畅的全场景体验。
三、鸿蒙操作系统四个特点
1.万物互联:
采用分布式技术,支持多摄像头模式,包括手机、平板、车机、IOT设备等。开启了万物互联的新时代。
2.生态共享:
系统可以让开发者一次开发、多端部署。就是一套代码就可以在不同的终端设备上部署,大幅度提高开发效率。
3.天生流畅:
鸿蒙使用确定时延引擎和高性能IPC两大技术,通信效率得到了有效的提升。
4.内核安全:
鸿蒙系统采用了全新的微内核设计,具备更强的安全性。
四、HarmonyOS应用场景
HarmonyOS是面向未来全面进化的操作系统,为智慧办公、影音娱乐、运动健康、智慧出行、全屋智能等场景持续进化。具有业务模块化、能力组件化分层架构。其中具体体现在以下三点:
- 声明式编程语言,天生组件化架构。
- 原子化程序抽象,天生模块化架构。
- 能力下沉子系统,天生分布式架构。
五、ArkTS语言产生的背景
Mozilla创造了JS,Mircrosoft创建了TS,华为进一步推出了eTS语言。
eTS全称是extended TypeScript 是鸿蒙生态的一种应用开发语言,现更名为ArkTS。
ArkTS在TypeScript基础上,扩展了声明式UI、状态管理等相应的能力。
六、ArkTS语言和TS、JS语言的关系和区别
1.TS、JS和ArkTS的关系:
TypeScript是JavaScript的超集,ArkTS则是TypeScript的超集。
2.TS、JS和ArkTS的区别:
JavaScript语言是由Mozilla创造,最初主要是为了解决页面中的逻辑交互问题,它和HTML、CSS共同组成了Web页面/应用开发的基础。
Microsoft在JS的基础上,创建了TS语言,引入了类型系统,并提供了类型检查以及类型自动推导能力,在类型系统基础上,引入了声明文件来管理接口或者其他自定义类型。
华为通过基于TS扩展的声明式UI开发范式,提供了更简洁更自然的开发体验。在运行时方面,在上述的基础上,结合语言运行时的类型优化,以及渲染运行时的扁平化流水线技术等,进一步提升性能体验。
七、ArkTS语言的优点
ArkTS是基于TS扩展的声明式开发范式的一套开发极简、高性能、跨设备应用设计研发的UI开发框架,支持开发者高效的构建跨设备应用UI界面,主要优点体现在:
- 极简高效的UI信息语法
- 实时界面预览工具
- 高效跨端开发和多端预览
- 原生性能体验
八、ArkTS语言发展
ArkTS会结合应用开发和运行的需求持续演进,包括但不限于引入分布式开发范式、并行和并发能力增强、类型系统增强等方面的语言特性。
从UI框架的需求角度,ArkTS在TS的类型系统的基础上,做了进一步的扩展:定义了各种装饰器、自定义组件和UI描述机制,再配合UI开发框架中的UI内置组件、事件方法、属性方法等共同构成了应用开发的主体。
ArkTS进一步提供了多维度的状态管理机制和UI相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递,比如父子组件之间,爷孙组件之间,也可以是全局范围内的传递,还可以跨设备传递。另外,从数据的传递形式来看,可以分为单向传递和可变更双向传递。开发者可以灵活的利用这些能力来实现数据的UI联动。
总体而言,鸿蒙ArkTS开发框架通过扩展成熟语言、结合语法糖或语言原生的元编程能力、以及UI组件、状态管理等方面设计了统一的UI开发范式,结合原生语言能力共同完成应用开发。这些构成了当前ArkTS基于TS的主要扩展。