目前 WindowsMaocOS 使用同一套代码实现,以后维护就方便很多。目前桌面端收录组件已经同步到 306 个。大家在FlutterUnit 的 GitHub 主页根据相关链接下载体验。目前 FlutterUnit 的重心仍在 移动端,所以桌面端更新的频率不会太高,但当做词典还是绰绰有余的。

可能很多人会疑惑,为什么我会这么执着于 FlutterUnit 开源项目呢,睡觉它不香吗?从维护一个开源项目中可以获得很多成长,也可以为自己圈出一席之地,其实总的看来我并没有什么太能拿得出手的东西。我一直把FlutterUnit 作为我的第一张名片,可谓荣辱与共。其次,作为一个完美主义者,没有全图鉴是一件让人纠结的事。所以 Widget 对我而言就要一张张待收集的功能各异的 卡片。也许这对于很 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源 多人而言并不重要,只要了解常用的 Widget 就行了。确实是这样,就像你没有必要背下整个字典,但有字典在那里,你就会很安心。还有一个目的:为 Flutter 的传播做出力所能及的事


二、2020 年的两部心血之作

1. 《Flutter 之旅》

这本书可以说写得非常艰辛,在写这本书的过程中,让我对 Flutter 有了一个全面的认知。那是 2019 年的 6月份,机械工业出版社 的一个编辑联系我有没有兴趣写一本 Flutter 相关的书籍。这对于我来说是一个莫大的机遇。当时市面上关于 Flutter 书也就只有一本,而且是介绍地非常浅显的那种。当时很多人对 Flutter 的认知是非常片面的,我想我可以将 Flutter 讲解得更深一些,更全面一些,另外我喜欢看源码,可以用一章来讲述一下 Flutter 框架的渲染机制。所以我没有犹豫,直接答应了。

由于 Flutter 是一个 UI 框架,所以一开始就决定是彩板了。不过一开始打算写的是一个 主角在 Flutter 世界冒险的故事,有一定的人物、剧情、对话、场景。主要是设定了一个世界,主角 捷特 到新发现的 Flutter 洞穴 探险的故事,主角运用自己曾经的知识,从未知逐步认识Flutter 世界 。在这里组件都被拟人化,每个组件都是一个人物,触发剧情,顺别讲解知识。大概写了半年,400 多页。但是

这个方案没有被通过,其一:风格太过活跃,掺杂着很多情节对话,背景介绍,而导致知识要点不明,对出版物而言并不适合。其二:无关要素过多,导 Android开源项目《ali1024.coding.net/public/P7/Android/git》 致页码过多,彩板印刷成本问题。
后面我自己看,也感觉花里胡哨的 ,也许有人会喜欢这样,但更可能会反感,知识没介绍好,剧情也不咋地。再加上半年间对 Flutter 有了更深的认识,对前面写的有些不太满意。在某个中午,当机立断,改!

就在那天,我慷慨激昂地重写前言时,我的 Mac 本硬盘坏了。然后在从写的那份慷慨激昂就完全消失在这个世界上了。不过好在我的备份意识良好,重要的东西都备份在云上。当时的感觉就是 : 这暗示着一个新的开始,这本书也将迎来它新的生命。于是花了半个月,取其精华,去其糟粕。将这门书从拙劣的顽石中解放出来。这本书最后被砍到 274页,我也是舍弃了一些不太重要的内容。对应 安装软件、环境介绍Flutter 的网文 我不愿在书里写,很浪费空间。本书只在意 Flutter 本身的用法和内容,次相关的东西由 FlutterUnit 承担。


2. 《Flutter 之旅》与 FlutterUnit 的关系

FlutterUnit 是在《Flutter 之旅》之前进行的,但进展非常缓慢,当时只是想要 用魔法打败魔法,用Flutter 演示 Flutter。但当时对 Flutter 的认识并那么不深刻,FlutterUnit 也是自己的一个 demo,没有开源。但经过 《Flutter 之旅》的创作历程,让我对 Flutter 有了更全面的认识,这也在很大程度上催化了 FlutterUnit 开源的进程。由于我要写书,所以我必须对 Flutter 认识更为深刻。就是这种思想,让我对 Flutter 的各个Widget 进行测试,这也是 FlutterUnit 最原始的一批素材。

