使用Taro开发鸿蒙原生应用——快速上手,鸿蒙应用开发指南
随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发鸿蒙原生应用,也可将现有的小程序转换为鸿蒙原生应用。本文将正式为开发者提供一份完整的鸿蒙应用开发指南,帮助大家使用 Taro 开发自己的第一个鸿蒙应用。
首先要准备鸿蒙运行所需的环境,根据参考文档提示的步骤在 HUAWEI DevEco Studio 的 IDE 中完成 MyApplication 项目的创建,熟悉鸿蒙开发者工具的预览查看等功能。
5.SDK 配置成功后,看到设置面板中各个 SDK 的版本号与下面的图片中相同,则标识配置成功了。
步骤 2:创建 Harmony 主项目
DevEco Studio 目前只支持在华为提供的测试真机上进行预览与调试,模拟器调试将在不久后支持。
1. 预览:
2. 调试:
链接上真机后,选择好对应的入口模块,在项目代码中打上断点等信息,在编译器中启动调试即可。
安装 v4.0.0-beta.x 版本的 Taro CLI:
npm i -g @tarojs/cli@beta$ npm i vite@^4.2.0$ npm i terser@^5.4.0$ npm i @tarojs/vite-runner@beta
如果安装失败或打开项目失败,可以删除 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',},}
{//..."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"}]}
"scripts": {"build:harmony": "taro build --type harmony","dev:harmony": "npm run build:harmony -- --watch"}
开发者可根据上面运行鸿蒙 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 没有办法在编译时获取准确的节点结构以及节点类名信息,因此无法支持这两种行为。
本指南详细介绍了鸿蒙运行环境的配置、使用 Taro 开发鸿蒙应用的步骤和注意事项。我们希望,开发者们通过本指南,可以快速上手并高效开发自己的鸿蒙应用,顺利的进入到鸿蒙应用开发的新领域。
求分享
求点赞
求在看
▪功能支撑:会员成长体系、等级计算策略、权益体系、营销底层能力支持
▪用户活跃:会员关怀、用户触达、活跃活动、业务线交叉获客、拉新促活