写点什么

鸿蒙 OS 应用开发初体验

作者:巫山老妖
  • 2023-10-30
    广东
  • 本文字数:1553 字

    阅读完需:约 5 分钟

鸿蒙OS应用开发初体验

什么是 HarmonyOS?

HarmonyOS(鸿蒙操作系统)是华为公司开发的一款基于微内核的分布式操作系统。它是一个面向物联网(IoT)时代的全场景操作系统,旨在为各种类型的设备提供统一的操作系统平台和开发框架。HarmonyOS 的目标是实现跨设备的无缝协同和高性能。

DevEco Studio

对标 Android Studio,开发鸿蒙 OS 应用的 IDE。

启动页面

Setup



HarmonyOS-SDK:鸿蒙操作系统软件开发工具包

  • Previewer:预览器

  • Toolchains:工具链


OpenHarmony-SDK:开源鸿蒙操作系统软件开发工具包


  • ArkTS:鸿蒙生态的应用开发语言。

  • JS:JavaScript

  • Previewer:预览器

  • Toolchains:工具链


Create Project


配置工程


项目名称、包名、存储路径、编译 SDK 版本、模型,语言、设备类型等。

工程目录结构


  • AppScope:存放应用全局所需要的资源文件。

  • entry:应用主模块,存放 HarmonyOS 应用的代码、资源等。

  • on_modules:工程依赖包,存放工程依赖的源文件。

  • build-profile.json5 是工程级配置信息,包括签名、产品配置等。

  • hvigorfile.ts 是工程级编译构建任务脚本,hvigor 是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。

  • oh-package.json5 是工程级依赖配置文件,用于记录引入包的配置信息。

Device Manager


创建好的模拟器会出现在这里。



启动模拟器之后,会在设备列表中出现。


编译运行


编译运行,可以从通知栏看到输出的文件并不是 apk,而是 hap(Harmony Application Package 的缩写)。是鸿蒙操作系统设计的应用程序包格式。



.hap 文件包含了应用程序的代码、资源和元数据等信息,用于在 HarmonyOS 设备上安装和运行应用程序。



整体开发流程跟 Android 基本无差,所以熟悉 Android 开发的同学上手基本没啥难度。

ArkTS

ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS 的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式 UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。https://developer.harmonyos.com/cn/develop/arkts/


最简单例子:


@Entry  @Component  struct Index {    @State message: string = 'Hello World'
build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
复制代码


看起来非常简洁,采用的是声明式 UI,写过 Flutter 的同学对声明式 UI 应该不会陌生。从最简单的例子初步了解下基本语法:


  • 装饰器,用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如 @Entry、@Component、@State 都是装饰器。

  • 自定义组件:可复用的 UI 单元,可组合其他组件,如上述被 @Component 装饰的 stuct Index。

  • UI 描述:以声明式的方式来描述 UI 的结构,如上述的 build()方法中的代码块。

  • 系统组件:ArkUI 框架中默认内置的基础和容器组件,可直接被开发者调用,比如示例中的 Row、Column、Text。

  • 属性方法:组件可以通过链式调用配置多项属性,如 fontSize()、width()、height()、backgroundColor()等。

  • 事件方法:组件可以通过链式调用设置多个事件的响应逻辑,本例代码不涉及,可以进一步学习文档。


这里就不是 Android 熟悉的 java 或 kotlin 语言了,编程语言变成了类 JavaScript 的前端语言,这意味着我们需要适应用前端的思想去开发鸿蒙应用,比如状态管理。

总结

本文纯初体验遥遥领先背后的鸿蒙操作系统,基于开发者平台提供的 IDE、鸿蒙生态的开发语言 ArkTS,通过模拟器运行起来了鸿蒙 OS 版 HelloWorld。对于已经有移动开发经验的同学来说上手可以说非常快,官方文档也非常详尽,ArkTS 语法也非常简洁易学,如果大家对华为生态的应用开发感兴趣或者想深入学习借鉴华为做 OS 和物联网的思路,鸿蒙系统就是一个标杆。


发布于: 刚刚阅读数: 5
用户头像

巫山老妖

关注

还未添加个人签名 2018-02-22 加入

还未添加个人简介

评论

发布
暂无评论
鸿蒙OS应用开发初体验_鸿蒙开发_巫山老妖_InfoQ写作社区