【HarmonyOS 鸿蒙Next开发小白通过读官方文档成就大神之路】

【HarmonyOS 鸿蒙Next开发小白通过读官方文档成就大神之路】 相信不少同学是从其它开发环境转向鸿蒙的,如果之前做JS前端的可能语言转换痛苦要少些,但安卓开发转鸿蒙也不算太难;语言的语法相似度也挺高的。

个人从去年底开始接触鸿蒙开发,经过研究暂时抛开旧版API直接进军API9,ArkTS+Stage模型开发,毕竟看着这是赌未来:)

虽然也看到市面上有几本鸿蒙开发的书,但发现官网的入门和各种资料也不少,就省了这钱直接看文档学习了。

打开鸿蒙开发者官网,一开始眼花缭乱,这个要看东西太多了吧;生态包含的内容真让人看花了眼,不说什么ArkTS语言,EcoDev Studio使用,开发指南,API参考,还有一堆什么HMS Core,编译器,云分发,元服务,一下子发现脑子不好使了:)

经过一段时间的反复搜索,放下那颗躁动的心,回归HOS应用开发,也算有了一点看文档的经验,虽然不是什么神级攻略,但希望对新人有帮助,少走点弯路吧。

【一、小白需要了解的基本内容】

  • 工具:DevEco Studio 安装,SDK下载更新;这个是基础;要搞HOS开发必备神器,不用多说,HOS 3.1/4.0 指南中有使用指南如下:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/devecostudio_userguide-0000001054619202-V2

需要经常回顾的文档,毕竟利其器为善其事的基础;写代码、编译、调试、连接模拟器或真机,测试,命令行等都在这儿。

  • ArkTS扫盲:这是 JS > TS > ArkTS 的语言家族,后者为前者的超集;HOS开发文档中只涵盖了ArkTS的语言讲解,至于JS和TS(JavaScript, TypeScript)就得自己去找资源了;不过有几个地方可供小白学习:

》JS已被W3C作为标准语言之一,有教程网站:https://www.w3cschool.cn/javascript/

有官方文档:https://www.w3cschool.cn/javascript/dict,内容太丰富,作为语言参考

有宝典书籍:https://www.w3cschool.cn/attachments/apifiles/JSB6RefBooklet.pdf

另:建议网上找个.chm格式的书籍:《JavaScript: The Definitive Guide, 5th Edition》 用于日常语法或函数查询用

》TS是微软基于JS搞出来的,有个TS培训网站:https://learn.microsoft.com/zh-cn/training/modules/typescript-get-started/1-introduction

有手册:https://www.typescriptlang.org/docs/handbook/typescript-from-scratch.html

有在线语法测试、运行和转换成JS代码的工具网站:https://www.typescriptlang.org/play

书籍嘛,网上搜索TypeScript能找到一些。

》ArkTS:看官方文档基本够用了,内容不算多,剩下的需要大量测试深入理解每个具体语法的使用场景和限制等:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-basics-0000001454809260-V2

在转型之际,个人有些小见解,有关ArkTS开发在同步与异步上与其它开发语言思维方式转换的,写了个帖子,有兴趣新手可看看:

https://developer.huawei.com/consumer/cn/forum/topic/0201148145311180335?fid=0101587866109860105

【二、官方文档简介(针对开发为目标)】 注:此为鸿蒙 API 9的文档,后续有新版本API文档链接补充

总体上,最重要的两类文档:【指南】和【API参考】,前者是给出实现各种功能的思路、步骤和简单示例;后者提供完整的API接口说明,列出所有可用的导入包、对象、及相关方法接口;地址如下:

《指南》:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/1_1_u5feb_u901f_u5165_u95e8-0000001478340845-V2

《API参考》:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/syscap-0000001408089368-V2

  • 指南使用方法介绍:指南是查找实现某种功能首要浏览的文档,网页左侧有导航,内容大体分为:

> 入门:在此学习第一个ArkTS应用、开发基础知识,及ArkTS语言学习

