2017年

12月

  • 为公司规划中的新项目调研跨平台方案可行性,在尝试了包括React NativeionicCordovaCordovaWeex 等在内几乎当时所有流行的方案之后,竟没有一个能够让人满意的。直到发现了当时还在 alpha 版的 Flutter,被其优秀的开发体验、精妙的架构设计和惊艳的流畅度表现所折服,于是开始正式研究该框架。

2018年

1月

  • 加入了当时(直至今日仍是)人数最多的 Flutter 技术交流群(Flutter 中文用户组 qq:482462550)。
  • 发现当时没有用于将 json 解析生成数据类模板代码的工具,于是在GsonFormat的启发下,用3天时间撸出了JSONFormat4Flutter的第一版,并分享在交流群内供群友使用,获得了最初的好评。

    该工具也成为了目前我 GitHub 上 Star 数最多的项目,虽然在易用性上我确实花了一些心思,但是就代码质量而言这就是一坨💩,能够获得这么多的关注更多的是因为当时没有更好的选择,俗话说“来的早不如来的巧”,这个工具就是出现的时机又早又巧,占了大便宜😂

2月

3月

4月

  • 为了解决 Flutter 项目引入图片资源需要手动编写资源配置文件的麻烦,写了一个自用的 dart 脚本用于自动遍历指定的目录,将其中的文件自动添加到配置中,获得好评后将这个脚本通过Flutter中文开发者flutter-dev开源分享,启发了许多朋友用同样的思路实现了更为方便的工具和插件,丰富了 Flutter 尤其是在国内的生态。
  • 编写阅读器 demo 自定义背景颜色功能的过程中发现,Flutter SDK 中对颜色格式转换的代码存在严重 BUG,于是第一次尝试为开源项目提交PR:Fix hue to 0.0 when red == green == blue
    pr
  • 发现基础组件 TabBarView 的状态保持存在严重 BUG:Use TabBarView with AutomaticKeepAliveClientMixin and with 4 or more pages will cause error

5月

  • 开源并发布了小说阅读器 demo 中编写的电量指示器插件:battery_indicator
  • 开源并发布了小说阅读器 demo 中编写的动态获取组件大小和位置插件:rect_getter
  • 阅读器 demo 成型,实现了包括开页特效、自制排版引擎、分页算法等许多功能:

6月

  • 团队内推广 Flutter 失败,领导的理由是不能接受冒险采用尚未正式发布的新技术。考虑到团队技术氛围问题和公司运营情况,最终决定辞职。
  • 离职后休息期内,继续玩 Flutter。

7月

  • 利用B站开源的ijkplayer,实现了一个增强版的视频播放器插件demo,支持多种格式以及流媒体直播:

8月

9月

  • 凭借 Flutter 经验入职新公司。但后续因公司业务规划变更,实际是写了一年半的 Node.js 和 React……但是由于得以深入接触 React 及 Taro 等前端方案,对 Flutter 的理解也更加深入。

2020年

5月

  • 公司受疫情影响过于严重,于是再次凭 Flutter 经验入职现公司,使用 Flutter\Next.js 开发双端应用。

6月

  • 实现了一个可以在 Flutter 项目编译前后执行自定义脚本的工具,并默认简单实现了一套类似C语言中条件编译的标记语法,可以实现同一套代码库根据编译时是 debug/release 模式或者传入的渠道名而编译出不同的产物,待生产验证后开源分享。

11月

12月

  • 第一阶段开发接近完成,达成成就:不写一行原生代码实现完整的商业应用。