使用Taro開發鴻蒙原生應用——快速上手,鴻蒙應用開發指南

碼農談IT發表於2024-02-08


來源:京東技術

導讀

本指南為開發者提供了使用 Taro 框架開發鴻蒙原生應用的快速入門方法。Taro,作為一個多端統一開發框架,讓開發者能夠使用一套程式碼同時適配多個平臺,包括鴻蒙系統。文章將詳細介紹如何配置開發環境,以及如何利用 Taro 的特性和元件庫來構建鴻蒙應用。從基本的專案設定到複雜的應用邏輯開發,本文將一步步引導開發者瞭解 Taro 在鴻蒙應用開發中的實際應用,快速掌握跨平臺開發的技巧。




01 
前言


在今年的敏捷團隊建設中,我透過Suite執行器實現了一鍵自動化單元測試。Juint除了Suite執行器還有哪些執行器呢?由此我的Runner探索之旅開始了!

隨著鴻蒙系統的不斷完善,許多應用廠商都希望將自己的應用移植到鴻蒙平臺上。最近,Taro 釋出了 v4.0.0-beta.x 版本,支援使用 Taro 快速開發鴻蒙原生應用,也可將現有的小程式轉換為鴻蒙原生應用。本文將正式為開發者提供一份完整的鴻蒙應用開發指南,幫助大家使用 Taro 開發自己的第一個鴻蒙應用。



02 
環境配置


理解,首先 MCube 會依據模板快取狀態判斷是否需要網路獲取最新模板,當獲取到模板後進行模板載入,載入階段會將產物轉換為檢視樹的結構,轉換完成後將透過表示式引擎解析表示式並取得正確的值,透過事件解析引擎解析使用者自定義事件並完成事件的繫結,完成解析賦值以及事件繫結後進行檢視的渲染,最終將目標頁面展示到螢幕。

首先要準備鴻蒙執行所需的環境,根據參考文件提示的步驟在 HUAWEI DevEco Studio 的 IDE 中完成 MyApplication 專案的建立,熟悉鴻蒙開發者工具的預覽檢視等功能。

步驟 1:安裝、配置 DevEco Studio
1.登入 HarmonysOS 應用開發門戶,點選右上角註冊按鈕,註冊開發者帳號;
2.進入 HUAWEI DevEco Studio 套件貨架中心,申請白名單,由於目前最新版本的 OpenHarmony SDK 和 IDE 仍未對外開發,因此個人開發者若想嚐鮮,需要先申請白名單成為合作伙伴後才能繼續進行下面的步驟;
3.白名單申請透過後,進入貨架,下載 IDE 版本為 DevEco Studio 4.0.3.700 的 DevEcoStudio4.0-API10 開發套件
4.下載完成後,開啟 IDE 安裝包進行安裝,安裝成功後啟動 DevEco Studio,根據引導解壓套件裡附帶的 SDK 壓縮包,並根據引導在 IDE 中配置好 SDK 的使用路徑

5.SDK 配置成功後,看到設定皮膚中各個 SDK 的版本號與下面的圖片中相同,則標識配置成功了。

使用Taro開發鴻蒙原生應用——快速上手,鴻蒙應用開發指南

步驟 2:建立 Harmony 主專案

1.建立新專案,選擇需要開發的裝置,然後 Mode 選擇 Stage 模型,Compile SDK 選擇 4.0.0(API 10),按照引導操作後一個新的專案就被建立出來了;
2.關注目錄 entry/src/main/ets/pages/Index.ets 下面的檔案,熟悉檔案結構。pages 目錄下為頁面入口,新建專案的頁面目錄會包含若干個 .ets 檔案,應用級配置資訊位於 build-profile.json5,當前的模組資訊、編譯資訊配置項位於 entry/build-profile.json5。專案結構詳情;
3.建立好專案後,根據配置外掛指引,將下載的套件附帶的外掛配置在專案配置中。
步驟 3:預覽 & 除錯

DevEco Studio 目前只支援在華為提供的測試真機上進行預覽與除錯,模擬器除錯將在不久後支援。

1. 預覽:

使用者真機與電腦相連,開啟開發者模式,即可在真機看到效果。這裡需要注意的是,真機需要使用華為側提供的測試機,測試機中會安裝純鴻蒙的系統映象,能夠體驗到完整的鴻蒙系統功能,純鴻蒙應用目前還不能完美地在 HarmonyOS 4.0 的商用機側跑起來。

2. 除錯:

連結上真機後,選擇好對應的入口模組,在專案程式碼中打上斷點等資訊,在編譯器中啟動除錯即可。

使用Taro開發鴻蒙原生應用——快速上手,鴻蒙應用開發指南


03 
  
Taro開發流程
  


理解,首先 MCube 會依據模板快取狀態判斷是否需要網路獲取最新模板,當獲取到模板後進行模板載入,載入階段會將產物轉換為檢視樹的結構,轉換完成後將透過表示式引擎解析表示式並取得正確的值,透過事件解析引擎解析使用者自定義事件並完成事件的繫結,完成解析賦值以及事件繫結後進行檢視的渲染,最終將目標頁面展示到螢幕。
步驟 1:安裝 Taro v4.0.0-beta.x
1. 安裝 CLI

安裝 v4.0.0-beta.x 版本的 Taro CLI:


npm i -g @tarojs/cli@beta
2. 安裝專案依賴
如您是新專案,建立專案時推薦建立編譯器為 vite 的模板,若建立專案選擇了 webpack 或 webpack5 的模板,則需要手動安裝 vite、terser 以及 @tarojs/vite-runner。



$ npm i vite@^4.2.0$ npm i terser@^5.4.0$ npm i @tarojs/vite-runner@beta
舊專案需要把 package.json 檔案中 Taro 相關依賴的版本修改為 ~4.0.0-beta.0,再重新安裝依賴,並新增上述三個和 vite 相關的依賴。

