注册

安卓开发转做鸿蒙后-开篇

一、为什么转做鸿蒙


本人从事安卓开发已近十年,大部分时间还是在不停的需求迭代,或者一遍遍优化各种轮子,自己的职业生涯已经进入了瓶颈期,同时现有工作也很难让自己产生成就感。正好年初有机会转入鸿蒙开发团队,虽然清楚肯定少不了加班,最终也不一定会有预期中的产出,还是希望自己能有一些新东西的刺激和积累。


二、App鸿蒙化的回顾


本人所在公司差不多算是中厂,C端App日活大概有个几百万,各部门团队大概有30人+,历时半年多的时间,差不多完成了全部功能70%左右。前期主要是个人自学及各种培训、前期调研、App基础库的排期、业务排期、开发上架等几个环节。


1、基础库



  • 网络库
  • 图片库
  • 埋点库
  • 路由库
  • 公共组件
  • 崩溃监控
  • 打包构建

2、业务排期



  • 业务拆分优先级
  • 分期迭代开发测试

三、跟安卓相比的差异性


1、ArkUI和Android布局



  • Android控件习惯于宽高自适应,ArkUI中部分子组件会超过容器组件区域,所以部分组件需要控制宽度
  • Android是命令式UI比较简单直接,ArkUI是声明式,需要重点关注状态管理的合理使用
  • Android列表重复相对简单,ArkUI中List懒加载和组件复用使用比较繁琐
  • Android基于Java可以通过继承抽取一些公共能力,ArkUI组件无法进行继承

2、鸿蒙开发便捷的一面


1、问题的反馈和响应比较及时,华为技术支持比较到位。


2、应用市场对性能要求和各类适配要求比较高,倒逼开发提高自己的开发能力。


3、跟安卓比提供了各种相对完善的组件,避免了开发者需要进行各种封装



  • 路由库
  • 网络库
  • 图片库
  • 扫码
  • 人脸识别
  • picker
  • 统一拖拽
  • 预加载服务
  • 应用接续
  • 智能填充
  • 意图框架
  • AI语音识别

3、鸿蒙开发不便的一面



  • ArkTS文档不够完善,没有从0到1的完整学习流程
  • ArkUI部分组件使用繁琐
  • DevEco-Studio的稳定性需要提升
  • 组件渲染性能需要提升,

四、跨平台方案



  • RN
  • Flutter
  • ArkUI-X

ArkUI-X作为鸿蒙主推的跨平台框架,主要问题是生态的建立和稳定性。所以还是要基于公司基建的完善程度和技术生态进行选择。同时由于鸿蒙的加入,适配3个OS系统的成本提高,公司为降本提效会加快跨平台技术的接入和推进。后续还是需要熟悉跨平台开发的技术。


五、知识体系(待完善)


1、ArkTS应用


1、应用程序包结构(hap、har、hsp)


2、整体架构


3、开发模型


2、ArkTs


1、基本语法


2、方舟字节码


3、容器类库


4、并发


3、ArkUI


1、基本语法


2、声明式UI描述


3、自定义组件


4、装饰器


5、状态管理


6、渲染控制


4、Stage模型


1、应用配置文件


2、应用组件


3、后台任务


4、进程模块


5、线程模型


5、性能优化


1、冷启动


2、响应时延


3、完成时延


4、滑动帧率


5、包大小


作者:村口老王
来源:juejin.cn/post/7409877909999026217

0 个评论

要回复文章请先登录注册