HarmonyOS NEXT开发必备:10个提升效率的ArkTS开发技巧

HarmonyOS NEXT开发必备:10个提升效率的ArkTS开发技巧

前言

随着 HarmonyOS NEXT 正式进入快速发展阶段,越来越多开发者开始接触 ArkTS 开发。

很多刚从 Java、Kotlin、Vue、React 转过来的开发者,经常会遇到这样的问题:

  • 状态更新为什么不生效?
  • @State 和 @Prop 到底有什么区别?
  • 页面数据如何优雅传递?
  • List 为什么会卡顿?
  • 页面销毁后为什么内存没有释放?

本文结合实际项目经验,总结10个高频开发技巧,希望帮助大家快速提升鸿蒙开发效率。


1. 优先使用@Builder封装重复UI

很多新手喜欢复制粘贴代码:

Row() { Image($r('app.media.avatar')) .width(40) .height(40) Text('张三') }

如果项目里出现几十次:

@Builder UserItem(name: string) { Row() { Image($r('app.media.avatar')) .width(40) .height(40) Text(name) .margin({ left: 10 }) } }

调用:

this.UserItem("张三")

优势:

  • 提高复用性
  • 降低维护成本
  • 提升代码可读性

2. List必须配置LazyForEach

错误写法:

ForEach(this.dataList,(item)=>{ ListItem(){ Text(item.name) } })

数据量超过500条时容易卡顿。

推荐:

LazyForEach( this.dataSource, (item) => { ListItem() { Text(item.name) } } )

原因:

LazyForEach采用懒加载机制。

只渲染当前可见区域。

企业项目基本标配。


3. 善用状态管理

很多同学分不清:

@State @Prop @Link @Provide @Consume

记住一个口诀:

页面内部:State 父传子:Prop 双向绑定:Link 跨层传递:Provide + Consume

实际开发中:

80%场景:

@State

15%场景:

@Prop @Link

5%场景:

@Provide @Consume

4. 网络请求统一封装

不要在页面中直接写:

axios.get(...)

推荐:

api/ ├── userApi.ts ├── orderApi.ts ├── goodsApi.ts

例如:

export function getUserInfo() { return request({ url:'/user/info', method:'GET' }) }

页面:

getUserInfo()

优点:

  • 统一维护
  • 方便切换接口
  • 支持统一拦截器

5. 页面参数统一管理

跳转:

router.pushUrl({ url:'pages/Detail', params:{ id:1001 } })

接收:

let params = router.getParams()

推荐建立:

types/router.ts

统一定义参数类型。

避免大型项目参数混乱。


6. 图片资源不要全部放本地

很多项目把所有图片放:

resources

最终导致:

HAP包体积暴涨

推荐:

图标 -> 本地 商品图 -> OSS Banner -> CDN

企业项目基本如此。

启动速度更快。


7. Toast统一封装

不要每个页面都写:

promptAction.showToast({ message:'成功' })

统一:

Toast.show("成功")

后续切换样式无需修改业务代码。


8. 页面离开及时释放资源

例如:

Web组件 视频播放器 地图组件 定时器

页面退出:

aboutToDisappear() { clearInterval(this.timer) }

否则容易:

内存泄漏 页面卡顿 耗电增加

9. 善用TypeScript类型约束

不要:

let user:any

推荐:

interface User { id:number name:string age:number }

使用:

let user:User

好处:

  • 自动提示
  • 编译检查
  • 降低Bug率

10. 建立项目统一目录规范

推荐企业级结构:

src │ ├── pages │ ├── components │ ├── api │ ├── utils │ ├── model │ ├── constants │ ├── common │ ├── router │ └── resources

这样即使项目达到:

100+ 页面 50+ 接口

依然容易维护。


企业项目开发建议

很多开发者刚接触鸿蒙时喜欢:

功能先实现再说

结果:

代码越来越乱 组件越来越难维护 项目越来越难扩展

正确思路应该是:

组件化 模块化 类型化 统一封装 统一规范

这也是目前大部分 HarmonyOS NEXT 企业项目采用的开发模式。


总结

ArkTS 并不难,真正难的是工程化思维。

掌握本文这10个开发技巧后,你会发现:

✅ 页面开发速度更快

✅ 代码结构更清晰

✅ 项目更容易维护

✅ 更接近企业级开发标准

对于刚入门 HarmonyOS NEXT 的开发者来说,与其学习大量零散知识,不如先养成良好的开发习惯。

因为真正拉开开发者差距的,往往不是会不会写页面,而是会不会写一个能长期维护的项目。