如果安裝失敗或開啟專案失敗,可以刪除 node_modules、yarn.lock、package-lock.json 後重新安裝依賴再嘗試。

步驟 2:安裝 Taro 適配鴻蒙外掛


$ npm i @tarojs/plugin-platform-harmony-ets@beta

步驟 3:修改 Taro 編譯配置

config/index.ts
















config = {  // 配置使用外掛  plugins: ['@tarojs/plugin-platform-harmony-ets'],  // harmony 相關配置  harmony: {    // 將編譯方式設定為使用 Vite 編譯    compiler: 'vite',    // 【必填】鴻蒙主應用的絕對路徑,例如:    projectPath: path.resolve(process.cwd(), '../MyApplication'),    // 【可選】HAP 的名稱,預設為 'entry'    hapName: 'entry',    // 【可選】modules 的入口名稱,預設為 'default'    name: 'default',  },}
步驟 4:修改鴻蒙主專案的許可權配置
根據專案需要在鴻蒙主專案 entry/src/main/module.json5 中所需要使用到的機器許可權。
































{  //...  "requestPermissions": [    {      "name": "ohos.permission.VIBRATE"    },    {      "name": "ohos.permission.GET_WIFI_INFO"    },    {      "name": "ohos.permission.GET_NETWORK_INFO"    },    {      "name": "ohos.permission.SET_NETWORK_INFO"    },    {      "name": "ohos.permission.INTERNET"    },    {      "name": "ohos.permission.GET_BUNDLE_INFO"    },    {      "name": "ohos.permission.LOCATION"    },    {      "name": "ohos.permission.APPROXIMATELY_LOCATION"    },    {      "name": "ohos.permission.LOCATION_IN_BACKGROUND"    }  ]}
步驟 5:編譯執行
在 package.json 裡新增以下的 scripts 命令,執行命令,Taro 可將打包結果生成到配置的鴻蒙主專案路徑中。




"scripts": {    "build:harmony": "taro build --type harmony",    "dev:harmony": "npm run build:harmony -- --watch"}
步驟 6:預覽 & 除錯

開發者可根據上面執行鴻蒙 demo 專案的方式進行預覽與除錯。



04 
  注意事項  


理解,首先 MCube 會依據模板快取狀態判斷是否需要網路獲取最新模板,當獲取到模板後進行模板載入,載入階段會將產物轉換為檢視樹的結構,轉換完成後將透過表示式引擎解析表示式並取得正確的值,透過事件解析引擎解析使用者自定義事件並完成事件的繫結,完成解析賦值以及事件繫結後進行檢視的渲染,最終將目標頁面展示到螢幕。

1. 樣式

佈局

鴻蒙沒有實現盒子模型,因此目前在實現上是使用鴻蒙的 Flex 和 Column 實現的。

尺寸單位

目前 Taro 轉鴻蒙支援使用 px、vw、vh 作為資料的單位,諸如 rem、em 等單位則暫時不支援。

2. 除錯

真機除錯

當前,真機除錯需要使用華為側提供的測試機,測試機中會安裝純鴻蒙的系統映象,能夠體驗到完整的鴻蒙系統功能,純鴻蒙應用目前還不能完美地在 HarmonyOS 4.0 的商用機側跑起來。

SDK 版本問題

由於鴻蒙側迭代 SDK 的速度較快,目前 Taro 適配的 SDK 版本為最新的 API 10 版本,對於 API 版本為 9 的鴻蒙專案可能會存在元件和 API 的不相容和不支援。

3. 與小程式的差異

當下,雖然 Taro 適配鴻蒙 ArkTS 的工作已經基本完成,但在適配過程中,我們也發現了一些暫時無法解決或者計劃後續解決的遺留問題。

元件和 API

由於鴻蒙平臺和小程式平臺本身就存在著較大的差異,因此一些小程式的元件和 API 規範,在鴻蒙平臺會沒有辦法重新實現,如與登入和賬號資訊相關的 API 以及 live-player 等和直播相關的元件。

樣式解析存在一定的限制

由於在 ArkTS 中,會使用宣告式 UI 來對 UI 的樣式進行描述,因此不存在 sass 和 css 等樣式檔案,因此 Taro 在適配鴻蒙 ArkTS 時,會在編譯時去解析這些樣式檔案。並將這些樣式以內聯的方式寫入到元件的 TS/JS 程式碼中。

正常的樣式基於 W3C 規範,存在著類名級聯和樣式繼承的行為,由於開發者在程式碼中的寫法各異,Taro 沒有辦法在編譯時獲取準確的節點結構以及節點類名資訊,因此無法支援這兩種行為。

另外,由於樣式的解析是基於元件檔案的緯度的,因此樣式檔案只能應用於被其引用的元件檔案中,而不能跨檔案應用,並且樣式檔案也只支援類選擇器。


05 
  結語  


理解,首先 MCube 會依據模板快取狀態判斷是否需要網路獲取最新模板,當獲取到模板後進行模板載入,載入階段會將產物轉換為檢視樹的結構,轉換完成後將透過表示式引擎解析表示式並取得正確的值,透過事件解析引擎解析使用者自定義事件並完成事件的繫結,完成解析賦值以及事件繫結後進行檢視的渲染,最終將目標頁面展示到螢幕。

本指南詳細介紹了鴻蒙執行環境的配置、使用 Taro 開發鴻蒙應用的步驟和注意事項。我們希望,開發者們透過本指南,可以快速上手並高效開發自己的鴻蒙應用,順利的進入到鴻蒙應用開發的新領域。

來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70024924/viewspace-3006606/,如需轉載,請註明出處,否則將追究法律責任。

相關文章