0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用 Taro 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-02 16:09 ? 次閱讀

隨著鴻蒙系統(tǒng)的不斷完善,許多應(yīng)用廠商都希望將自己的應(yīng)用移植到鴻蒙平臺上。最近,Taro 發(fā)布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發(fā)鴻蒙原生應(yīng)用,也可將現(xiàn)有的小程序轉(zhuǎn)換為鴻蒙原生應(yīng)用。

在 《使用 Taro 開發(fā)鴻蒙原生應(yīng)用》 系列文章中,我們已經(jīng)介紹了 鴻蒙的基本概念 和 Taro 適配鴻蒙的原理。本文作為該系列的第三篇,將正式為開發(fā)者提供一份完整的鴻蒙應(yīng)用開發(fā)指南,幫助大家使用 Taro 開發(fā)自己的第一個鴻蒙應(yīng)用。

一、環(huán)境配置

首先要準(zhǔn)備鴻蒙運行所需的環(huán)境,根據(jù)參考文檔提示的步驟在 HUAWEI DevEco Studio 的 IDE 中完成 MyApplication 項目的創(chuàng)建,熟悉鴻蒙開發(fā)者工具的預(yù)覽查看等功能。

步驟 1:安裝、配置 DevEco Studio

1.登錄 HarmonysOS 應(yīng)用開發(fā)門戶,點擊右上角注冊按鈕,注冊開發(fā)者帳號;

2.進(jìn)入 HUAWEI DevEco Studio 套件貨架中心,申請白名單,由于目前最新版本的 OpenHarmony SDK 和 IDE 仍未對外開發(fā),因此個人開發(fā)者若想嘗鮮,需要先申請白名單成為合作伙伴后才能繼續(xù)進(jìn)行下面的步驟;

3.白名單申請通過后,進(jìn)入貨架,下載 IDE 版本為 DevEco Studio 4.0.3.700 的 DevEcoStudio4.0-API10 開發(fā)套件;

4.下載完成后,打開 IDE 安裝包進(jìn)行安裝,安裝成功后啟動 DevEco Studio,根據(jù) 引導(dǎo) 解壓套件里附帶的 SDK 壓縮包,并根據(jù)引導(dǎo)在 IDE 中配置好 SDK 的使用路徑;

5.SDK 配置成功后,看到設(shè)置面板中各個 SDK 的版本號與下面的圖片中相同,則標(biāo)識配置成功了。

wKgZomW8oymAM8T_AAD2Uyqthhs082.png

步驟 2:創(chuàng)建 Harmony 主項目

創(chuàng)建新項目,選擇需要開發(fā)的設(shè)備,然后 Mode 選擇 Stage 模型,Compile SDK 選擇 4.0.0 (API 10),按照引導(dǎo)操作后一個新的項目就被創(chuàng)建出來了;

關(guān)注目錄 entry/src/main/ets/pages/Index.ets 下面的文件,熟悉文件結(jié)構(gòu)。pages 目錄下為頁面入口,新建項目的頁面目錄會包含若干個 .ets 文件,應(yīng)用級配置信息位于 build-profile.json5,當(dāng)前的模塊信息 、編譯信息配置項位于 entry/build-profile.json5。項目結(jié)構(gòu)詳情;

創(chuàng)建好項目后,根據(jù) 配置插件指引,將下載的套件附帶的插件配置在項目配置中。

步驟 3:預(yù)覽 & 調(diào)試

DevEco Studio 目前只支持在華為提供的測試真機上進(jìn)行預(yù)覽與調(diào)試,模擬器調(diào)試將在不久后支持。

預(yù)覽:

用戶真機與電腦相連,打開開發(fā)者模式,即可在真機看到效果。這里需要注意的是,真機需要使用華為側(cè)提供的測試機,測試機中會安裝純鴻蒙的系統(tǒng)鏡像,能夠體驗到完整的鴻蒙系統(tǒng)功能,純鴻蒙應(yīng)用目前還不能完美地在 HarmonyOS 4.0 的商用機側(cè)跑起來。

調(diào)試:

鏈接上真機后,選擇好對應(yīng)的入口模塊,在項目代碼中打上斷點等信息,在編譯器中啟動調(diào)試即可。