> 开发:详细的开发功能分类介绍,如UI界面、网络、加密解密、数据库、文件访问、后台任务等等;在左边栏自己选吧;上面搜索框可快速定位功能文档位置;

> 工具:即前面所述IDE的文档,及 DevEco Service 使用指南;

> 示例教程:学习资源好去处;有样板应用、视频教程(考证同学需关注:)

  • API参考使用介绍:若是关注在ArkTS开发,则主要以下两部分即可:(同样在网页左边栏中)

> ArkTS接口参考:和上面指南的开发部分基本一一对应,所以用的时候可开两个窗口对照看,能快速帮助知其然与所以然;

> 组件参考(基于ArkTS声明式开发范式):UI构建必备常用参考,了解每个组件的参数细节与限制;

初始阶段:把其中的三个模块浏览一下:把常用的搞熟悉了,其它的知道有就行,需要时回头来看

《组件通用信息》——所有组件都会用到的属性、事件、手势有哪些,以及如何调用,带有示例;UI开发必须玩透;

《基础组件》——非容器类组件集合,按钮,文本框,输入框、下拉框、单选/复选、滚动条、加载进度条等等

《容器组件》——Flex, Column, Row, Grid, List, Stack等,和安卓有些近似,有些将三方UI功能标准化了;

中级阶段:学习《媒体组件》、《绘制组件》(很方便)、《画面组件》(搞游戏的要关注)、《动画》(玩UI效果的必备)、《全局UI方法》(弹窗和菜单)

剩下的是要了解的UI基础知识:组件生命周期、应用状态管理、像素单位、UI属性中用到的枚举和对象类型

另外,在上述文档页面上的顶部有一些其它的文档内容,如设计、分发、推广变现、生态合作之类的,可以浏览了解一下,对开发有辅助作用,产品经理/项目经理、UI设计师等会更加需要;顶部API参考右侧还有《示例代码》会按照指南中开发部分的功能分类可筛选相关的示例应用,要从gitee.com代码托管网站下载;《FAQ》有空也可浏览一下,提前帮助避坑,毕竟API还在完善中,问题还是有些的。

【三、边干边学】

编程是个技术活,但还是个活,得多干才能精通;光看文档根本记不住:)下面对学和干分别分享一下个人经验和资源来源:

》干1:第一个项目/应用:前面介绍了,在指南文档头部第一个就是它;新手练手必备:)感受ArkTS开发UI的清新风格,了解页面跳转的简单方法;最重要是体验用IDE经历代码>编译>安装>运行的整个流程;必须安装调试好IDE,配置好模拟器或连上真机(这个可能有不少坑,看个人电脑配置和运气:),然后流畅走完首发Hello World。

》学1:看完指南中《开发基础知识》和《学习ArkTS语言》部分;大体有个印象就可,能记住当然最好;如果对JS、TS完全没有基础者有两条路:

1、有Java,C/C++等类C语法语言基础的,不用花太多时间学习JS/TS,但要准备好相关参考资源,上面列出的网站和书籍基本够用;编代码时语法模仿各种示例即可很快适应ArkTS/TS/JS的代码风格;有些不太清楚的查查资料和书籍;

2、没有以上基础的,或编程小白,那就去前面所列的培训、学习网站先快速过一遍初级课程吧;有点编程基础的应该很快上手,毕竟JS风格比较自由,语法要求不太严格;至于面向对象编程知识,我的体验是在初级阶段ArkTS里用到的并不多,了解类的基本用法可以封装复杂数据类型和相关方法即可;至于继承、覆盖、重载什么的基本用不上;可能要开发大型项目及有复杂数据和功能的机会时需要考虑;有懂的大神请指教哈:)

》干2:去API参考下的《组件参考》,找到感兴趣的和会常用的组件(包括容器和基础组件),复制其示例代码;对各个属性进行修改尝试,在预览器中查看效果,熟悉各个组件的使用;也可在后续开发中逐个熟悉,看个人偏好;

