0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

王程 来源:jf_75796907 作者:jf_75796907 2024-02-02 16:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发鸿蒙原生应用,也可将现有的小程序转换为鸿蒙原生应用。

在 《使用 Taro 开发鸿蒙原生应用》 系列文章中,我们已经介绍了 鸿蒙的基本概念 和 Taro 适配鸿蒙的原理。本文作为该系列的第三篇,将正式为开发者提供一份完整的鸿蒙应用开发指南,帮助大家使用 Taro 开发自己的第一个鸿蒙应用。

一、环境配置

首先要准备鸿蒙运行所需的环境,根据参考文档提示的步骤在 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 的版本号与下面的图片中相同,则标识配置成功了。

wKgZomW8oymAM8T_AAD2Uyqthhs082.png

步骤 2:创建 Harmony 主项目

创建新项目,选择需要开发的设备,然后 Mode 选择 Stage 模型,Compile SDK 选择 4.0.0 (API 10),按照引导操作后一个新的项目就被创建出来了;

关注目录 entry/src/main/ets/pages/Index.ets 下面的文件,熟悉文件结构。pages 目录下为页面入口,新建项目的页面目录会包含若干个 .ets 文件,应用级配置信息位于 build-profile.json5,当前的模块信息 、编译信息配置项位于 entry/build-profile.json5。项目结构详情;

创建好项目后,根据 配置插件指引,将下载的套件附带的插件配置在项目配置中。

步骤 3:预览 & 调试

DevEco Studio 目前只支持在华为提供的测试真机上进行预览与调试,模拟器调试将在不久后支持。

预览:

用户真机与电脑相连,打开开发者模式,即可在真机看到效果。这里需要注意的是,真机需要使用华为侧提供的测试机,测试机中会安装纯鸿蒙的系统镜像,能够体验到完整的鸿蒙系统功能,纯鸿蒙应用目前还不能完美地在 HarmonyOS 4.0 的商用机侧跑起来。

调试:

链接上真机后,选择好对应的入口模块,在项目代码中打上断点等信息,在编译器中启动调试即可。

wKgaomW8oymAC1JkAAJKxpW1zyA120.png

二、Taro 开发流程

步骤 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 项目的方式进行预览与调试。

三、注意事项

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 没有办法在编译时获取准确的节点结构以及节点类名信息,因此无法支持这两种行为。