wKgaomW8oymAC1JkAAJKxpW1zyA120.png

二、Taro 開發(fā)流程

步驟 1:安裝 Taro v4.0.0-beta.x

1. 安裝 CLI

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

npm i -g @tarojs/cli@beta

2. 安裝項目依賴

如您是新項目,創(chuàng)建項目時推薦創(chuàng)建編譯器為 vite 的模板,若創(chuàng)建項目選擇了 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 相關(guān)依賴的版本修改為~4.0.0-beta.0,再重新安裝依賴,并添加上述三個和 vite 相關(guān)的依賴。

如果安裝失敗或打開項目失敗,可以刪除 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 相關(guān)配置
  harmony: {
    // 將編譯方式設(shè)置為使用 Vite 編譯
    compiler: 'vite',
    // 【必填】鴻蒙主應(yīng)用的絕對路徑,例如:
    projectPath: path.resolve(process.cwd(), '../MyApplication'),
    // 【可選】HAP 的名稱,默認(rèn)為 'entry'
    hapName: 'entry',
    // 【可選】modules 的入口名稱,默認(rèn)為 'default'
    name: 'default',
  },
}

步驟 4:修改鴻蒙主項目的權(quán)限配置

根據(jù)項目需要在鴻蒙主項目 entry/src/main/module.json5 中所需要使用到的機器權(quán)限。

