小松的技术博客

六和敬

若今生迷局深陷,射影含沙。便许你来世袖手天下,一幕繁华。 你可愿转身落座,掌间朱砂,共我温酒煮茶。

2018年年终终结

这是一篇迟来的年终总结,这一年,人变懒了。

2018 年,虽不算颓废,也非快速成长,缓缓前行,大概就是 2018 吧。 首先我还是回顾与展望一下 QMUI Android 吧。

QMUI Android

QMUI Android 在 2018 收获了不少的 star,也被越来越多的项目引入了。这是一件令人兴奋的事情。 2018 年, QMUI Android 主要完成了一下功能:

  1. arch 库支持手势返回 Activity。 从手势返回的角度上看, ActivityFragment 混合时体验更完美了。
  2. arch 提供了 startFragmentAndDestroyCurrent 接口, 用于多 Fragment 界面需要等同于 Activity A 去到 Activity B 时需要结束 Activity B 的场景。
  3. 挖孔屏兼容,目前有很多写挖孔屏的文章, 却很少有提供一个封装类, QMUI 就做了这个事情,具体可参考文章 QMUI 刘海屏适配方案。 挖孔屏兼容是我目前认为兼容最复杂的,特别是对于阅读类需要全屏/非全屏切换的 app,最让人无赖的是厂商提供了一些系统设置项来操作挖孔显示模式,而且没有接口给开发者,这导致目前在一些设置项下挖孔屏兼容依旧会出翔。
  4. 提供了组件:QMUIWebView。 这个组件目前的作用是修复网页 css env(safe-inset-area-*) 不能取到正常的值的问题,这个属性是苹果提出,而被 chrominum 支持的属性,但只是值了识别这个属性,而没有传递正确的值。 一般开发者都没有网页内容置顶到状态栏下的需求,也就不会使用这个属性,因此 QMUIWebView 的这个功能应该鲜有人知。 有计划写篇文章来介绍是如何修复这个问题的,但是却没有实施。 众多的需求下,不仅让人疲惫,更让人在空闲的时间追求过渡放松,从而让人变得更懒,得不偿失
  5. 提供了个小组件:QMUIPriorityLinearLayout。 这个小组件应用的场景是: 设需要在三个 TextView 上分别显示人名、描述、时间,需要显示在一行内,当一行显示不下的时候人名出省略号。 这个需求看似简单,可是要省略号出现在人名上确实很难的,因为 LinearLayout 是总是使得末位的 TextView 省略。
  6. 年末的的时候终于开始了 QMUIStickySectionLayout 的整理工作,并在年初发布了,最为重要的是,这个组件是有文档的了。
  7. 贯穿全年的 Bugfix。

我认为 QMUI 的组件不算很全面,但是有很多是很实用的。有一些知识,如果你不了解,可能会花很大的功夫才能完成它,而 QMUI 就很可能给你带来意外之喜。不过另一个比较头疼的问题是,有些东西,我再怎么封装,它也很难用。例如沉浸式,例如挖孔屏。 这些东西,完全是需要多个接口混合使用才能满足所有的场景, 功能全面,但是接口算不上友好。

2019 年伊始,在需求空暇期, 我们开始写文档了,就放在 Github wiki 上, 希望慢慢的修复文档上的空缺。 另一点是, QMUI 准备开启 2.x 时代了, 迁移到 android x 上,另外会对 QMUITabSegmentQMUIPopup 等组件进行修改, 接口不会兼容向下兼容。 1.x 上应该只会做 Bugfix 了,而不会添加新特性了。 最后,我希望可能发布一个 qmui boot 类的库,封装好 dagger2/lifecycle/livedata/viewmodel 这些东西, 让新项目上手就开始飙车,应该可以骗一波星星吧。

组件的开发都是为了业务而服务,今年依旧是在 WeRead Android 上努力奋斗着。

WeRead Android UI

微信读书这一年,我的感觉就是 UI 改来改去,永无定版。 很多内容都被放到一个界面上,使得每个界面的 UI 都特别复杂,维护成本已经变得非常高了。封装好了的组件,总被要求某一些地方有一些不同,这样的事情常常发生。但是 UI 体验至上,你还是得改,毕竟像微信读书这样关注 UI 细节的 App 应该不是特别多。

2018 年做的完全新的东西应该就是互动小说了。 所有的操作: 阅读、写想法、查看想法、评论、购买、预测等功能全都放在同一个界面,这就是微信读书UI的特点了。 这块的 UI 工作大部分也是我做的, UI 算是十分复杂了, 也有很多新奇的东西。 例如, 在 RecyclerView 里对互动小说的内容进行分页, 利用了 SnapHelperItemDecoration、 自己做高度计算等技巧。 其实借助这些技巧,像抖音的界面都可以用 RecyclerView 来实现,会比 ViewPager 更好维护。

微信读书 2018 年另一个特色就是浮层漫天飞, 精选想法、互动小说想法、写想法等各种都是浮层实现了。 特别是浮层里面有输入的场景,实现起来特别酸爽。 我体验过的 App 里,好像还没看到过在浮层里做长篇大论的输入的。 就一些输入密码这种场景会需要。不过这也使得我对浮层的控制能力大为精进,基于业务压力,代码写得挺乱的, 所以我也想借 QMUI 2.0 好好整理一下,整合进 QMUIPopup。 另外就是互动小说里查看想法、想法详情写想法等行为伴随的各种动画,也伴随了很多取巧性的行为。

