不会写代码,能在平板上做出一个会动的 OpenHarmony 应用吗?
我之前也觉得这是吹牛。直到上周,我在一台来自鸿睿创智的志鸿Pad(千元级开源鸿蒙平板)上,只跟 AI 聊了两句,就跑出了一个满屏星星向外辐射、还能用手指拖着锚点玩的动画,全程没手敲一行代码。
今天把整个过程拆给你看。不是炫技,就想说明一点,OpenHarmony 开发的门槛,可能比你以为的低得多。
📌 本文配套视频已发 B 站和视频号,文末有链接。建议先收藏,跟着玩一遍,比看十篇教程都管用。
一、你信吗?两句话,一个 App 就出来了
这次用的工具叫 DevEco Code,是华为出的 AI 辅助开发 CLI。它最狠的地方在于:你用大白话描述想要什么,它自己搞定建工程、写代码、编译、部署。
我一共就对它说了两句话:
①「创建一个 OpenHarmony 6.1 的测试工程 Stars,显示一个以屏幕中心为原点、不断向外辐射五颜六色星星的应用。」②「中间显示一个锚点,手拖动锚点则星星的中心跟着变化。」
然后它就真的把从工程创建、动画实现到交互迭代的全套活儿干完了。我当时盯着屏幕,有点怀疑人生。
▲ DevEco Code 终端实拍:两句话,AI 就开始干活了
二、AI 替我搭好了整个工程
启动后,DevEco Code 先自动扫了一遍我的环境:DevEco Studio 装在哪、OpenHarmony SDK 路径是什么、本地还有哪些老工程能当模板。这一手环境感知很关键,意味着它不会瞎建路径。
接着它拿我已有的工程当模板,一层层把项目结构生成出来:
Stars/
├── AppScope/
│ ├── app.json5
│ └── resources/base/element/string.json
│ └── resources/base/media/ # 图标资源
├── entry/
│ ├── build-profile.json5
│ ├── hvigorfile.ts
│ ├── oh-package.json5
│ └── src/main/
│ ├── module.json5
│ ├── ets/
│ │ ├── entryability/EntryAbility.ets
│ │ ├── entrybackupability/EntryBackupAbility.ets
│ │ └── pages/Index.ets # 核心动画页面
│ └── resources/
├── build-profile.json5
├── oh-package.json5
├── hvigorfile.ts
└── hvigor/hvigor-config.json5
几个关键配置点顺手就写对了:compileSdkVersion 23 对应 OpenHarmony 6.1,runtimeOS 设为 OpenHarmony(和手机上的 HarmonyOS 区分开),设备类型里还特意用了 default + tablet,因为这一版 SDK 已经没有 phone 定义了。这种细节,老手才知道坑在哪。
三、80 颗星星怎么动起来的?核心是我「不用管」
动画这块,AI 选了 Canvas + setInterval 而不是声明式 UI 刷新。为什么?因为 80 颗星星逐帧运动,如果用组件数组驱动,每帧都在重建 UI 树,手机平板都扛不住;直接往画布上画像素,帧率才稳。
每颗星星都有独立的运动参数,初始化时随机分配角度和速度,于是就向四面八方辐射开:
class StarInfo { angle: number = 0; // 辐射方向(弧度) distance: number = 0; // 距中心距离 speed: number = 0; // 径向速度 (px/s) size: number = 0; // 字号大小 color: string = ''; // 颜色 opacity: number = 1; // 透明度 }
动画循环每 50 毫秒(约 20fps)走一帧:清屏、更新每颗星的位置、越远越淡、用 fillText('★') 画出来、飞出屏幕的回中心重发。中间那个可拖的锚点,是两层圆画的,手指判定范围放宽到可视半径 3 倍,点起来不费劲。
💡 拖动交互靠 Canvas 的 onTouch 事件实现,Down 时判定是否点中锚点,Move 时实时更新中心坐标,下一帧星星就从新位置重新辐射,手感很跟手。
四、真机跑起来,才是重头戏
代码写完了,得看真机表现。而我这次用的这台设备,说实话有点超出预期。
它是一台千元价位的开源鸿蒙平板。原本我对千元档还能原生跑 OpenHarmony 开发是将信将疑的,结果从新建工程、编译到动画满帧运行,全程没掉过链子。80 颗星星持续辐射、手指拖锚点跟手,在这块屏幕上流畅得像在玩原生 App。
说句掏心窝的话,在千元这个价位段,能原生支持 OpenHarmony 开发、把性价比拉到这种程度的开源平板(志鸿Pad),目前我上手过的里面,它确实是性价比最高的一台。入门鸿蒙开发,不用上来就砸大钱买设备,这台就够你折腾很久了。
▲ 志鸿pad 真机实拍:80 颗星星满帧辐射,拖动锚点跟手
五、踩坑?AI 顺手给我修了
过程中也翻了几个车,但基本都是 DevEco Code 自己诊断、自己修:
• deviceTypes 报错:把 ["phone","tablet"] 改成 ["default","tablet"] 即可;• 媒体资源缺失:模板工程的 media 目录没拷全,补一次 Copy-Item 解决;• Java 运行时缺失:HAP 打包依赖 Java,指一下 DevEco Studio 自带的 JBR 就行;• 真机安装报无签名:在 DevEco Studio 里自动生成签名即可。
顺带一提,DevEco Code 内置的 arkts_check 能在全量构建前先扫一遍严格模式违规,本项目的 Index.ets 一次性零错误通过。这种先体检再动工的思路,对新手特别友好。
六、说点实在的
整个流程走下来,开发者真正动嘴的只有两句话,剩下的目录创建、配置编写、动画算法、排错修复,全交给 DevEco Code 了。这哪是偷懒,等于把 OpenHarmony 开发的门槛,从得会写降到了会说。
如果你也想低成本入坑 OpenHarmony 开发、少走弯路,我真心建议先搞一台能原生跑鸿蒙的平板练手。目前千元级开源鸿蒙平板里,这台是我用过性价比最高的一台。预算有限的学生党和爱好者,闭眼入不亏。
🔗 完整视频演示:https://www.bilibili.com/video/BV1mWub6QExY
💬 想拿项目源码,或者想了解志鸿Pad,评论区聊聊,或者后台告诉我。
· 用最少的钱,玩最野的鸿蒙 ·