由于书的内容有限,不可能将所有的 Widget 一一介绍,所以在书中只能介绍一些常用 Widget,并将认识 Widget 的方法告诉读者。这点一直是我的心结,然后通过 FlutterUnit 来弥补这一缺憾。但就 FlutterUnit 而言,它是我的个人开源行为,是对任何人开放的,只是顺便作为 《Flutter 之旅》 的补充。FlutterUnit 的目标是星辰大海,它终将成为一个完整而成熟的软件,为 Flutter 爱好者而服务。


3. 写《Flutter 之旅》的困难和收获

《Flutter 之旅》 一开始基于 v1.7.8 写的,随着写的过程 Flutter SDK 逐渐更新 v1.9.1,最终写完时是 v1.9.1+hotfix.6,在校对过程中 v1.12.13 版发布,这次个版本的改动比较大,源码也有一定的变化,Android 端的插件代码实现变了很多。由于书中章节涉及了 Flutter源码的分析Flutter 平台插件实现 的内容。所以我想要更新到 v1.12.13,这样就会比较麻烦编辑人员,但最终还是改了,最终出版是基于的版本是 v1.12.13+hotfix.8 ,我将书中所有的源码在 1.12.13版本中跑了一边。出版前几周 1.17 发布,对于路由栈返回时取消了 State#build 方法回调。这时书也就基本定型了,编辑的意思是:没有什么是完美无缺的,追求完美是无止境的,一年后你再看,仍会发现有很多不足。只要自己觉得对得起现在就行了。就这样版本保留在 v1.12.13+hotfix.8 ,并在相关处加了一句解释注释。

为了写这本书,我调试了 n 次 Flutter 框架层的逻辑,带着各种各样的问题去探索 Flutter 的渲染机制。Flutter 中有哪些树,成树的逻辑是怎样的,各种树的根节点是什么,什么时候初始化的,它们之间存在什么关系,State 是什么,它到底是干嘛的。于是 Widget、Element、RenderObject 层层的面纱就被逐渐解开,我眼中的 Flutter 又是另一个不同的世界了。通过写这本书,我完成了对 Flutter 认知的升华,也为之后的事打下了坚实的基础。 这时我才敢说: Flutter ,我入门了
书出版至今快半年了,由于彩板价格比较贵,感觉出版社也没什么宣传,销量确实很差。其实销量什么的我并不是很在意,写这本书的过程中已经成就了我。如今我对 Flutter 的认知已经更进一步了,由于当时认知的局限,书中有个别地方处理地并不太好,这也是纸质书非常大的局限 无法及时更新。即使如此,本书对于入门的新手而言也足够精彩,也足够认识到一个全面的 Flutter 世界。


4.《Flutter 绘制指南 - 妙笔生花》

