从写作到演讲,虾米君不断尝试的 2021|年终回顾
年终岁末会有很多令人兴奋的事情,之一便是坐等各种年终盘点,但我们往往忽略了对自己的盘点。自我复盘,可不是应付他人的作业,而是用心地回顾和思考,它从来都不是一件简单的事情!
今年七月份我写过一篇年中回顾:「电子厂里撂了挑子,我默默自学起了Android|2021 年中总结」。虽说是年中回顾,但超过一半的篇幅讲的是我从事 Android 开发的契机和一路以来的故事。反响超出了预期,很多朋友在博客里留言,和我分享他们类似的经历和当下的状态。
我很欣慰自己的故事能够激起大家的共鸣,这回我想认真盘点下今年的所行、所思,期望也能够唤起你的一点点思考。
先来看个今年的一些数据:
- 写了 30 篇文章: 27 篇技术、1 篇翻译、2 篇随笔,总字数 15 万+
- 公众号、掘金、CSDN 三个平台阅读量 20 万+
- 肝了 8 个开源项目,总代码量 20k
- 做了 3 次演讲:部门、公司、GDG 直播各 1 次
30 篇文章
年中那边文章解释过我突然开始写作的原因,就不赘述了。今年写的技术文章主要着眼于 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
3 次演讲
《我与手机的不解之缘》
虽与部门内的同事们共事多年,但互相的了解着实有限。于是在部门分享的时候我选择了工作中再熟悉不过的
手机
这个切入点,将大学和工作以来用过的手机和其间发生的故事串了起来,期望拉近彼此的距离,也给年轻一些的同事一些职场上的启发。《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 些数据
平台 | 粉丝 | 阅读量 | 收益 |
---|---|---|---|
公众号 | 1200+ | 篇均阅读:200+ |
流量主加上赞赏勉强够吃顿烧烤吧
从写作到演讲,虾米君不断尝试的 2021|年终回顾相关推荐
最新文章
热门文章 |