2024年10月22日,华为公司正式发布全新一代操作系统鸿蒙Next(HarmonyOS NEXT),此次发布标志着华为在操作系统领域的重大进展,成为继苹果iOS和谷歌安卓之后的全球第三大移动操作系统。以下是鸿蒙Next的一些关键特点:
-
完全自主研发:鸿蒙Next实现了从系统底层到上层应用的全栈自研,不再依赖AOSP(Android Open Source Project)等外部开源代码。这意味着华为对整个系统的控制力更强,可以更好地优化性能、安全性和用户体验。
-
隐私安全升级:鸿蒙Next采用了自研的星盾安全架构,在数据保护和用户隐私方面进行了大幅度提升,确保了用户的个人信息更加安全。
-
跨设备互联:该系统支持手机、平板、汽车座舱等多种智能设备间的无缝连接与协作,增强了多场景下的用户体验。
-
技术创新:鸿蒙Next引入了包括物理渲染引擎在内的多项新技术,为用户提供更流畅、更沉浸式的视觉体验。例如,“心情盒子”功能允许用户通过摇晃手机来改变表情的情绪表达。
-
AI及多媒体处理:新系统加强了人工智能技术的应用,比如AI语音修复等功能,并且提升了图形处理能力,为多媒体内容提供了更好的支持。
-
教育合作:华为已与中国超过300所高校建立合作关系,以加速技术研发和迭代速度,促进学术界与产业界的融合创新。
-
市场份额:截至发布时,支持鸿蒙系统的设备数量已经超过10亿台,鸿蒙在中国市场的份额位居前两名,显示出强劲的增长势头。
-
生态系统建设:随着鸿蒙Next的推出,华为进一步强化了其生态系统的构建,旨在为开发者提供一个开放平台,促进更多高质量应用和服务的发展。
总览
安装 DevEco Studio
DevEco Studio 是面向HarmonyOS应用及元服务开发者提供的集成开发环境(IDE),助力高效开发。看界面就知道基于 IDEA 定制😄。我下载的是 Mac(ARM)版本,整个软件安装后有 10 GB 😮。
文档在:IDE文档,如果启动项目时遇到 npm 下载超时,需要参考官方的文档修改配置。
Hello World示例
新建项目
首次启动需要同意华为的协议(如下图),然后就看到首页。我们点击Create Project
,在新界面中选择Empty Ability
后点击Next
。然后选择存放目录、SDK版本、运行环境(手机、平板、2合一、车机等),最后Finish
即可。
注意看,这里会安装pnpm
工具(即使我本地已经安装有)。
目录结构
- AppScope > app.json5:应用的全局配置信息,详见app.json5配置文件。
-
entry:HarmonyOS工程模块,编译构建生成一个HAP包。
- src > main > ets:用于存放ArkTS源码。
- src > main > ets > entryability:应用/服务的入口。
- src > main > ets > entrybackupability:应用提供扩展的备份恢复能力。
- src > main > ets > pages:应用/服务包含的页面。
- src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件,详见资源分类与访问。
- src > main > module.json5:模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。具体的配置文件说明,详见module.json5配置文件。
- build-profile.json5:当前的模块信息 、编译信息配置项,包括buildOption、targets配置等。
- hvigorfile.ts:模块级编译构建任务脚本。
- obfuscation-rules.txt:混淆规则文件。混淆开启后,在使用Release模式进行编译时,会对代码进行编译、混淆及压缩处理,保护代码资产。详见开启代码混淆。
- oh-package.json5:用来描述包名、版本、入口文件(类型声明文件)和依赖项等信息。
- oh_modules:用于存放三方库依赖信息。
build-profile.json5:工程级配置信息,包括签名signingConfigs、产品配置products等。其中products中可配置当前运行环境,默认为HarmonyOS。
hvigorfile.ts:工程级编译构建任务脚本。
- oh-package.json5:主要用来描述全局配置,如:依赖覆盖(overrides)、依赖关系重写(overrideDependencyMap)和参数化配置(parameterFile)等。