这是我的第一本掘金小册,一共 20 节,全面介绍了 Flutter 绘制的知识。现在已经有 1600 人已购,对我来说已经非常满意了,因为这是 Flutter,而且是关于绘制的内容。这里就不絮叨这本小册的内容了,介绍文可见[《【 Flutter 绘制指南 】那个男人带着小册来了》](()。这里来说说幕后和花絮。

其实本来是打算在专栏里写一个免费的绘制系列的。但是发现 V5 就可以自己创建小册了,绘制的体系也刚好放在一个小册里,这样就不必在每篇文章开始加一批的链接,成册起来也比较完整和系统。而且写一本小册也算是我在掘金的夙愿吧。那时应该是2、3月份,比较看得起自己吧,打算在 3 月 28 号 写完,以 3.28 的价格发布,总结出我最擅长的领域,作为我的生日礼物,堪称完美。没想到写了几篇之后就打脸了,感觉自己对 Flutter 绘制的认知还是存在局限性,有个瓶颈困扰我很久。再加上那段时间工作比较忙,自然以工作为重,这个小册就搁浅了,知道后来很长一段时间,我忘记了这本小册的存在…

1 2 3

然后业余时间 基本上是改《Flutter 之旅》的错误和维护 FlutterUnit 项目所占用,工作是双休,所以有很多时间来研究些东西,期间经历一段情感的波折和堕落期,最后再说。然后工作上刚好有个需要绘制的需求, 这便是如鱼得水,东风来之,继续写小册的时间不到半个月。本来打算慢慢写的,预计两个月之内完成,但是感觉来了,就刹不住了。通过阅读 Flutter 源码中绘制的代码,解决了我曾经很多的疑惑,也让我发现曾经的画法是有问题的,突破瓶颈后,更坚定我写这本小册的信心。这本小册也是对我自己的一个交代吧,我进入掘金因 Android 的绘制 而开始,这是给自己的一个满意的答卷。小册最方便的地方在于它修改起来很方便,错误可以被及时更正,有补充内容可以随时添加,而且可以放 gif,比实体书灵活很多。


三、编程技术交流圣地[-Flutter群-]

首先,感谢群里的伙伴对我 任性 的容忍。周三英文日的群规,已经从五月份维持到了现在,我觉得挺不容易的。我在群里给人的感觉就是严厉,我创建这个群的目的在于分享和探讨 Flutter 相关知识,而非答疑群。经过一年的观察,很多人还是一有问题就问怎么办,救救孩子吧,有的很浅显的问题,搜一搜完全就能解决,然后就会被我怼。我也知道这对一些刚接触的人不是很友好,但是群必须有群规,不然什么都拿来问,群就失去了意义。

周三 图文直播 被压迫人们的反抗

我比较认可的是在问问题前,提问的人能够很好地将自己的问题表述完整。并附加自己对问题的见解和为解决这个问题作出了哪些尝试,提供一个可运行的 main.dart 文件给出代码。这才算讨论和交流,这样的提问才有价值,而非只是你问,让我答。这样除了让我变得更强(暗指秃头)之外,对你没有什么成长。除了个别几个铁粉偶尔分享简介外,大家一直无视我的苦心。点名感谢 Alex 本群唯一认证喷子 对群中答疑做出的贡献。另外,偶尔也会在群里做一些源码解读的 图文直播,感觉纯属自嗨,群成员参与度极低,不过也算群的特色之一吧,发现什么小要点,我也会在群里分享一下。

另外,在哔哩哔哩我有直播间,名字叫 源码之间。不过就播过三次,主要就是带群友看看组件的源码。不过写文章我很在行,但是说起话来,实在不行,即使只是声音,也感觉很害羞,没有即兴表演的天赋。后面有时间,我还是也会开些直播锻炼一下我的嘴。你也可以在 哔哩哔哩 听一下我的朗诵,说是想要留下最美年华时的声音,但是事情一多,次要的事情就会被搁浅,哎~


四、我的成长

1. 工作中的成长

写书也好,写文章也好,通读 Flutter 框架也罢,这些都是理论上的成长,虽然这些也非常重要。但是工作中的成长对我来说是最宝贵的也是最亟需的。2019 年末,我开始负责一个 Flutter 桌面项目的开发,可以说我是比较早的接触 Flutter 桌面的一批了。一年的时间,见证了 Flutter 桌面的一步步发展,项目也逐渐地完善,不过离完成还有一定的差距,但绝对已经超出你们如今对 Flutter 桌面支持的认知。由于工作的实际经验加上写作的理论经验,让我对 Flutter 有了更深的认识,这些经验对我来说是及其宝贵的。在后面我将继续探索 Flutter 的使用,会更加注重性能方面,也会持续输出一下干货的文章。


2.我的生活

写在最后

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

【Android核心高级技术PDF文档,BAT大厂面试真题解析】

【算法合集】

【延伸Android必备知识点】

[外链图片转存中…(img-1km6cQvQ-1650452299209)]

【延伸Android必备知识点】

[外链图片转存中…(img-d4c5CLai-1650452299210)]

给 2020 一份答卷 _ 掘金年度征文相关推荐

  1. 朱晔的互联网架构实践心得S2E1:业务代码究竟难不难写? | 掘金年度征文

    注意,这是我的架构实践心得的第二季的系列文章,第一季有10篇你也可以回顾. 最近我一直在思考几个问题: 业务代码究竟难不难写? 一直开发业务代码是不是完全学不到东西? 5年+开发经验的老程序员的价值在 ...

  2. 一个Android开发的2018年 | 掘金年度征文

    2018年就要过去了,感觉今年对自己来说变化比较大,翻了翻自己的git记录,在这零散记录一下 工作 1月 年初一月份的时候还在有赞做webview加速的方案.业余还翻了翻 webview 初始化的源码 ...

  3. 因泡妞入坑前端的年度总结 | 掘金年度征文

    前言 自学了那么长一段时间,还是得正正经经的写一篇总结文章的,一呢是为了跟风,二呢是为了拿掘金小册的6折券 (是很真实了...),大家拿起小板凳,坐好,接下来我要开始吹牛了~ 从何说起 怎么说呢,先自 ...

  4. 2019新展望| 掘金年度征文

    2018立下的Flag? 工作 除了日常开发需求,在以下几方面有了新的实践和突破: APM,参与组内的性能监控组件的开发,并取得一定成效,挖出一些项目陈年老bug,并对一些项目的性能优化起到一定建议作 ...

  5. 2019: 我们的征途是星辰大海! | 掘金年度征文

    再见2018 回顾一下自己的2018, 大概就干了下面几件事吧: 博客 不是很多, 只有4篇, 都是自己工作中遇到的技术点,  所以就总结了下. <Block的使用> <事件传递和响 ...

  6. 阿韦的2018年总结:我终于要出书了 | 掘金年度征文

    大家好,我是阿韦,去年开始入驻掘金平台,在这里感觉到一股强烈的技术氛围,也学到了不少干货.跟各位大佬相比,我在掘金平台算是萌新了.掘金平台质量不错.首先感谢掘金平台,在这里发布博客能够吸引众多志同道合 ...

  7. 2018: 穿山甲到底说了什么? | 掘金年度征文

    "不要吹灭你的灵感和你的想象力; 不要成为你的模型的奴隶." --文森特・梵高 一些文不对题的话 过去的这一年,还是有很多的心愿没有达成,我总是期待着在新的一年里做点什么,然后开始 ...

  8. 一个平凡但不平庸的程序猿2018个人总结 | 掘金年度征文

    前言 又到了一年一度的年终总结了,相信大家估计也开始写总结,本人也不例外.在公司中写完模板化的总结之后,自己还是写了一个给自己的总结.本篇总结主要是讲述去年所定下目标的完成情况和人生感悟以及明年的目标 ...

  9. 一个半路出家的前端工程师的2018 | 掘金年度征文

    自我介绍 国际惯例先自我介绍.我叫煤球,毕业于西安北雷村男子技术学院,当时在学校的时候也是浑浑噩噩的过来了,2015年毕业之后在一个国企工作,一直从事方案策划类的工作,由于是在不喜欢这种文案类的工作, ...

最新文章

  1. 电子商店——图片轮播
  2. 懂你,从选择内裤开始
  3. python下载软件-python下载工具
  4. DirectX 开发环境配置
  5. 全球农业资源利用与粮食安全研讨会 国际农民丰收节贸易会
  6. PHP连接达梦数据库
  7. 本地方法(JNI)——访问域+字符串参数
  8. 我的一个树莓派小车项目
  9. Spring Data JPA 从入门到精通~Naming命名策略详解及其实践
  10. Spring Boot中使用模板引擎引用资源
  11. linux中启动 java -jar 后台运行程序
  12. 造谣无下限!众泰汽车被“破产”,官方声明:子虚乌有 已报案
  13. ReactNative之Flex布局总结
  14. 滑轮滚动到页面底部ajax加载数据的实例
  15. 每天工作16个小时,如果辞职,会不会显得自己没责任心呢?
  16. 手册-网站-仙客传奇团队博客
  17. 第六届蓝桥杯:三羊献瑞
  18. Excel如何批量快速从复杂文本中提取汉字
  19. matlab将z域变为s域,时域、S域、Z域转换
  20. 习题2_2、韩信点兵

热门文章

  1. 独孤思维:两天出5单,净利润300+
  2. RNAseq理论基础
  3. 聊聊 PC 端自动化最佳方案 - WinAppDriver
  4. 熊孩子天价打赏女直播,直播平台该如何应对?
  5. 产业园招商拓客的10个经典方法
  6. 人工智能实战:识别分类货船与游轮
  7. 会声会影点击无任何反应问题
  8. 智能门锁:触控原理概述
  9. bluestacks android 文件夹,BlueStacks怎么添加APK文件?蓝叠安卓模拟器安装apk图文教程...
  10. Android mob集成 微信分享失败