这有一份详尽的HarmonyOS入门攻略
《书友会》 采用线上直播的形式,以鸿蒙生态中已发布的书籍为起点向外发散,不关注具体的技术问题,旨在为开发者提供学习指引和具体方法,帮助开发者避坑,快速理解鸿蒙技术路线发展和规划,将时间投入到更有效率的学习中去。
3 月 15 日,我们邀请了徐礼文老师作客鸿蒙技术社区视频号《书友会》直播栏目,为大家分享了 HarmonyOS 初学者的学习小技巧,本文为直播回顾,希望对鸿蒙初学者们有所帮助。
学习过程中有什么学习技巧?
我认为最好的学习方式,无论是开发框架也好、应用开发也好,项目驱动开发是最好的学习方式。
所以,我即将出版的书籍《HarmonyOS应用开发实战Javascript版》就是以项目驱动的方式来组织内容的,书中包含了几十个案例,初学者可以跟随着这些案例从零基础到实战,将开发技能内化。
开发者证明自身能力有两个方式:一个是自己过往开发过的项目和代码,另外一个就是通过各种技能考试后颁发的证书。
从真正掌握某项技能来看,为应对证书考试而学习的知识并不能解决项目开发上的实际问题,开发项目并不会考察你具体的知识点。而通过亲手码出某个项目能够让你快速、牢靠地掌握技能和知识点。
你看书学习知识点一天就可以掌握,但是你开发一个项目可能一个月才能做出来,做出来之后,你对这些技术点的掌握的程度更深刻。
举个简单例子,当我学习了部分 UI、组件以后,我要立马去实践,在一个页面中码上各式各样的按钮,尝试调整不同的配置参数。
这样你就会掌握一些技巧,知道一些组件的坑,这些是无法通过任何书籍和视频掌握的。
大家都知道鸿蒙的三大 Ability,一个负责页面,一个负责服务,一个负责数据。
你在书本上将这些知识点学习完后,可以尝试去做一个整体的项目。譬如我之前在 51CTO OpenHarmony 技术社区发布的一个实战项目:分布式点餐系统。
你需要这三大 Ability 灵活配合来满足这个场景下的功能开发,一旦这个场景你成功开发出来了,其他场景也就通了。
学习过程中会遇到哪些难点?
开发者遇到的问题主要是有这么三类,一类是入门阶段会碰到的一些常见问题;一类是你入门之后,在实现业务时会碰到一些业务实现的技术难点;还有一类是在解决业务问题之后,在领域内的应用问题。
难点不一样,解决问题的方式有很大不同。
①使劲折腾
入门阶段的开发者遇到的问题通常是:怎么打不开?怎么调试不出来?怎么报了一个错?这个问题是 BUG 么?这个问题到底怎么去解决?
这类型的问题主要还是开发经验太少,需要做的是不停地调试,不停地胡搞乱搞,直到把 IDE 搞到崩溃。能把 IDE 搞崩溃,就说明你的学习强度是足够的,折腾就完了!
②使用对比学习法
鸿蒙开发是重新造轮子,所以在选择开发语言上使用了比较流行的 JS 和 Java。
如果你有安卓或者 iOS 开发经验,你可以通过对比来看看在这两个领域这个问题是如何解决的,是否有类似的解决方案。这个方法也会解决很多业务上的问题。
③多看开发者文档
官方的开发者文档是第一手的学习资料,很多书籍和教学视频都是以开发者文档作为基础来组织知识点的。
虽然,目前的开发者文档并不清晰明了,且浅显,但仍然是初学者重要的参考资料,辅以技术书籍和教程视频的帮助才可事半功倍。
④多混社区
目前华为开发者联盟和 51CTO OpenHarmony 技术社区是开发者聚集的地方。
当你遇到问题的时候,你可以去社区搜索和提问,效率要比在百度搜索高很多。因为鸿蒙是一个新领域,搜索引擎的收录还没有跟上。
⑤对业务领域要理解透彻
鸿蒙很多应用场景尚待完善,无论是官方和三方社区都找不到解决方案。但如果你对业务理解透彻,就可以通过对比法解决这一部分的问题,否则就无从下手。
初学者学习误区
上一期《书友会》董昱老师已经讲了一部分,我了解到的误区有四个,很大家分享一下。
①要避免被动学习,提高积极性
不管你是面向对象编程,还是面向薪资编程,被动的学习在面对真正的考验时只有 60 分、70 分、80 分这三个选项,得分不会更多。
鸿蒙是一个新东西,它的东西在变动,需要时不时地用不同的项目来驱动学习,否则哪些是新加入的东西你完全不知道。这一点很重要。
②从熟悉的方向入手,实在没有方向就从 JS 入手,不要挑战陌生的领域
从熟悉的领域入手能够降低入门的门槛,如果一点基础没有,JS 也是一个很好的选择,它的门槛很低。而且 JS 现在在语言排行榜上基本排行第三,也是华为主推的一个方向。
③鸿蒙开发和安卓开发的话是有差异的
根本原因是它们的底座不一样,安卓和 iOS 开发都是适配单个设备,而鸿蒙往往是一套代码多端部署,是跨平台的。
④欲速则不达
无论你是从零开始,还是说有一些语言基础,或者说有丰富开发经验,鸿蒙于你都是一个新东西,你需要一步步地去了解,扎扎实实去学习。
明晚八点的《书友会》直播,我们邀请到了李传钊老师为我们带来主题为 《鸿蒙南向开发者指北》 的分享,大家赶紧预约一波!!!
感谢徐老师用心分享,也期待每天的直播
入门很好的指导!!