年终岁末会有很多令人兴奋的事情,之一便是坐等各种年终盘点,但我们往往忽略了对自己的盘点。自我复盘,可不是应付他人的作业,而是用心地回顾和思考,它从来都不是一件简单的事情!
今年七月份我写过一篇年中回顾:「电子厂里撂了挑子,我默默自学起了Android|2021 年中总结」。虽说是年中回顾,但超过一半的篇幅讲的是我从事 Android 开发的契机和一路以来的故事。反响超出了预期,很多朋友在博客里留言,和我分享他们类似的经历和当下的状态。
我很欣慰自己的故事能够激起大家的共鸣,这回我想认真盘点下今年的所行、所思,期望也能够唤起你的一点点思考。
先来看个今年的一些数据:
- 写了 30 篇文章: 27 篇技术、1 篇翻译、2 篇随笔,总字数 15 万+
- 公众号、掘金、CSDN 三个平台阅读量 20 万+
- 肝了 8 个开源项目,总代码量 20k
- 做了 3 次演讲:部门、公司、GDG 直播各 1 次
年中那边文章解释过我突然开始写作的原因,就不赘述了。今年写的技术文章主要着眼于 Jetpack、Compose、Android 12 这几个 Android 平台的关键技术。所有的文章就不一一贴了,贴几篇写得极为用心的文章,并附上一些背后的想法。
-
「深度解读 Jetpack 框架的基石-AppCompat」
聚焦在 Jetpack 框架集合里最常见、也最容易被忽视的 AppCompat 框架,详细地阐述了它的作用、构成和原理。期望给大家介绍下这个默默无闻的功臣。这篇文章是今年写的第一篇,也是被 Android 官方转载的第一篇,对于我来说有很特别的意义。
-
「为什么推荐使用 Jetpack CameraX?」
CameraX 框架发布已久,但我的工作内容很少涉及 Camera 功能,便趁着这个框架填补下自己的空白。所以花了很多精力去研究它的各种细节,包括其优势、Camera2 的劣势、已有的文章哪些没讲到位、如何充分覆盖到完整 API、如何美化 DEMO 等等。发布之后收到了很多好评,但也有不足的地方,比如原理未曾提及。
-
「Android 上数据库的新选择,Jetpack Room」
疫情不明朗的缘故过年期间留守南京,边休息、边研究 Room 框架,竟解锁了过年的新模式。为什么是 Room 呢?就是想了解下其相较单纯的 SQLite 到底方便在哪、代码能简化到什么程度。这篇文章倒是提了原理,但还是漏了一个重要方面,就是关联数据表,后面有时间我再完善吧。
-
「Jetpack Compose 助我快速打造电影 App」
Compose 框架多火就不用说了吧,写作的那会儿正值 Compose 的全球挑战赛。便连肝了两礼拜,快速学习了各种 API、声明式编程思想以及与其他 Jetpack 框架的配合,将之前写的 MVP 架构的电影 App 改成了 MVVM 架构的 Compose 版。成品觉得还可以,但就 Compose 技术而言,只涉及到了皮毛,就算是一种入门吧。
-
「Jetpack Hilt 有哪些改善又有哪些限制 」
DI 框架在后端中应用广泛,但在客户端中的使用着实有限。我自己来说,顶多就是在改造 SystemUI 的时候研究过 Dagger2 的部分。那么 Hilt 基于 Dagger2,又宣称做了很多优化、并和 Jetpack 家族的其他成员进行了深度融合,自然值得去了解一下。但当时在这个框架上投入的时间远远不够,只涉及到了 API 的使用,原理也没时间理会。后面我想着基于最新的 Hilt 版本进行强化学习。
-
「全面复盘 Android 开发者容易忽视的 Backup 功能」
工作中遇到深度定制 Backup 功能的需求,可网络上关于这块的内容大都止步于 autoBackup属性,少部分谈及一下原理,而且还是基于很老的系统版本。而事实上 Backup 功能,Google 非常重视,其可玩性也很高。所以借这个契机,从功能目的、 *** 作对象、原理、命令、破解、深度定制、版本升级中的各项变化等完整角度入手,肝了 3 万字,期望填补网络关于这块的缺失。反响也超出了预期,但这块功能较冷僻,对于大家实际的帮助是有限的。
-
「Android 12 上全新的应用启动画面,还不适配一下?」
无意中了解到 Android 12 中 SplashScreen 的新功能,觉得十分有趣,加上之前被启动画面相关的坑困扰过,便认真研究了一波。它着眼于 App 的第一屏的打造,可如果 DEMO 太基础、太粗浅,是无法打动别人来使用的。于是研究和查找了非常多的 SVG,并自己设计了多种创意动画,最终形成了那个还蛮炫酷的启动效果。文章出炉的时候,正值 Google IO 2021 的召开,趁着这个热点文章也着实火了一把。我的公众号单篇阅读第一次破了 1000,掘金上的点赞量则近 100。后来我把 DEMO 发到了推文,SplashScreen 功能的 Google 负责人看到之后还点赞并转发,这无疑给了我巨大的信心。
-
「Android 12 上焕然一新的小组件:美观、便捷和实用」
这同样是基于 Android 12 一项非常重要的行为变更,即针对小组件功能进行了大刀阔斧地升级:从外观到使用再到开发者的适配。为了完整演示各项变更,我设计了各种实用的小组件进行演示,并将旧系统上的效果一并展示出来,进行直观地对比。最后的反响未达预期,但好在后来 Google 转载了这篇文章,算是一种慰藉吧。
-
「CameraX + 华为 ScanKit:二维码扫描的终极解决方案」
之前看到 OpenCV 大神呱哥采用华为的 ScanKit 框架做了二维码的深度实践,联想到之前写的 CameraX DEMO 在扫码方面尚有优化的地方。于是一边将 ScanKit 集成进来,一边增加了很多拍照和视频的优化,并将实现语言改成了 Kotlin。即便如此,还是忘记了多码选择的功能,后续我将加上这个功能,并将 Google MLKit 和腾讯的扫码方案也集成进来。
-
「电子厂里撂了挑子,我默默自学起了Android|2021 年中总结」
本打算简单总结一下半年来都干了啥,后来发现内容太过单薄,于是借着这个机会跟大家回顾了下自己与 Android 结缘的往事。这篇走心的文章让我收到了非常多的留言和鼓励,也了解到很多朋友大同小异的入行故事,算是一次很不错的尝试。
-
「一气呵成:用Compose完美复刻Flappy Bird!」
从未做过游戏的自己一直非常想试试,加上受到了 fundroid 大神打造俄罗斯方块游戏的激励,便决定使用 Compose 框架突破一下。Flappy Bird 游戏曾经红极一时、玩法简单,就选择它作为复刻对象。从零开始推进游戏拆解、界面实现、状态更新、动画效果、计分规则等步骤,花了 2 个礼拜。这篇文章在掘金上首破 100 赞,非常满意。当然,游戏中小鸟的飞翔效果、碰撞的精确计算等细节尚可以继续优化。想着后续尝鲜 Compose Multiplatform 打造跨平台的 FlappyBird 的同时一并优化这些不足。
-
「Jetpack新成员SplashScreen:打造全新的App启动画面」
之前写的 Android 12 SplashScreen 文章引起不少朋友的兴趣,但部分朋友非常在意它是否兼容低版本系统。果不其然,Google 默默进行了支持并加入到了 Jetpack 大家庭。结合之前的 Flappy Bird 游戏应用上了这个框架,在 12 和 8 两个高低版本上打造了近乎一致的游戏启动效果,同时也补充了它的实现原理,这篇文章也成为了两个月后直播分享的主题。
-
「都 2021 年了,还有人在研究 Handler?」
无论是 App 开发还是 Android 源码实现,Handler 机制的应用随处可见,自然也成了面试过程中必问的内容。我潜心研究了 Handler 机制的 Java 层原理、Native 层原理以及各种可能涉及的问题。最后综合起来,汇聚成了 20 个问答。知识点类的硬核汇总果然很受欢迎,很快点赞即破百,这也让我产生了一个疑问:相较于新技术,这种纯纯八股文或许才是大家更“需要”的现实知识?
影响力有限,从写作初期到现在仍在寻求能传播更广的渠道。一年来文章有幸被 CSDN、掘金、鸿洋以及其他头部公众号多次转载,非常感谢他们的认可。其中我想着重感谢 「Android 开发者」公众号的「开发者说」栏目,今年一共转载了我 5 篇文章,我的「TechMerger」公众号应该是 2021 年度 Google 转载最多的个人公众号,非常荣幸。
除了原创文字,我一直想尝试其他的形式或方式,比如转载、视频、翻译啥的。简单了解之后发现视频这种形式需要学习的东西非常多,短时间学不透、更玩不转。遂作罢并打算先尝试下翻译这种 轻巧 偷懒 的方式。恰好发现 Jetpack 家族推出了实用的新框架 DragAndDrop,就试着翻了一下官方的文章。篇幅不大,但翻译得很有兴致,因为这种先理解别人的意思、再通过自己的技术背景去转化为别人能理解的文字的过程,非常有趣。后续我将发掘和翻译更多新颖的技术文章。
「Jetpack 叒一新成员 DragAndDrop 框架:大大简化拖放手势开发!」
8 个开源项目围绕 上面的技术文章,总共肝了 8 个开源项目,一共 20k 代码量。
其中:
-
ComposeMovie作为用 Compose 重写的电影 App,算是 Compose UI 架构的入门吧,竟然还被 Compose 培训课程拿去做了宣传,这是不是也算一种认可,哈哈。
https://github.com/ellisonchan/ComposeMovie
-
ComposeBird 游戏值得学习一下小游戏的实现思路,以及如何玩转 Compose 的状态刷新机制。star 数很快突破了 100,对我来说意义非凡。
https://github.com/ellisonchan/ComposeBird
-
JetpackDemo 则是我迄今为止学习完的 Jetpack 框架的源码集合,有每个框架比较详尽的使用实例,这也是我会持续完善的一个项目。
https://github.com/ellisonchan/JetpackDemo
-
SplashScreen 和 NewAppWidgets 两个项目作为 Android 12 新特性和行为变更的 DEMO,有不少创意的设计,值得大家参考一下。
https://github.com/ellisonchan/SplashScreen
https://github.com/ellisonchan/NewAppWidget
-
《我与手机的不解之缘》
虽与部门内的同事们共事多年,但互相的了解着实有限。于是在部门分享的时候我选择了工作中再熟悉不过的 手机 这个切入点,将大学和工作以来用过的手机和其间发生的故事串了起来,期望拉近彼此的距离,也给年轻一些的同事一些职场上的启发。
-
《MAD,现代 Android 开发》
公司层面每年都会举办大型的技术分享活动,我想着如今 Android 开发技术已发生重大变革,便以现代 Android 开发为话题着重阐述了 Android 重点开发栈的前世今生。
-
《使用 Jetpack SplashScreen 重塑应用启动画面》
起初收到 GDG 参加「社区说」直播邀请的时候,担心自己讲不好,但还是爽快地答应了。一来因为一直在幕后默默写文章,也想跟大家面对面交流;二来想要突破一下,尝试没有体验过的直播形式。当然为了不辜负朋友们的信任,我花了很多时间去优化 DEMO、PPT 文案和效果等各个细节。最终的直播成绩算是满足了自己的预期,但毕竟是处女秀,也有很多可以改善的地方,以后再努力吧~
B站地址:https://www.bilibili.com/video/BV1gS4y1d797?spm_id_from=333.999.0.0
1 堆奖品上半年参加了两场代码挑战赛:Google 举办的 Compose 挑战赛和华为举办的鸿蒙开发者大赛,都拿到了心心念念的奖品。尤其是 Google 和乐高联名的 Jetpack 积木冒着疫情漂洋过海来到了我手里,很特别,值得珍藏 !
除此之外、因 Google 转载文章、参加掘金的各项创作活动,也得到了 1 堆礼物:5 件T恤、6 个杯子、3 个抱枕、月饼、积木、机械键盘、京东卡、电脑包、鼠标垫、帆布袋、帽子、各种主题贴纸。几乎承包了我一年的职场物件,比心♥️。
参加活动的间隙也收获了些认可,注册掘金的 8 个月里有 4 个月拿到了移动端前 20 名,感谢平台专业、用心的包装。
可能源自压力和紧迫感的缘故,我以前排斥参加一切有明显竞争性质的活动。但今年抱着试试看的态度参加了十几次活动之后,收获了压力之外的很多体验。建议大家多参加,这对于自己、平台来说,是双赢的。
1 些数据公众号、博客和 CSDN 这三个主要更新的平台,今年总共有 20 万+ 的阅读量。加上中断了的知乎和多方公众号转载数据的话,总阅读量应该近 50 万。
这个数据自然无法跟大佬相比,但达成了自己的预期~
得与失!至此,分享了一年来的很多收获。如果到这就完了,那么势必成为流水账。我想再多一些文字,跟你分享这一整年来的心得体会和心路历程。
谈起得的话,除了上述的认可和奖品以外,得数今年认识到的很多 nice 的朋友。基本上每周都能结交或作者、或读者的朋友,咱们通过邮件、博客、公众号、微信线上交流,让我学到了很多、也打开了更广阔的视野。期望有机会与一些朋友线下面基。
得到很多的同时也留有一些遗憾。
因为很忙的缘故,运动的部分有所懈怠,目标达成的情况不如去年,12 个月中只完成了一半。好在因为饮食克制得还不错,身型仍然在线。
另外,其中有一段时间由于更文的压力和熬夜的陋习,情绪变得急躁、焦虑,对待家人也缺乏耐心和关心。可怕的是自己都没有察觉到自己的这种变化,好在后面自己察觉到了。感谢家人的理解和支持,后面我会注意写作和生活的平衡,尽最大努力去调节自己的状态,可持续地做好我想做的事情。
明年?几个泛泛的目标:
- 一直以来没有统一、高效、长足的知识体系,明年计划认真重构并持续维护自己的笔记系统,可能的话考虑开源出来
- 继续研究 Jetpack 其他框架和新框架,尤其是 Compose 的其他妙用、跨平台以及原理
- 了解和实践 Firebase 技术
- 强化 Kotlin 的学习,尽可能首选 Kotlin 编程
- 开始着手一直心心念念的 AI 对话应用,构想很大、很难一蹴而就,尝试慢慢实现并逐步开源,整个过程考虑做成连载文章
- 针对 Android 开发者某个痛点造个好用的轮子,并坚持维护下去
- 跟着 B 站上一个有趣的 UP 主学做个 Python 方面的小工具,比如图片批量转圆角
几个量化的目标:
- 更文频次:周更的压力很大,1 月 2 篇的频次推出高质量文章,公众号的话会穿插转载高质量文章或视频
- 更灵活的形式:除了原创文章和开源项目以外,尝试 3 次翻译,1 次视频的形式
- 宽泛些的主题:尝试技术、总结以外创作关于职场、产品体验等非技术的主题,各 1 篇
- 公众号粉丝达 3000+,篇均阅读量力争 500+
- 掘金:达到 Lv 4,取得优秀创作者头衔
- CSDN:阅读量达 20 万+、粉丝冲 1000,为博客专家的头衔努力
- 健康:12 个月的运动目标起码完成 9 个月,另外争取拿到日行 30000 步、单日爬楼 200 层的勋章
简单来说,期望明年继续突破自己、并努力在实用和新颖、数量和质量之间找到一个平衡!
步履不停~如果非要给我的 2021 找个关键词的话,我会选择 尝试 这个词。可以说,我这一整年都在保持尝试,从发掘各种效率工具、到复刻心心念念的小游戏、再到研究各种感兴趣的框架、再到逼着自己去直播分享和 Coding 竞赛。。。
途中的很多个瞬间我都想躺平,但转而一想以前热衷的快餐视频和游戏早已乏善可陈、审美疲劳。试着做一些未曾涉足、饶有兴味的事情,虽然不那么爽、不那么快得到满足,但摸索其中的过程总能让我有另一番体验,如何停得下来?
可能你没发现,成年人看似自由,但事实上随着年龄的增长,活动的空间反而日渐缩小和固化,所做的事情、所思的想法日趋一成不变。但凡有点机会,尽可能尝试些不一样的东西,跟工作相关的、不相关的,你喜欢的、却一直犹豫的,都可以。
分享几个自己一直想要做的鸡汤小例子:
-
去一直以来向往的城市、街巷转转
-
去看一部一直没来得及看的高分纪录片
-
去感受一首很特别的歌曲、纯音乐
-
去沉浸到一本美妙的杂志,感受久违的纸张
-
去了解一门知道但没尝试过的语言或技术语言
-
去购买一款付费软件,解锁更多的功能和便捷
-
去尝试阅读一篇英文长文,获得第一手的资讯
-
去付费一个课程,精准解决自己的软肋
-
去精雕细琢你的笔记并公开出去,分享你的独家典藏
-
去做个开源的小玩意,技术类非技术类的都可以
-
去认真读完收藏夹里吃灰已久的一篇长文
-
去攻克一个一直不太明白又很在意的知识点并分享出来
-
去和其他久违的朋友聊聊,分享彼此的近况
尝试不断地切换你的状态、更新你的视角、收获更多丰富的体验,一旦勇敢地开始,你会发现自己根本停不下来。
欢迎大家在评论区留言,说说你这一年的见闻和感悟。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)