- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
连志安_ArkTS框架:在ARM、RISC-V指令集架构上跑Openharmony应用
展开查看详情
1 .ArkTS框架:在ARM、RISC-V指 令集架构上跑Openharmony应用 连志安 OpenHarmony 龙芯架构 SIG 组长 开放原子开源基金会贡献之星
2 .姓名:连志安 华为技术开发专家认证(HDE) OpenHarmony龙芯架构SIG组长 OpenHarmony教育工作组副组长, 开放原子开源基金会2022开源贡献之星 广州市天河区软件协会专家委员 龙芯俱乐部首席专家 出版书籍《物联网——嵌入式开发实战》,并被翻译成繁体出版到台湾。 移植MQTT,OneNET等三方组件并开源,移植OpenHarmony到龙芯1C300芯片,2K0500、GD32, STM32芯片。
3 .OpenHarmony 的创新设计理念
4 . 跨平台 开发人员可以使用一套相同的代码,一次性地编码即可在 应用 多个平台上面运行起来。它减少了开发人员开发应用的时 间,并且能够快速地交付。 跨平台运行时 跨平台一般指两部分: OpenHarmony Windows Linux等 (1)跨系统 字节码 (2)跨硬件,尤其是指令集 ARM RISC-V LoongArch
5 . 跨平台架构设计 代码的架构上就对各个平台的调用做了解耦, 可以方便的移植到不同的平台,同时使用的图 形引擎也是可以跨平台的,所有基于它的组件 都是自渲染的,所以有较好的性能和渲染一致 性。
6 . API扩展机制 ArkUI提供了一套API的扩展机制,可以方便的 去实现相同定义的API在不同平台上使用。 扩展机制整体是复用NAPI机制,也是 HarmonyOS上默认扩展API的机制,同时提供 了JS->C++->Java/ObjectC的代码互调的机制。 这套机制也同样适用于三方插件扩展或者开发 者自己业务的扩展。
7 .ARM/RISC -V指令集跑OpenHarmony应用 ARM指令集 RISC-V RK3568芯片 TH1520芯片
8 .跨平台开发三剑客 ArkTS ArkUI ArkCompiler 开发语言 UI框架 方舟编译器
9 .ArkTS语言 ArkTS 是华为自研的开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、 状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。
10 .声明式语法 ArkTS提供了简洁自然的声明式语法、组件化机制、数据-UI自动关联等能力,实现了贴近自然语言,书 写效率更高的编程方式,为开发者带来易学、易懂、极简开发的优质体验。
11 .ArkTS语言特性 ◼ 状态管理:ArkTS提供了多维度的状态 管理机制,在UI开发框架中,和UI相关 ◼ 基本UI描述:ArkTS定义了各种装饰 联的数据,可以在不同组件层级间传递, 器、自定义组件、UI描述机制。 开发者可以灵活的利用这些能力来实现 数据和 UI 的联动。 ◼ 渲染控制:ArkTS提供了渲染控制的能 ◼ 动态构建UI元素:ArkTS提供了动态 力。条件渲染可根据应用的不同状态, 构建UI元素的能力,不仅可自定义组 渲染对应状态下的部分内容。循环渲染 件内部的UI结构,还可复用组件样式, 可从数据源中迭代获取数据,并在每次 扩展原生组件。 迭代过程中创建相应的组件。
12 . ArkTS基本组成 代码示例,UI界面包含两段文本、一条分割线和 一个按钮,当开发者点击按钮时,文本内容会从 'Hello World'变为‘Hello ArkUI’。
13 .ArkUI ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及 实时界面预览工具,帮助您提升OpenHarmony应用界面开发效率30%。您只需使用一套ArkTS API,就能在 多个OpenHarmony设备上提供生动而流畅的用户界面体验。
14 .两种开发范式 方舟开发框架针对不同的应用场景以及不同技术背景的开发者提供了两种开发范式,分别是基于ArkTS的 声明式开发范式(简称“声明式开发范式”)和兼容JS的类Web开发范式(简称“类Web开发范式”)。
15 .两种开发范式 类Web开发范式与声明式开发范式的UI后端引擎和语言运行时是共用的,其中,UI后端引擎实现了方舟开 发框架的六种基本能力。声明式开发范式无需JS Framework进行页面DOM管理,渲染更新链路更为精简, 占用内存更少,因此更推荐开发者选用声明式开发范式来搭建应用UI界面。
16 .逻辑和UI分离 逻辑和UI分离通过利用数据双向绑定机制传递页面变化逻辑,将流转7个步骤简化为2个步骤。可将跨端 迁移和协同的开发代码量降低40%以上。
17 .Stage 模型 面向开发者提供十几种不同场景的扩展服务Extension机制,在保证了应用后台进程合理运行的基础上, 规避了应用进程之间无序拉起,达到保证前台资源供给,应用调度更加有序的目的。
18 .OpenHarmony 发展历程 ArkUI框架提供了基于XComponent组件的C++自绘制引擎接入(比如游戏引擎)能力,和基于Web组件的 HTML5/Web的渲染能力。满足了开发者在游戏、相机、地图、浏览器等复杂应用场景的开发诉求,降低了 这类应用移植的门槛。
19 .ArkCompiler 方舟编译器 方舟编译器(ArkCompiler)是为支持多种编程语言、多种芯片平台的联合编译、运行而设计的统一编译运 行时平台。它支持包括动态类型和静态类型语言在内的多种编程语言,如JS、TS、ArkTS; 它是支撑OpenHarmony系统成为打通手机、PC、平板、电视、车机和智能穿戴等多种设备的操作系统的编 译运行时底座。 ArkCompiler主要分成两个部分:编译工具链与运行时.
20 . 编译工具链架构 ArkCompiler的编译工具链以ArkTS/TS/JS源码作为输入,将其编译生成为abc(ArkCompiler Bytecode,即方舟字 节码)文件。
21 . 原生支持类型 目前业界引擎执行TS的方式是先把TS转化为JS,再运行JS源码来完成对应的语义逻辑。 ArkCompiler的编译工具链编译TS源码时,会分析推导TS的类型信息并将其传递给运行时。运行时直接使用类型信 息在运行前预生成内联缓存(Inline Cache)以加速字节码执行。 另外,TSAOT (Ahead-of-Time) Compiler,可以利用字节码文件中的类型信息,直接编译生成优化机器码,使得应 用可以直接运行优化机器码,获得高性能运行体验。
22 . IDE工具——DevEco Studio 面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿 真,全方位的质量与安全保障。
23 .