首页 > 其他分享 >鸿蒙极速入门(二)-开发准备和HelloWorld

鸿蒙极速入门(二)-开发准备和HelloWorld

时间:2023-10-25 11:47:41浏览次数:38  
标签:范式 DevEco 鸿蒙 模型 HelloWorld 开发 Studio 应用 极速

一、开发准备

本篇博客基于的系统版本:华为官方HarmonyOS版本3.1、OpenHarmony版本4.0Beta

开发语言

  • ArkTS语言(推荐)
  • JS语言(支持)
  • Java语言(已放弃支持)

从Harmony4.0开始,官方主推ArkTS语言,且不再支持Java语言

UI框架-方舟开发框架(ArkUI框架)

个人理解:类似iOS的UIKit/SwiftUI,或者安卓的Jetpack的UI组件/Compose

开发范式

方舟开发框架(ArkUI框架)针对不同目的和技术背景的开发者提供了两种开发范式:

  • 声明式开发范式:ArkTS的声明式开发范式
  • 类Web开发范式:兼容JS的类Web开发范式
开发范式名称 语言生态 UI更新方式 适用场景 适用人群
声明式开发范式 ArkTS语言 数据驱动更新 复杂度较大、团队合作度较高的程序 移动系统应用开发人员、系统应用开发人员
类Web开发范式 JS语言 数据驱动更新 界面较为简单的程序应用和卡片 Web前端开发人员

个人理解:类似iOS的SwiftUI(声明式)和UIKit,或者安卓的JetpackCompose(声明式)和JetpackUI

应用模型

概念

  • 官方解释:应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。
  • 个人理解:开发脚手架+底层运行引擎,类似开发模板

模型

  • Stage模型:HarmonyOS 3.1 Developer Preview版本开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。
  • FA(Feature Ability)模型:HarmonyOS早期版本开始支持的模型,已经不再主推。

Stage和FA的区别

技术选型

根据官方文档中的介绍,目前合适的开发技术栈组合:

Stage模型 + 声明式开发范式 + ArkUI框架 + ArkTS语言

二、环境搭建

下载DevEcoStudio

HarmonyOS 3.1 Release (推荐)

目前华为官方HUAWEI DevEco Studio开放下载的版本为3.1 Release,支持到HarmonyOS4.0

下载地址:HUAWEI DevEco Studio 3.1 Release

OpenHarmony 4.0 Beta2

  • 华为从HarmonyNext版本开始,也就是HarmonyOS4.0之后的版本,将删除AOSP代码,既纯净版鸿蒙;
  • 如果想提前了解Next版本的内容,可以在OpenHarmony官网下载HUAWEI DevEco Studio 的4.0 Beta2版本进行开发

下载地址:HUAWEI DevEco Studio 4.0 Beta2

配置开发环境

配置开发环境官方文档,这里不再赘述,使用默认选项,一路Next即可。

三、HelloWorld

1.创建ArkTS工程

打开DevEco Studio,点击Create Project创建工程。或通过DevEco Studio的菜单File > New > Create Project来创建一个新工程。

选择Application应用开发,选择模板“Empty Ability”,点击Next进行下一步配置。

进入配置工程界面,Compile SDK选择“3.1.0(API 9)”,Model 选择“Stage”,其他参数保持默认设置即可。

点击Finish,等待十几秒MyApplication工程就创建完成了。

2.ArkTS工程目录结构(Stage模型)

目录说明:

| MyApplication
|__ entry: HarmonyOS工程模块,编译构建生成一个HAP包。
      |__ src: 用于存放ArkTs源码
      |__ main
      |__ ets
          |__ entryability: 应用/服务的入口
          |__ pages: 应用/服务包含的页面
          |__ resources: 存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件

文件说明:

  • AppScope > app.json5:应用的全局配置信息。
  • entry > src > main > module.json5:Stage模型模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。 module.json5配置文件
  • entry > build-profile.json5:应用级配置信息,包括签名、产品配置等。
  • entry > hvigorfile.ts:应用级编译构建任务脚本。

3.页面源码

打开entry > src > main > pages > Index.ets 文件,查看页面源码:

@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

4.启动模拟器

创建模拟器

点击DevEco Studio右上角的No Devices > Device Manager,或者点击菜单Tools > Device Manager

在Device Manager界面,选择Local Emulator(本地模拟器),点击 New Emulator

一路Next,等待模拟器文件(1G左右)下载完成后,模拟器既完成创建。