另外,由于样式的解析是基于组件文件的纬度的,因此样式文件只能应用于被其引用的组件文件中,而不能跨文件应用,并且样式文件也只支持类选择器。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1110

    浏览量

    51985
  • 鸿蒙
    +关注

    关注

    60

    文章

    3015

    浏览量

    46161
  • Harmony
    +关注

    关注

    0

    文章

    108

    浏览量

    3610
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Renesas EK - RA8D2评估套件快速上手与定制开发指南

    Renesas EK - RA8D2评估套件快速上手与定制开发指南 在嵌入式开发领域,一款好的评估套件能极大地加速开发进程,帮助
    的头像 发表于 12-26 15:50 619次阅读

    NTAG X DNA 快速上手:安全认证 IC 的开发指南

    NTAG X DNA 快速上手:安全认证 IC 的开发指南 在物联网时代,设备的安全认证至关重要。NTAG X DNA 作为一款安全认证 IC,为设备认证提供了可靠的解决方案。今天,我们就来深入
    的头像 发表于 12-24 11:05 756次阅读

    以龙企招为例,浅谈鸿蒙应用开发者激励计划 2025 参与心得

    2025 年,我们带着 “龙企招” 鸿蒙应用,报名参与了鸿蒙应用开发者激励计划。原本满怀期待地提交上架申请,却收到了审核未通过的通知。这次经历虽有遗憾,却让我们深刻体会到鸿蒙生态对应用
    发表于 12-12 10:17

    性能跃迁,鸿蒙开发新纪元!凌羽派RK3566鸿蒙开发板,开启全场景开发之旅

    【导语】还在为鸿蒙开发寻找强劲、稳定、高效的硬件平台?凌羽派RK3566鸿蒙开发板震撼登场!集高性能、全接口、强生态于一身,专为鸿蒙
    的头像 发表于 12-11 17:58 2632次阅读
    性能跃迁,<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>新纪元!凌羽派RK3566<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>板,开启全场景<b class='flag-5'>开发</b>之旅

    想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?

    如何快速上手体验鸿蒙生态? 想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?
    发表于 11-29 08:40

    如何申请鸿蒙开发板?想体验鸿蒙生态。

    如何申请鸿蒙开发板?想体验鸿蒙生态。
    发表于 11-29 08:34

    【课程升级】鸿蒙星闪WS63开发板新增《LVGL应用开发指南》课程,带屏开发让你的毕设项目更出彩!

    用的图形界面。01课程升级核心内容快速入门,LVGL图形界面开发新增《LVGL应用开发指南》精品课程,这部分升级已完成,共58讲精讲,17小时干货。课程基于Windows
    的头像 发表于 11-04 11:45 549次阅读
    【课程升级】<b class='flag-5'>鸿蒙</b>星闪WS63<b class='flag-5'>开发</b>板新增《LVGL应用<b class='flag-5'>开发指南</b>》课程,带屏<b class='flag-5'>开发</b>让你的毕设项目更出彩!

    Taro on HarmonyOS 技术架构深度解析

    2025 年 6 月,在华为开发者大会 2025 开发者场景技术共建分论坛,本文作者进行了《京东 Taro 框架鸿蒙版本正式开源 助力鸿蒙
    的头像 发表于 08-04 16:10 917次阅读
    <b class='flag-5'>Taro</b> on HarmonyOS 技术架构深度解析

    【HarmonyOS 5】金融应用开发鸿蒙组件实践

    原生鸿蒙操作系统星河版,面向开发者开放申请,余承东宣布鸿蒙生态设备数达 8 亿台;建设银行、邮储银行等完成鸿蒙
    的头像 发表于 07-11 18:20 1114次阅读
    【HarmonyOS 5】金融应用<b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>组件实践

    开鸿开发板深度体验:从开源鸿蒙开发到AI场景实践

    的KaihongBoard-3588S-SBC和KaihongBoard-3576-SBC被评为“2025OpenHarmony明星开发板”,可实现设备快速开源鸿蒙化升级、分布式互联协同、弹性部署等能力。
    的头像 发表于 07-03 17:03 1956次阅读
    开鸿<b class='flag-5'>开发</b>板深度体验:从开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>到AI场景实践

    鸿蒙5开发宝藏案例分享---一多开发实例(音乐)

    各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接
    的头像 发表于 06-30 11:54 850次阅读

    京东开源Taro on HarmonyOS C-API版本

    近日,京东正式开源了Taro on HarmonyOS C-API 版本,为鸿蒙应用跨端开发提供高性能框架。这次版本的发布,带来了更丰富的样式适配、更高效的渲染性能、更全面的组件支持,让开发
    的头像 发表于 06-09 09:19 1234次阅读
    京东开源<b class='flag-5'>Taro</b> on HarmonyOS C-API版本

    Kuikly鸿蒙版正式开源 —— 揭秘卓越性能适配之旅

    6倍 Kuikly鸿蒙版对齐Android版高性能表现,与原生打开速度基本一致 总体适配方案 Kuikly架构回顾和优势 Kuikly是一个一码多端、追求极致性能、动态化、原生体验的开发
    发表于 06-04 16:46

    2025开源鸿蒙开发者大会圆满落幕

    近日,开源鸿蒙开发者大会2025(OHDC.2025,简称“大会”)在深圳隆重开幕。大会正式发布了开源鸿蒙5.1 Release版本,举行了开源鸿蒙应用技术组件共建启动、开源
    的头像 发表于 05-26 17:03 1502次阅读

    开源鸿蒙开发新体验,开鸿Bot系列今日开启预售!

    (烧录指南、产品使用说明书等)。此外,通过免费OTA升级和在线答疑服务,进一步降低了开发者的学习门槛,重构了开源鸿蒙开发体验。 轻办公智慧终端,打造高效办公场景 开鸿Bot系列不仅是
    发表于 05-16 14:13