小松的技术博客

六和敬

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

  1. 下一代 React Native 会是什么样的?— Recos

    我们团队很早就接入了 React Native,其动态化下发面对我们这个三天两头改界面的团队是挺契合的。虽然 Flutter 大火,但我们现在并没有去尝试,一个是动态化对于我们太重要了, 另外一个是我们跨平台选择了“业务逻辑使用KMM, 音视频用 C++,界面用RN”的路子,可以满足团队的需求,还有一个原因是,现在即使是跨平台技术了,业务太多,客户端的人也太少了,已经被困在业务里走不动了,心有点累。 但是 RN 被诟病的主要还是性能太差,一堆不知原因的 Native Crash。我们不能因为它存…

    前端开发 继续阅读
  2. 2020年终总结

    2020,终于结束了。 正值多事之秋,方知世态炎凉。一场新冠,席卷全球,有人哭,有人笑,有人同心协力、共谱抗疫之歌曲,也有人勾心斗角、抢夺利益之糕点。酸甜苦辣,共显人生百态。 互联网行业,永远的快节奏,燃烧青春,乱了昼夜,在繁星点点之时疯狂打码,在太阳东升之际卧榻暂歇,终是疲惫取代了激情。曾写出的完美代码,也在混乱的业务下冲击得不堪直视,一直奔波于新的业务中与 bugfix 中,熵减行动终是变成了永远推迟中的计划。 工作篇 拥抱变化,上半年在微信读书做螺丝钉,在完成各种需求的同时,升级了 QMU…

    年终总结 继续阅读
  3. DynamicEntity - 字节码生成实践

    在 MVC、MVVM 等分层架构中,一般是让 Model/ Entity 类尽量纯净,只有属性和一堆的 setter/getter 方法,但是在复杂的需求场景下,我们又经常会使得它变得不那么纯净。 好在 Java 的手段多,我们可以用一些手段降低 Entity 的视觉和使用的污染程度: 一种是使用注解,Room、Moshi 都是走这种方式,通过编译时生成另外一份中间代码或者运行时拿注解信息做判断。 另外一种就是字节码生成技术,可以让你看到的是一份简洁的代码,而实际上是一份复杂的代码,代表就是…

    Android开发 继续阅读
  4. Android scheme 跳转的设计与实现

    缘起 随着 App 的成长,我们难免会遇到以下这些需求: H5 跳原生界面 Notification 点击调相关界面 根据后台返回数据跳转界面,例如登录成功后跳不同界面或者根据运营需求跳不同界面 实现 AppLink 的跳转 为了解决这些问题,App 一般都会自定义一个 scheme 跳转协议,多端都实现这个协议,以此来解决各种运营需求。今天就来解析下 QMUI 最新版 QMUISchemeHandler 的设计与实现。 一个 scheme 的格式大概是这样子: schemeName…

    Android开发 继续阅读
  5. QMUI实战(四)— QMUI 换肤的实现

    QMUI 2 一个最大的特色就是支持了换肤(夜间模式),今天就来聊聊 QMUI 换肤的使用与实现。 在阅读本文之前,可以先到 Github QMUI Wiki 上查看QMUI换肤的使用文档。 QMUI 换肤最原始是为了适配 Dark Mode。但作为框架的实现者,就需要考虑到更通用的使用形式,并且要尽可能保证 API 的简洁性。因而 QMUI 是支持多套肤色的切换,而 Dark Mode 只是其中的一种。 在无需重启 Activity 的前提下,我们做换肤框架的实现思路其实是很简单的:就是当触发…

    Android开发 继续阅读