赞
踩
DevEco Studio Release版本为:DevEco Studio 3.1.1。
Compile SDK Release版本为:3.1.0(API 9)。
构建方式为 HVigor,而非 Gradle。
最新版本已不再支持 (”Java、JavaScript” 、“类Web开发范式” 和 “FA 模型” )用于应用开发,因此大部分举例都以 (“ArkTS声明式范式” 和 “Stage 模型”)最新内容为基础。
HarmonyOS 提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可为开发者提供应用UI开发所必需的能力,比如多种组件、布局计算、动画能力、UI交互、绘制等。
方舟开发框架针对不同目的和技术背景的开发者提供了两种开发范式,分别是基于ArkTS的声明式开发范式(简称“声明式开发范式”)和兼容JS的类Web开发范式(简称“类Web开发范式”)。
在目前最新IDE版本中,已不再支持“类Web开发范式”创建应用。
声明式开发范式:采用基于 TypeScript 声明式 UI 语法扩展而来的 ArkTS 语言,从组件、动画和状态管理三个维度提供 UI 绘制能力。
类Web开发范式:采用经典的 HML、CSS、JavaScript 三段式开发方式,即使用 HTML 标签文件搭建布局、使用 CSS 文件描述样式、使用 JavaScript 文件处理逻辑。该范式更符合于Web前端开发者的使用习惯,便于快速将已有的Web应用改造成方舟开发框架应用。
以下是两种开发范式的简单对比:
ArkTS围绕应用开发在 TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。
ArkTS 是 HarmonyOS 优选的主力应用开发语言(早期版本支持 Java和JS,现已不再支持了)。所以,具备TS语言开发能力的开发者学习起来会更容易。
当前,ArkTS在TS的基础上主要扩展了如下能力:
未来,ArkTS会结合应用开发/运行的需求持续演进,逐步提供并行和并发能力增强、系统类型增强、分布式开发范式等更多特性。
HarmonyOS 应用有两种模型,分别是 FA(Feature Ability)模型和Stage模型。通过这两种模型可以构建出以下三种应用 :
FA模型
Stage模型
应用模型的演进
API 4-8 仅支持FA模型,API 9 后新增 Stage模型,是目前主推且会长期演进的模型,FA 暂时保留但不推荐。
Stage模型的优点
对比传统FA模型和Stage模型
传统的FA模型设计更偏向传统原生,Stage模型则提供了更好的扩展能力,和更适用于Harmony生态的使用场景。
开发工具为:DevEco Studio,基于 IntelliJ IDEA Community 开源版。
在开发态,一个应用工程包含一个或者多个子工程(Module),可以在 DevEco Studio 工程中创建一个或者多个Module。Module是HarmonyOS应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。
工程类型
子工程类型
创建应用面板
HAP的两种类型
通过 DevEco Studio 可以把应用程序编译为一个或者多个 .hap 后缀的文件,即 HAP。HAP是HarmonyOS应用安装的基本单位,包含了编译后的代码、资源、三方库及配置文件。HAP可分为 Entry 和 Feature 两种类型。
Bundle的概念
每个HarmonyOS应用可以包含多个.hap文件,一个应用中的.hap文件合在一起称为一个Bundle,而 bundleName 就是应用的唯一标识(请参见 app.json5 配置文件中的 bundleName 标签)。需要特别说明的是:在应用上架到应用市场时,需要把应用包含的所有.hap文件(即Bundle)打包为一个 .app 后缀的文件用于上架,这个.app文件称为 App Pack(Application Package),其中同时包含了描述App Pack属性的 pack.info 文件;在云端(服务器)分发和终端设备安装时,都是以HAP为单位进行分发和安装的。
多HAP使用规则
程序包内目录结构介绍(Stage 模型的 ArkTS 应用)
打包后的HAP包结构包括 ets、libs、resources 等文件夹,和 resources.index、module.json、pack.info 等文件。
OpenHarmony 提供了两种共享包,HAR(Harmony Archive)静态共享包,和 HSP(Harmony Shared Package)动态共享包。共享库不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。
HAR 与 HSP 都是为了实现代码和资源的共享,都可以包含代码、C++库、资源和配置文件,最大的不同之处在于:
HAR 中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝。
HSP 中的代码和资源可以独立编译,运行时在一个进程中代码也只会存在一份。
HSP旨在解决HAR存在的几个问题:
HSP的一些约束:
鸿蒙的整个开发套件第一个版本刚发布时比其他平台显得有些粗糙,而且无论是开发形式、API的设计、手机系统的设计和交互都参考了 Android,快速发展的这几年逐步脱离,蜕变得更为个性了。Java 和 JS 都从 Ark 套件里淡出视野了,我记得最开始都还和 Android 一样用 xml 写布局,现在的版本稳定使用 eTS,抛弃命令式拥抱声明式。
最新版本的 DevEco Studio,构建工具 Hvigor 比 Android Studio 的 Gradle 速度快很多,经历几年后对比刚开始的两个版本体验提升明显。个人总结了鸿蒙开发以下几点体验结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。