年终岁末会有很多令人兴奋的事情,之一便是坐等各种年终盘点,但我们往往忽略了对自己的盘点。自我复盘,可不是应付他人的作业,而是用心地回顾和思考,它从来都不是一件简单的事情!

今年七月份我写过一篇年中回顾:「电子厂里撂了挑子,我默默自学起了Android|2021 年中总结」。虽说是年中回顾,但超过一半的篇幅讲的是我从事 Android 开发的契机和一路以来的故事。反响超出了预期,很多朋友在博客里留言,和我分享他们类似的经历和当下的状态。

我很欣慰自己的故事能够激起大家的共鸣,这回我想认真盘点下今年的所行、所思,期望也能够唤起你的一点点思考。

先来看个今年的一些数据:

  1. 写了 30 篇文章: 27 篇技术、1 篇翻译、2 篇随笔,总字数 15 万+
  2. 公众号、掘金、CSDN 三个平台阅读量 20 万+
  3. 肝了 8 个开源项目,总代码量 20k
  4. 做了 3 次演讲:部门、公司、GDG 直播各 1 次

30 篇文章

年中那边文章解释过我突然开始写作的原因,就不赘述了。今年写的技术文章主要着眼于 JetpackComposeAndroid 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

  • SplashScreenNewAppWidgets 两个项目作为 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|年终回顾相关推荐

  1. 计算机学术英语演讲,学术英语写作与演讲

    这门课程为提升学习者学术写作能力,有逻辑地讲好学术故事,阐述学术研究内容做准备:为提升学习者学术演讲能力,有策略地表达自己的观点以及学术会议.学术答辩.项目汇报等公共发言事项提供方法:为国内高校本科生 ...

  2. 瑞士位居《世界公民身份报告》榜首;君澜酒店集团2021年新签约、开业、品牌焕新71家 | 全球旅报...

    瑞士位居<世界公民身份报告>榜首.全球领先的政府咨询和营销公司CS Global Partners发布了备受期待的<世界公民身份报告>(WCR).WCR展示了世界公民身份指数( ...

  3. 演讲稿写作与演讲艺术(摘抄)

    第二个条件:演讲者素质比较高 这是三个条件中最值得一提的.试想,演讲稿写得再好,由于演讲者的素质一般,演讲决不会成功.就如渡河一样,演讲稿就像是一艘好船,必须靠有经验的船夫来划,才能到达彼岸.在演讲稿 ...

  4. 机器人学习--智能移动机器人的有关技术演讲(浙大-熊蓉教授-2021年)

    链接都是链接http://www.imrobotic.com/news/detail/27452 参考:http://www.imrobotic.com/news/detail/27452 浙江大学熊 ...

  5. 2021年终总结之关于我的技术写作

    2021年已经在尾巴上了,是时候做个总结了,总结一下自己的这一年写作,做个纪念. 1.文章回顾 先回顾一下这一年写了多少文章,下面这个图是csdn 的发表记录,总共93篇文章,可以看到五月份辞职的时候 ...

  6. 未来可期与君远航--2021年终总结

    文章目录 感慨 时间线 2021 时间线*上 转折点 开始发力 时间线*下 项目升级 JAVA发力 分割线 项目再升级 2021 高光时刻 不足 2022 航行 新的学习路线弥补不足 未来可期 感慨 ...

  7. 2021年度总结 -- 万粉博主的写作荣誉分享,写博客是一种心灵的修行

    一.CSDN 的写作经历与荣誉 仅以此文作为 2021 年终总结,顺便跟大家分享一些我的心得经验,希望你我和 CSDN 都越来越好.翻开 2021 CSDN 年度回忆录,有种难以言喻的感觉,有过兴奋. ...

  8. android 一起关闭_与Android一起成长

    android 一起关闭 In today's time, Android is something that is dominating the smartphone market. Right n ...

  9. 程序员如何坚持写作?

    对于程序员来说,总结和整理自己的知识是非常重要的!还记得巧哥之前分享过一篇文章<涅槃重生:我的技术转管理之路>,其中这几年,他就积累了超过 150 篇原创技术文章,在 iOS 技术圈子里面 ...

  10. 程序员如何坚持写作? 1

    对于程序员来说,总结和整理自己的知识是非常重要的!还记得巧哥之前分享过一篇文章<涅槃重生:我的技术转管理之路>,其中这几年,他就积累了超过 150 篇原创技术文章,在 iOS 技术圈子里面 ...

最新文章

  1. DevExpress的分隔条控件SplitterControl的使用
  2. Entity Framework 6 Alpha 3为Code First提供对存储过程支持,并提供连接恢复功能
  3. 发布Disruptor 3.0.0
  4. sql 除以_SQL题:leetcode Part 1 游戏玩法分析
  5. python模块下载1002python模块下载_【Python】Python的urllib模、urllib2模块的网络下载文件...
  6. Docker 容器十诫
  7. 统计方法在自然语言处理中的应用(统计自然语言处理宗成庆第二版完结)
  8. 8.cisco思科模拟器无线路由器设备实训练习
  9. 无熟人难办事?- 闲聊设计模式-迪米特法则
  10. 体验极好的临时邮箱,10分钟邮箱,极美观,速度特别快
  11. 谷歌AI新进展!将静态照片生成3D动图;代码翻译与代码生成工具;C/Java/Python多种语言项目实战教程大汇总;开源知识社区软件;前沿论文 | ShowMeAI资讯日报
  12. 「图与推荐指南针」: 顶级学者/研究组有哪些?
  13. html蔚蓝网注册页面,如何在网站中添加手机短信验证码注册功能?
  14. win10截图截屏快捷键 截图截屏工具
  15. RD540/RD640出厂标配几个Riser卡?
  16. 安卓神器-kiwi browser
  17. 7.14英语学习:英国拍争议文物
  18. 离散元后处理,将PFC数据写出并导入到matlab中形成云图
  19. RHEL8.0快速入门系列笔记--理论知识储备(一)
  20. oracle 用户权限批量授予

热门文章

  1. 哈商大计算机学院2号楼,王俊生_哈商大计算机学院_新浪博客
  2. 【Git】Git的“隐身术”:git status/git diff……文件被忽略的秘密
  3. Altera FPGA开发过程中sof、pof、jic文件的区别
  4. java导出繁体字word,word繁体字转换
  5. 北航2021年复试机试第二题
  6. 张亚勤退休百度:一个耐人寻味的微笑
  7. EDI电除盐纯水设备
  8. Java代码复用的三种常用方式:继承、组合和代理
  9. September 2006
  10. 网上选课系统算法了解