鴻蒙極速入門(二)-開發準備和HelloWorld

来源:https://www.cnblogs.com/anywherego/archive/2023/10/25/17786762.html
-Advertisement-
Play Games

一、開發準備 本篇博客基於的系統版本:華為官方HarmonyOS版本3.1、OpenHarmony版本4.0Beta 開發語言 ArkTS語言(推薦) JS語言(支持) Java語言(已放棄支持) 從Harmony4.0開始,官方主推ArkTS語言,且不再支持Java語言 UI框架-方舟開發框架(A ...


一、開發準備

本篇博客基於的系統版本:華為官方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應用。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 內置參考電壓的使用 應用筆記 前言 CH32V/F 系列單片機能夠在一定的電壓範圍內進行工作,以 CH32V203C8T6 晶元為例,在不使用 USB 外設時,最低工作電壓能夠達到 2.4V。較為寬泛的工作電壓,允許單片機直接使用電池供電,但由於 CH32V203C8T6 晶元沒有獨立的 Vref ...
  • 1、前言 《中庸》有:“九層之台,起於壘土” 之說,那麼對於我們搞技術的人,同樣如此! 對於Linux記憶體管理,你可以說沒有留意過,但是它存在於我們日常開發的方方面面,你所打開的文件,你所創建的變數,你所運行的程式,無不以此為基礎,它可以說是操作系統的基石;只是底層被封裝的太好了,以至於我們在做開發 ...
  • 1. 線程 1.1. MySQL服務端是多線程軟體。它的每個組件都使用線程 1.2. 每個線程至少有兩個唯一標識符 1.2.1. 操作系統線程ID 1.2.2. MySQL內部線程ID 2. 對象類型 2.1. OBJECT_TYPE列 2.2. EVENT 2.3. FUNCTION 2.4. P ...
  • redis面試提問 轉載:https://blog.csdn.net/uuqaz/article/details/127088333 Redis 是面試中繞不過的檻,只要在簡歷中寫了用過 Redis,肯定逃不過。今天我們就來模擬一下麵試官在 Redis 這個話題上是如何一步一步深入,全面考察候選人對 ...
  • YARN(Yet Another Resource Negotiator)是 Hadoop 生態系統中的資源調度器,主要用於資源管理和作業調度。YARN 自身具備隊列管理功能,通過對 YARN 資源隊列進行配置和管理,實現集群資源的分配,以滿足不同應用和用戶的需求。YARN 的引入為集群在利用率、資 ...
  • 什麼是成本 MySQL中一條SQL語句的執行成本包含兩個部分: I/O成本:從磁碟中載入數據(頁)到記憶體的的過程中消耗的時間稱為I/O成本。 CPU成本:讀取記錄以及檢測記錄是否滿足搜索條件、對結果集進行排序等操作,消耗的時間稱為CPU成本。 MySQL預設規定讀取一個頁面的I/O成本是1.0,讀取 ...
  • 1.背景概述 在一次主從複製架構中,由於主節點binlog損壞,導致從節點無法正常同步數據,只能重做從節點;因此使用MySQL 8.0.17開始提供的clone技術進行恢復,恢復後的2天都發生了主從報錯數據衝突。 通過解析binlog發現,同一時刻主從節點都在執行同一條語句,因此詢問業務是否在主從節 ...
  • ArkTS是HarmonyOS優選的主力應用開發語言。ArkTS圍繞應用開發在TypeScript(簡稱TS)生態基礎上做了進一步擴展,繼承了TS的所有特性,是TS的超集。因此,在學習ArkTS語言之前,需要先瞭解一下TS語言的基礎知識。 一、基礎類型 1. 數字類型-number 雙精度 64 位 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...