今年参加了华为开发者大会,大会上分享了不少鸿蒙生态移动开发内容,之前从未了解过鸿蒙移动应用开发,大会过后,自己也抽时间了解一下相关的内容,接下来,我会分享一些自己学到的鸿蒙移动开发相关的内容。
万物互联的时代
人类的进步源于对美好生活的向往和不懈追求。近两年以来,一些新的词汇出现在我们眼前,像物联网、5G、NB-IoT、可穿戴技术等等。这些不断推陈出新的概念也预示着万物互联的时代已经到来,物联网(Internet of Things,IoT)被称为继计算机、互联网和移动通信网络之后的第三次信息革命,可以当作是互联网的延伸和升级。物联网的崛起,也带来新产品设备和服务,GSMA 预测到 2025 年,全球物联网终端连接数量将达 246 亿个,其中消费物联网终端连接数量将达 110 亿个(注:数据来自于全球移动通信系统协会发布的《2020 年移动经济》报告)。IDC 预计到 2025 年,中国物联网总连接量将达到 102.7 亿个(注:数据来自于 IDC 发布的《中国物联网连接规模预测, 2020—2025》报告)。
不管你做好准备没有,物联网的时代已经到来!
鸿蒙生态应用核心三大技术理念
- 一次开发,多端部署
随着万物互联的时代到来,面对新的场景的同时也带来新的挑战,新设备越来越多,开发者不仅需要支持多样化的设备,还需要支持跨设备的协作,如何让差异化的设备之间体验更好都是需要思考的事情,当前移动端应用开发中面对的主要挑战包括:
- 针对不同设备上的不同操作系统,重复开发,维护多套版本。
- 多种语言栈,对人员技能要求高。
- 多种开发框架,不同的编程范式。
- 命令式编程,需关注细节,变更频繁,维护成本高。
鸿蒙系统提出一次开发,多端部署。指的是一套代码,一次开发上架,多端按需部署,这样可以让开发者高效地开发多种终端设备上的应用。
- 可分可合,自由流转
什么叫可分可合?其实就是在开发过程中,我们可以把不同的业务模块拆分成多个模块,开发者可以将这些模块进行自由组合,最终打包成一个app Pack统一上架。在分发运行时,每个HAP 都可以单独分发满足用户单一使用场景,也可以多个 HAP 组合分发满足用户更加复杂的使 用场景。
自由流转带给我们新的开发体验,这是为了解决多个设备之间来回切换的问题,自由流转分为跨端迁移和多端协同两种情况,它们分别是时间上的串行交互和时间上 的并行交互。
- 统一生态,原生智能
统一生态指的是对广泛采用的三方框架提供统一且易用的适配接口,开发者不需要改变第三方框架的代码。
原生智能指的是AI能力原生内置,开发者可以基于简单易用的接口,快速通过AI能力增强应用体验。
鸿蒙为开发者提供了开箱即用的原生AI能力,大大降低了开发智能应用的门槛,我们可以快速的实现智能化
DevEco Studio开发工具
HUAWEI DevEco Studio是开发 HarmonyOS 应用一站式集成开发环境(IDE),而且支持分布式多端开发、分布式多端调测、多端模拟仿真,为开发者提供模板创建、开发、编译、调试、发布等功能。
多端双向预览是非常好的功能,因为在开发阶段,开发者需要在不同的设备上查看界面显示的效果,确保与设计图一致,IDE提供了多种设备双向预览的能力,不仅如此,还支持代码和预览效果的双向定位修改,比如我们需要修改字体的颜色,我们可以在效果预览上定位到该字体,直接修改颜色,此时代码会自动被修改,这也是我非常喜欢的一个功能,带给开发者很大的便利。
鸿蒙生态另一大特点就是分布式调试,我们在开发过程中,同一个应用在多个设备上会有大量的交互。针对这些交互调试时,需要对每个设备进行调试,并且需要在多个设备之间来回进行切换,设备一多,这也是比较繁琐的事情,DevEco Studio 提供了分布式调试功能,支持跨设备调试,通过代码断点和调试堆栈可以方 便地跟踪不同设备之间的交互,用于定位多设备互动场景下的代码缺陷。
有一个耳熟能详的词叫低代码开发,编辑器提供了丰富的UI界面编辑能力,比如说我们可以自由拖拽组件,也可以配置一些参数数据,通过可视化页面开发方式构建布局,减少我们在实际开发过程中页面基础布局,降低了时间成本,提升页面的开发效率,不但如此,它还支持卡片的零代码开发,可以快速预览凶过,所见即所得。
上图就是低代码开发的界面,我们可以看到数字1区域有丰富的控件,我们可以将这些控件拖拽到画布当中实现常用控件添加,在数字5区域可以配置控件样式的参数。
可能有很多小伙伴会说:低代码会不会取代开发者啊等问题,我认为的肯定是不会的,低代码的开发只是用来辅助开发者提升效率的一种手段,帮助我们快速开发一些不是特别复杂的界面,从而可以将更多的时间放到业务逻辑中。
下面这图片是一个产品从开发到到上架的过程,每一个阶段在开发过程中会帮助开发者减少一些重复性的工作。
设计与开发
当我们进行开发的时候,会从设计人员那里拿到一堆设计稿,图片的尺寸是多少,圆角边距是多少等等,而前端开发者就需要用代码的方式将设计稿实现出来
有了DevEco开发工具,我们就可以直接将设计图导入进来变成可视化开发的基础,这样可以帮助我们极大减少开发时间。
自定义组件
我们不仅可以使用已经提供的一些组件,还可以自定义一些组件,并且依然是可复用的,随着开发项目的增多,我们可以不断的去完善自定义组件库,这样将来遇到重复的功能可以直接拖拽了,也无形之中提高了开发效率,效率的提高大部分都来自于重用,解决重用的问题是提高效率的根本。