{
  //...
  "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 可將打包結(jié)果生成到配置的鴻蒙主項目路徑中。

"scripts": {
    "build:harmony": "taro build --type harmony",
    "dev:harmony": "npm run build:harmony -- --watch"
}

步驟 6:預(yù)覽 & 調(diào)試

開發(fā)者可根據(jù)上面運行鴻蒙 demo 項目的方式進(jìn)行預(yù)覽與調(diào)試。

三、注意事項

1. 樣式

布局

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

尺寸單位

目前 Taro 轉(zhuǎn)鴻蒙支持使用 px、vw、vh 作為數(shù)據(jù)的單位,諸如 rem、em 等單位則暫時不支持。

2. 調(diào)試

真機調(diào)試

當(dāng)前,真機調(diào)試需要使用華為側(cè)提供的測試機,測試機中會安裝純鴻蒙的系統(tǒng)鏡像,能夠體驗到完整的鴻蒙系統(tǒng)功能,純鴻蒙應(yīng)用目前還不能完美地在 HarmonyOS 4.0 的商用機側(cè)跑起來。

SDK 版本問題

由于鴻蒙側(cè)迭代 SDK 的速度較快,目前 Taro 適配的 SDK 版本為最新的 API 10 版本,對于 API 版本為 9 的鴻蒙項目可能會存在組件和 API 的不兼容和不支持。

3. 與小程序的差異

當(dāng)下,雖然 Taro 適配鴻蒙 ArkTS 的工作已經(jīng)基本完成,但在適配過程中,我們也發(fā)現(xiàn)了一些暫時無法解決或者計劃后續(xù)解決的遺留問題。

組件和 API

由于鴻蒙平臺和小程序平臺本身就存在著較大的差異,因此一些小程序的組件和 API 規(guī)范,在鴻蒙平臺會沒有辦法重新實現(xiàn),如與登錄和賬號信息相關(guān)的 API 以及 live-player 等和直播相關(guān)的組件。

樣式解析存在一定的限制

由于在 ArkTS 中,會使用聲明式 UI 來對 UI 的樣式進(jìn)行描述,因此不存在 sass 和 css 等樣式文件,因此 Taro 在適配鴻蒙 ArkTS 時,會在編譯時去解析這些樣式文件。并將這些樣式以內(nèi)聯(lián)的方式寫入到組件的 TS/JS 代碼中。

正常的樣式基于 W3C 規(guī)范,存在著類名級聯(lián)和樣式繼承的行為,由于開發(fā)者在代碼中的寫法各異,Taro 沒有辦法在編譯時獲取準(zhǔn)確的節(jié)點結(jié)構(gòu)以及節(jié)點類名信息,因此無法支持這兩種行為。

另外,由于樣式的解析是基于組件文件的緯度的,因此樣式文件只能應(yīng)用于被其引用的組件文件中,而不能跨文件應(yīng)用,并且樣式文件也只支持類選擇器。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1041

    瀏覽量

    46061
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2378

    瀏覽量

    42936
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    2622
收藏 人收藏

    評論

    相關(guān)推薦

    Taro 鴻蒙技術(shù)內(nèi)幕系列(三) - 多語言場景下的通用事件系統(tǒng)設(shè)計

    生態(tài)系統(tǒng)中,雖然原生應(yīng)用通?;?ArkTS 實現(xiàn),但在實際研發(fā)過程中發(fā)現(xiàn),使用 C++ 可以顯著提升應(yīng)用框架和業(yè)務(wù)的性能表現(xiàn)。隨著鴻蒙系統(tǒng)的不斷迭代升級,不同語言環(huán)境間的協(xié)作已成為不可或缺的開發(fā)范式,共同構(gòu)建了更豐富的研發(fā)生態(tài)
    的頭像 發(fā)表于 11-27 11:42 ?249次閱讀
    <b class='flag-5'>Taro</b> <b class='flag-5'>鴻蒙</b>技術(shù)內(nèi)幕系列(三) - 多語言場景下的通用事件系統(tǒng)設(shè)計

    鴻蒙原生開發(fā)手記:01-元服務(wù)開發(fā)

    簡介 元服務(wù)是鴻蒙中的一種輕量應(yīng)用形態(tài),無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務(wù)更加輕量。 元服務(wù)使用原生開發(fā),是系統(tǒng)級提供的,無論從易用性、性能、體驗上,都要比小程序好
    發(fā)表于 11-14 17:28

    鴻蒙Taro實戰(zhàn):01-搭建開發(fā)環(huán)境

    ## 配置鴻蒙環(huán)境 ### 下載安裝 DevEco ### 配置IDE 打開 `Prefreences`, `OpenHarmony SDK`, 勾選 `API Version 12
    發(fā)表于 11-06 16:42

    Taro 鴻蒙技術(shù)內(nèi)幕系列(二):如何讓 W3C 標(biāo)準(zhǔn)的 CSS跑在鴻蒙

    作者:京東零售 馬銀濤 ? 基于 Taro 打造的京東鴻蒙 APP 已跟隨鴻蒙 Next 系統(tǒng)公測,本系列文章將深入解析 Taro 如何實現(xiàn)使用 React
    的頭像 發(fā)表于 10-31 10:54 ?191次閱讀
    <b class='flag-5'>Taro</b> <b class='flag-5'>鴻蒙</b>技術(shù)內(nèi)幕系列(二):如何讓 W3C 標(biāo)準(zhǔn)的 CSS跑在<b class='flag-5'>鴻蒙</b>上

    Taro鴻蒙技術(shù)內(nèi)幕系列(一):如何將React代碼跑在ArkUI上

    基于 Taro 打造的京東鴻蒙 APP 已跟隨鴻蒙 Next 系統(tǒng)公測,本系列文章將深入解析 Taro 如何實現(xiàn)使用 React 開發(fā)高性能
    的頭像 發(fā)表于 10-25 17:24 ?350次閱讀
    <b class='flag-5'>Taro</b><b class='flag-5'>鴻蒙</b>技術(shù)內(nèi)幕系列(一):如何將React代碼跑在ArkUI上

    慶科信息獲HarmonyOS高級應(yīng)用開發(fā)能力認(rèn)證!助力品牌快速打造鴻蒙原生應(yīng)用

    近日,上海慶科信息技術(shù)有限公司榮獲HarmonyOS應(yīng)用開發(fā)者高級認(rèn)證,公司在華為鴻蒙生態(tài)的開發(fā)能力得到進(jìn)一步拓展,能夠幫助客戶快速開發(fā)基于
    的頭像 發(fā)表于 07-17 13:24 ?624次閱讀
    慶科信息獲HarmonyOS高級應(yīng)用<b class='flag-5'>開發(fā)</b>能力認(rèn)證!助力品牌<b class='flag-5'>快速</b>打造<b class='flag-5'>鴻蒙</b><b class='flag-5'>原生</b>應(yīng)用

    軟通動力榮膺首批“鴻蒙原生應(yīng)用開發(fā)及培訓(xùn)鉆石服務(wù)商”

    近日,鴻蒙原生應(yīng)用合作交流推介會在深圳成功召開。在此次盛會上,軟通動力脫穎而出,成為鴻蒙生態(tài)的首批認(rèn)證合作伙伴,并榮獲“鴻蒙原生應(yīng)用
    的頭像 發(fā)表于 05-22 10:53 ?754次閱讀

    哪吒汽車APP啟動鴻蒙原生應(yīng)用開發(fā)

    哪吒汽車正式簽約,啟動鴻蒙原生應(yīng)用開發(fā);在5月17日,在上海市經(jīng)濟(jì)和信息化委員會指導(dǎo)的“千帆競發(fā)啟航 共筑鴻蒙生態(tài)——HDD上海站·鴻蒙
    的頭像 發(fā)表于 05-18 09:48 ?1188次閱讀

    軟通動力與鴻蒙生態(tài)服務(wù)雙方將共同聚焦鴻蒙原生應(yīng)用開發(fā)和培訓(xùn)領(lǐng)域

    3月8日,軟通動力與鴻蒙生態(tài)服務(wù)(深圳)有限公司(以下簡稱“鴻蒙生態(tài)服務(wù)公司”)簽署合作協(xié)議,雙方將共同聚焦鴻蒙原生應(yīng)用開發(fā)和培訓(xùn)領(lǐng)域
    的頭像 發(fā)表于 03-14 09:54 ?527次閱讀

    鴻蒙開發(fā)者預(yù)覽版如何?

    、原生智能、原生互聯(lián),6大極致原生體驗。 我初步閱讀了鴻蒙的源碼后,基本上可以確定是全自研底座,已經(jīng)看不到Android的身影了。作為開發(fā)
    發(fā)表于 02-17 21:54

    淘寶與華為合作將基于HarmonyOS NEXT啟動鴻蒙原生應(yīng)用開發(fā)

    1月25日,淘寶與華為舉辦鴻蒙合作簽約儀式,宣布將基于HarmonyOS NEXT啟動鴻蒙原生應(yīng)用開發(fā)。
    的頭像 發(fā)表于 01-26 16:14 ?1164次閱讀

    淘寶正式啟動華為鴻蒙原生應(yīng)用開發(fā)

    華為與淘寶近日宣布,淘寶已正式啟動鴻蒙原生應(yīng)用開發(fā)。這一合作標(biāo)志著鴻蒙生態(tài)在電商領(lǐng)域的布局進(jìn)一步擴(kuò)大,將為用戶帶來全新的全場景購物體驗。
    的頭像 發(fā)表于 01-26 15:59 ?811次閱讀

    多家頭部企業(yè)宣布「啟動鴻蒙原生應(yīng)用開發(fā)」,你看好鴻蒙系統(tǒng)走向「獨立」嗎?

    鴻蒙生態(tài)迎「關(guān)鍵一戰(zhàn)」,多家頭部企業(yè)宣布「啟動鴻蒙原生應(yīng)用開發(fā)」,你看好鴻蒙系統(tǒng)走向「獨立」嗎?
    的頭像 發(fā)表于 01-24 11:47 ?597次閱讀
    多家頭部企業(yè)宣布「啟動<b class='flag-5'>鴻蒙</b><b class='flag-5'>原生</b>應(yīng)用<b class='flag-5'>開發(fā)</b>」,你看好<b class='flag-5'>鴻蒙</b>系統(tǒng)走向「獨立」嗎?

    HarmonyOS SDK,助力開發(fā)者打造煥然一新的鴻蒙原生應(yīng)用

    場景推出場景化控件,幫助開發(fā)快速地打造更純凈、更智能、更精致、更易用的鴻蒙原生應(yīng)用。 提供六大領(lǐng)域,能力豐富完備 HarmonyOS SDK 擁有近 30000 個 API,覆蓋了
    發(fā)表于 01-19 10:31

    京東正式啟動鴻蒙原生應(yīng)用開發(fā)

    華為與京東于近日宣布達(dá)成一項重要合作,正式啟動鴻蒙原生應(yīng)用開發(fā)。這一合作旨在利用HarmonyOS NEXT的獨特優(yōu)勢,為消費者提供更出色的購物體驗。
    的頭像 發(fā)表于 01-18 15:02 ?806次閱讀