》学2:大部分应用中都会有的常见基础功能有:

  • 设置项保存、读取、修改:相应可用的API功能有——Preference, 键值对数据库、关系型数据库;文档在《指南 > 开发 > 数据管理》,《API参考 > ArkTS接口参考 > 数据管理》;

  • 应用数据读写:可用API功能有——文件访问,数据库,文档部分同上,其余在《指南 > 开发 > 文件管理》;API参考路径相似如上;

  • 网络访问:以HTTP连接占主流,与后台PHP等服务器应用配套,其它WebSocket及Socket连接也有不少用途,文档在《指南 > 开发 > 网络与连接》,API参考文档对应

  • 安全类-用户认证,密钥管理,对称和非对称加解密,证书管理等;在《指南 > 开发 > 安全》,API参考文档对应;

  • 其它特定应用需要的功能:如网页浏览器窗口、多媒体处理(音视频、图片);电话服务;后台任务等可到相应文档中查询、学习;

  • ArkTS语言基础类库:提供并发、支持各种数据结构的容器类库 及 XML结构数据解析转换功能;需要的可去了解;

  • 需要硬件控制的,如各种传感器、位置服务、振动马达、USB等开发的内容在《指南 > 开发 > 设备》,API参考文档对应;

》干3:去指南网页找到示例代码下的《Codelabs》及网页顶部《示例代码》中下载感兴趣的应用和功能示例应用;读懂其代码逻辑和核心功能的实现方法;编译运行并进行部分修改定制。也可边干自己的应用,边在需要时到两处找找类似示例来借鉴代码。

不过要注意的是:示例代码不全是API9+Stage模型开发示例,其中有不少是旧版API和FA模型开发的,要小心区分并借鉴。


更多关于【HarmonyOS 鸿蒙Next开发小白通过读官方文档成就大神之路】的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

好贴,顶起来

更多关于【HarmonyOS 鸿蒙Next开发小白通过读官方文档成就大神之路】的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


补充一下最新API 12 Beta 的文档:

指南

API 参考

另外为新入鸿蒙 NEXT 开发的小伙伴准备了一个起步开发环境指南:

https://developer.huawei.com/consumer/cn/forum/topic/0210154815108691113?fid=0109140870620153026

好厉害的攻略

最新在线资源:(快速学习JS/TS基础知识点)

  1. JS Quick Reference: https://quickref.me/zh-CN/docs/javascript.html

  2. TS Quick Reference: https://quickref.me/zh-CN/docs/typescript.html

相当用心了!👍

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

补充一下:

除了HarmonyOS官方文档,还有一个OpenHarmony开发文档如下:

https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/application-dev-guide.md

在DevEco Studio里开发项目有两个SDK选择,一个是HarmonyOS, 一个是OpenHarmony,两者近似却有差异;前者为华为设备用的定制版,后者是开源共享,是前者的基础;文档内容也大体接近,具体不同之处尚未研究过,不过在版本命名上似乎不太统一;具体两种SDK开发的区别可在论坛里找找。

在HarmonyOS鸿蒙Next的开发旅程中,作为小白想要成为大神,深入研读官方文档是至关重要的一步。HarmonyOS的官方文档为开发者提供了详尽、系统的学习资源,涵盖了从基础入门到高级进阶的各个方面。

首先,官方文档会介绍HarmonyOS的架构设计、核心组件、开发环境搭建等基础内容,帮助小白快速上手。通过逐步学习这些基础知识,开发者可以建立起对HarmonyOS的整体认知。

其次,文档还会深入讲解各种API的使用、UI界面的设计、数据处理与存储等关键技能,这些都是成为大神不可或缺的能力。在学习过程中,建议结合官方提供的示例代码进行实践,以加深对知识点的理解。

此外,官方文档还会不断更新,以反映HarmonyOS的最新特性和技术动态。因此,持续关注官方文档,可以帮助开发者保持技术的前沿性。

总之,通过认真研读HarmonyOS的官方文档,并结合实践不断积累经验,小白完全有可能在鸿蒙Next的开发领域取得显著进步,最终成为大神。如果问题依旧没法解决请联系官网客服,官网地址是https://www.itying.com/category-93-b0.html

回到顶部