作为一个开发者,如何更好的学习鸿蒙,持续的跟进鸿蒙相关技术,有什么建议?
一
**朱有鹏老师表示,**鸿蒙的学习是比较系统化的,对于大部分人来说,应该去试图整体的了解鸿蒙,在了解过后再根据自己的职场定位去制作自己个人的发展规划。
在这里朱老师以鸿蒙的系统层开发为例,举出鸿蒙的系统层开发是典型的嵌入式开发,和传统的 Linux 系统开发是非常接近的。
在 Linux 中这一块分为驱动开发和应用开发,驱动开发是指系统级开发,目标是开发 Linux 内核。
当然在 Linux 内核的诸多组件中我们选用的是驱动组件,对于以上述的嵌入式开发,在同样开发鸿蒙驱动中也同样有很多针对于内核开发者和驱动开发者关于移植的需求。
鸿蒙的机会远不止于此,再例如基于 C,C++ 传统的应用开发,基于 JS 语言鸿蒙系统的 SDK API 纯应用层,基于 Java,C++ 对应的传统的安卓 APP 开发等等。
对于上述的所说的需求,我们需要基于自己本身的定位寻找适合自己的机会去做针对性的学习。
一个新的系统爆发肯定会出现一个短暂的人才窗口期,根据历史规律,每过一段时间都会产生新的技术诞生出新的机会。
在之前的安卓,iOS,Linux 驱动开发者们都享受过相对应的红利,所以大家如果能找准方向,结合自己的优势选择性的学习,培养自己的技能,可能是能找到一些个人的提升机会。
二
**李宁老师表示,**鸿蒙的开发可以参考安卓,从大方向两者都分为北向和南向,北向为 APP 开发,南向主要为系统,以及涉及两边的 Framework,Framework一部分为 Java 制作还有一部分为 C 和 C++ 制作,在分类上可以算为中层。
鸿蒙现在分为轻鸿蒙和富鸿蒙,在这个基础下又各有北,中,南三个方向,所以一共 6 个方向,一般选择一个方向学习就可以了。
在方向确定后,肯定是要学习相关的技术,通过相关文档进行学习,如果想快速入门的同学,也可以上 腾讯课堂 来学习相关的课程,书籍和视频。
这些课程是根据官方的文档和相关实战的案例来进行准备的,从而来帮助人们对鸿蒙进行更好的学习。
随后李宁老师也介绍了自己的课程主要分为轻鸿蒙和富鸿蒙,从课程的具体内容将会分为纯 APP 开发,以及和智能硬件结合的开发来进行讲解。
三
**张荣超老师表示,**在学习鸿蒙方面,有些学习者的基础比较薄弱,比如英语不行无法阅读文档等问题,时间长了就会丧失对学习的信心。
为了帮助大家更好的入门以及深入的学习鸿蒙的课程,几位老师老师都会录制相应的课程来帮助大家学习,从而降低学习的成本,让大家在学习完后再去阅读相关的文档和做一些 APP 的开发会感到非常的容易和轻松。
随后张荣超老师谈到自身的方向主要侧重于北向一些应用开发的课程,将会以项目的形式带领大家从零开始手把手把完整的代码敲出来,并对每一行代码进行讲解,同时也会跟随鸿蒙产品的发布节奏来录制相关视频和图书。
四
朱有鹏老师随后指出了鸿蒙系统中的根技术一词,比如 APP 开发就是根的枝叶,而操作系统就是根的根基,没有操作系统,APP 自然就无法使用。
朱老师表示自己的课程为南向,也就是所谓的底层课程,如何在课程中用根技术的思维去做根课程,让课程去培养学习者们的一些根能力。
比如如何学会自己学习,如何去做一些编译器相关的工作,如何去学习操作系统的底层以及组件相关的工作,将会是一个发展方向,同时鸿蒙作为第一个国产的操作系统,肯定会需要这样相关的人才。
鸿蒙朱老师表示,这肯定不是最后一个国产操作系统,因为操作系统的分区是非常明显的。
比如服务器肯定不适合用鸿蒙在上面运行,我们需要其他的操作系统的来对服务器进行支持,而制作这些操作系统就需要大量的开发人员。
所以朱老师表示在后续的课程中能否融入相关的设计和内容,让大家能具备这种开发能力,成为为产业的工程师,将会是朱老师主要的努力方向。
李宁老师也建议大家先从 Linux 操作系统进行研究,先用 Linux 内核和文件系统搭建一个不考虑性能的操作系统,来了解整个 Linux 系统的运作,然后研究 Linux 的代码和鸿蒙的代码,并不太建议直接阅读鸿蒙的源码,以免入门过于困难。
鸿蒙作为一个新技术,肯定有许多我们还不够了解的技术,独自一人摸爬滚打是非常吃力的,而且效率并不高,所以我在这里拿出来我收藏的笔记:点击这里免费下载获取!点击这里免费自取!!
除开这份大牛的鸿蒙学习笔记之外,还有其他大佬绘制的鸿蒙学习路线图,在这里也拿出来给大家:
架构师筑基必备技能
目前Android APP开发主流语言就是Java语言,Java语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用Java语言来进行编写的。
JAVA知识要点:
1、 Java序列化、泛型与反射
2、虚拟机底层原理
3、Android内存原理
4、 Java高级并发原理详解
5、 编译时技术掌握与实战
6、JDK高级动态代理
7、高级数据结构与算法
8、 Java IO操作
9、
。。。。
image
Android R FrameWork源码与UI
在Android中,Framework泛指系统架构层。Framework的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常Framework都会隐藏main函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework具体的工作也就是为android应用开发的开发人员提供了一系列的服务和API的接口。
UI其实并不是单纯指用户看到的效果。因为在Android开发中,每个控件背后都有一套深层次的体系在支撑,自然而然,会UI不单纯指的是会自定义控件,我们还应该知道自定义控件背后的执行流程,包括从Activity的创建,XML的解析,到每个控件的测量、布局、绘制。当然在中间还夹杂着比如动画、事件分发机制、嵌套滑动机制等知识点。还有谷歌提供的一些UI框架也使我们要掌握的对象,比如Jetpack组件库、Material Design等。
知识要点:
1、 FrameWork源码解析(SDK 30)
2、Android常用组件深入解析
3、JetPack全家桶
4、Android R新特性解析
。。。。。
image
大厂内部APP调优方案
性能优化是一个项目必须要经历的过程,你的应用好与坏都是在用户使用的过程中反映出来的,如果性能优化没有做好,对于你的应用来说影响是非常大的。尤其是现在的Android市场竞争非常激烈,如果你的应用体验没有竞品的好,那么用户流失是必然的。
性能优化不是一件简单的事情,每个应用的性能好与坏无法由一个人来决定,因为性能优化的维度有太多了,从我们项目的整体架构,到我们代码的每一个细节,再到应用使用环境的测试,只有步步为营,才能做好一个项目的优化。大部分开发者把性能优化指向与不闪退就行,但是实际上性能优化包含了很多方面,比如从简单的启动优化、 UI优化、 卡顿优化、 崩溃优化、 安全性优化,到深层次的弱网优化、 大图加载优化、 储存优化、 高效传输优化、 极限瘦身优化,再到实际开发过程中的OOM问题原理解析、 ANR问题解析、 Crash监控方案。要想把这些优化流程做好,我们不仅从项目架构、代码规范等方面入手,还用学会利用第三方的检测工具来检测项目性能,最主要是,我们需要一套完整的性能优化方案,这正是我们所缺少的,所以我们必须要把缺少的补上, 打造一套真正的完整的性能优化体系,把性能优化流程化,常态化。
1、 APP基础优化
2、APP深度优化
3、开发焦点问题优化
4、编程效率优化
5、项目实战
抖音在APK包大小资源优化的实践
优酷响应式布局技术全解析
网络优化
手机淘宝双十一性能优化项目揭秘
高德APP全链路源码依赖分析
彻底干掉OOM的实战经验分享
微信Android终端内存优化实践
image
对标腾讯T3.3架构师
Android框架体系架构(高级UI+FrameWork源码) 这块知识是现今使用者最多的,我们称之Android2013~2016年的技术。
题外话
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
[外链图片转存中…(img-XSpZQFed-1715003492319)]
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!