启动模拟器(重要)

注意创建完模拟器后,DevEco Studio右上角依然显示的是No Devices,需要我们先在Device Manager中手动启动模拟器

启动完成后:

运行程序

点击DevEco Studio右上角的Run按钮,运行程序

运行成功后:

恭喜完成了第一个HarmonyOS应用。

标签:范式,DevEco,鸿蒙,模型,HelloWorld,开发,Studio,应用,极速
From: https://www.cnblogs.com/anywherego/p/17786762.html

相关文章

  • 鸿蒙极速入门(一)-HarmonyOS简介
    1、华为官网介绍2、OpenHarmony开源项目3、技术架构内核层内核子系统:采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核驱动子系统:驱动框架(HDF)是系统硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。系统服务层系统服务层是Ope......
  • 【保姆级教学】抛弃QuickConnect,免费极速远程访问黑群辉、白群晖NAS
    相信很多使用群晖NAS的小伙伴都不满意群晖自带的QuickConnect远程访问,不是速度慢就是连不上,而且很多套件不支持QuickConnect,这里我将教大家如何使用免费的内网穿透工具来实现异地远程访问群晖NAS,而且支持所有的套件的远程访问,小白也能看懂。步骤1:注册并安装内网穿透工具Solopace.......
  • Transformer一作来卷多模态!学术图表也能看懂,100毫秒极速响应|免费试玩
    前言 最近多模态大模型是真热闹啊。这不,Transformer一作携团队也带来了新作,一个规模为80亿参数的多模态大模型Fuyu-8B。而且发布即开源,模型权重在HuggingFace上可以看到。本文转载自量子位仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结......
  • 智慧矿山AI算法极速解决皮带问题!
    近年来,随着智能技术的迅速发展与应用,智慧矿山逐渐成为提高生产能力和安全性的重要手段。其中,皮带运输系统作为矿山生产过程中的关键环节,其运行状态的准确判定和及时预警对矿山的安全和效率至关重要。为了实现对皮带运行状态的准确识别,智慧矿山AI算法应运而生。为什么需要皮带运行状......
  • BitBake使用攻略--从HelloWorld讲起 (转载自:https://www.cnblogs.com/chegxy/p/1571811
    目录写在前面1.什么是BitBake2.BitBake的安装3.使用BitBake构建一个HelloWorld工程后续 写在前面《BitBake使用攻略》系列文章将从今天开始不定时的更新,主要讲解BitBake的背景,基本语法,功能及其命令等知识,旨在为即将从事Yocto项目和OpenEmbedded项目的同学做一些预......
  • HelloWorld
    publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");//单行注释//输出一个Hello,World!//有趣的代码注释//多行注释:可注释一段文字/*注释*//*我是多......
  • 鸿蒙类web开发中剪贴板功能实现问题
    鸿蒙的类web开发范式是采用JS开发的,其中实现剪贴板功能需引入@ohos.pasteboard功能。一、导包importpasteboardfrom'@ohos.pasteboard';二、创建两个button用于调用剪贴板hml<divclass="container"><text>copy:{{title2}}</text><text>vi:{{status}}<......
  • 私密离线聊天新体验!llama-gpt聊天机器人:极速、安全、搭载Llama 2
    “私密离线聊天新体验!llama-gpt聊天机器人:极速、安全、搭载Llama2,尽享CodeLlama支持!”一个自托管的、离线的、类似chatgpt的聊天机器人。由美洲驼提供动力。100%私密,没有数据离开您的设备。Demohttps://github.com/getumbrel/llama-gpt/assets/10330103/5d1a76b8-ed03-4a51-9......
  • # First -- 鸿蒙app开发
    介绍自我介绍一名二年级在校大专生,接下来的博客内容是我自己学习的笔记和一些好用的内容分享,都挺基础的都是在网上冲凉学来的博客介绍--鸿蒙app开发下面的几篇博客我将分享我在华为官网学习的鸿蒙基础第一个内容--DevEcoStudio创建项目创建Helloworld项目(示例)**选择‘Empty......
  • 修改typecho为鸿蒙字体HarmonyOS_Sans
    参考http://www.manongjc.com/detail/62-rolomyvbgjluyan.html在后台CSS样式添加以下代码:@font-face{font-family:HarmonyOS_Sans_SC_Medium;font-style:normal;font-display:swap;src:url('https://jsdelivr.panbaidu.cn/gh/baige007/ttf/HarmonyOS_Sans_SC_Me......