今年的一个感受就是,写代码还是要多取巧点,灵感一闪,就能省下一大笔时间了。 对黑科技运用炉火纯青的尤数前端了,各种玩法层出不穷,经常读读前端的一些框架,还是蛮开阔思路的。在大公司的庇护下,比较少的感受到互联网的寒冬,但我们依旧需要认识外面的世界,不断提升自己的能力。

个人成长

今年用极客时间这个 APP 挺多的, 在上面买了一些课程, 讲师都挺牛的,收获挺多的, 买课程的一个目的是通过一线开发大牛快速搭建知识框架,另一个目的是,多年工作后的我们,如果自制力下降了,需要一种外力去督促我们去将碎片时间利用起来。

在《趣谈网络协议》里我了解了交换机协议、路由器协议等一堆的协议,了解了局域网内的数据包流通,挺有意思的,云中网络之前的内容,我都有听、看两遍以上,收获很多。

在《深入拆解 Java 虚拟机》里,我学习了类加载的加载、链接、初始化、类型等在虚拟机里的标示、方法调用等,能够读懂一些简单的字节码程序了,后面这个系列没有跟上节奏,掉队咯。

在《数据结构与算法之美》里学习各种算法,年初的时候看了部分算法书,书籍内容很详细,但不会精炼,所以收获慢,毕竟算法这东西,长时间不用也就忘了,所以短时间更需要的视野的扩充。而这个专栏则让我见识到了各种算法的神奇,特别是集中字符匹配算法,运用各种好后缀、好前缀等提升来提升效率。开发这些算法的人真牛。

在《Android 开发高手课》里,看到微信对性能的极致追求,坦白来说, 微信读书在这方面与其有很大的差距。因为微信追求跨平台,所以很多都是 c++ 实现的,都比较底层,所以这个专栏的扩展内容和作业是很难的了,目前处于掉队状态,今年会继续努力。

...

2018 年没怎么看开发方面的书,唯一看完的应该是 《Javascript 忍者秘籍》的第一版和第二版,两个版本内容相差挺多,不是简单的升级和补充,对于 JS 是一个很好的温习。

工作是为了更好的生活,而家人总是被病魔缠身。本被病邪所扰,再遭医院预约排队所苦,更受庸医所累,钱如流水,而病如附骨之疽,永无宁日。对医生信心递减,估尝试入医学之道,去了解医学这个圈子。

步入医学之门

医院众多,却都门庭若市,医来医去,病人也不见减少,这也是一大奇观。首先现在医院科目纷飞,很多时候看个病都不知道挂什么科,挂了号后,医生基本上是开几个仪器检查单子,然后一天就可以花在检查上了,结果检查单子出来后,一切指标安好,钱是花了不少,问题还是没定位到。然后医生就让你去别的科室尝试尝试了。一病则需要无数次往来医院并穿梭于各个检查科室期间。像我以前的长期头疼,反正没有在医院通过检查定位到问题。

目前我看到的医院医生,大多数都是仪器检查结果分析师,太依赖于仪器了。这也是西医医学的理论所决定的吧,所以并不适合业余医学者。所以我选择了中医,以前我还是挺看轻中医的,但是经过接触,我发生了改观,中医医学是很牛的,只是现在的很多中医太差(接触也不太够,毕竟很少遇到纯中医药店了)。

我目前看的书籍主要是清朝黄元御的书,他的文采超凡,写的书读起来朗朗上口。他是一个不幸的人,早年是个志在宰相的人,却患了眼疾,在被庸医所害,彻底失去了一直眼睛,自此与仕途绝缘。而他没有气馁,转而自学医道,而那时他已经30多岁了。三年苦读《伤寒论》,一朝顿悟,而成就一代宗师,曾担任乾隆帝的首席太医。而仕途的失意,也让他痛恨庸医,言辞犀利,不被当时的医学圈所喜爱,所以即使他对医学的理论理解达到了前无古人后无来者的境界,依旧不被众人所了解。可见中国的学术氛围从以前就不怎么样了,要是放在国外,他早就是家喻户晓的人物了。还好现在他的学术思想渐渐被众人所知晓,慢慢传播开来了。

目前读了他的书《四圣心源》和 《伤寒悬解》,今年会继续看这两本书,再配合《长沙药解》、《伤寒说意》、《四圣悬枢》来学习他的理论思想。 另外比较有用的是懒兔子的公众号,会介绍很多常用的中成药,也会介绍很多中医的基础知识与案例。知晓了小柴胡颗粒、防风通圣丸、加味逍遥丸、藿香正气散等适用场景。平时如果有一些小问题,直接用中成药就解决了。 现在的一个感受就是,小柴胡特别好用,有时加班过多,感觉头痛,就冲泡两包小柴胡,再好好睡一睡,就基本没事了。

计划总是赶不上变化的,所以感觉制定来年计划并无多大用处,安心过好每一天吧。

QMUI 团队招 Android 开发啦,可发简历至contact@qmuiteam.com
←微信← →支付宝 →