最近对于 Flutter 的一些想法

前言

最近有几件事正在和计划进行:

  • 开始和 bloc 作者交流一下,也在帮他解决一些 issue,未来可能参与到翻译工作(🌶🐔 水平需要借助 Google 翻译去帮忙理解)?还有就是参与 bloc.js 的更新开发

  • 开始 animation challenge(应该说是 UX challenge?),锻炼 flutter 交互方面的东西

  • 在 blog 方面,未来可能会增加我自己解读的一些源码解析文章?

  • 与设计师合作,做独立开发作品

  • 参与解决 flutter 官方 issue,大问题可能比较难,但是一部分感觉还是问题不大??

  • 在上述过程中,发现一些问题继续做开源库??

关于 blog

自从过了 js 文章的之后,我开始厌倦一些大众知识点的文章,虽然说在写的过程中我自己理解更深了,但是?依然觉得有一种…浪费资源的感觉…
不过回想一下,可能还是需要这样去记录这个过程,对于个人成长才会好,适当的一些源码分析,貌似有必要?

关于独立作品

在工作这些年以来,开发过很多职务作品,有些已经不复存在了,作品始终是属于公司的,从而萌生出做自己作品的想法。
最近在处理的是记账 app,和 Qoli Wong 合作的,未来可能会跟她还有其他设计师合作更多的 app?
不过碍于 Apple 审核,开发者账号都卡了好久………

关于开源社区

flutter 官方

在开发记账 app 的时候,我没有使用 Material 风格去进行,从而选择 Cupertion 风格,其中就能发现一些问题,组件支持进度比较慢,flutter 官方也解决比较慢,在提交一些 issue 之后,再仔细查看 issue 列表之后觉得,很多问题并不困难,或许可以尝试去解决。
现在还没开始,关于 pr 的英文注释?代码风格?可能的这些问题只能试了一下才知道。
之前跟 Alex 讨论 pr,他认为最大的问题貌似是,不知道 flutter 团队想要什么。

bloc

我以前在 Android 使用 rxjava,非常喜欢这种一切皆流的思想,稍微看了一下 bloc 源码就马上能发现,核心解决方案是把 event 和 state 分成两个 stream,这种处理方案配合 rxdart 我十分喜欢。
之后就开始和作者在 discord 去交流一下,感觉交流相当不错~~为人也很 nice,也跟他表达了想帮助 bloc 的想法,不过有个问题是………他的效率太高了,而且交流下来,许多功能他也觉得自己做会好点,比如 Cubit,肯定就是自己来嘛~可能会做一些使用 bloc 的库?之前交流说,弄一个 ………pr 很难?开始从 issue 入手去帮忙解决,未来想法可能是增加到 example,翻译,bloc.js 等。

开源库

开源库大多数一开始初衷都是我需要用到,然后去解决的所诞生的,不过最近开始解决 bloc 的 issue,发现一些问题,也引发了我一些思考。

  • 比如 bloc#1434 这个问题核心是该用户没有深刻理解 dart 单线程 event loop 的问题,这其实是一个很常见的问题,如何发现卡顿是一比较麻烦的点,flutter 提供的工具也不是很好用。
    在想解决方案,比如是通过帧率的监控,然后获取当前线程的 stack,不过遇到一点小问题,在 flutter 里面的回调帧率,貌似是通过每次真正刷新渲染才会回调的,所以并不能像 Android 的那样回调,这一点可能需要通过 flutter 官方反馈,看看如何看待。
    其次是当前运行的 stack,这一点暂时还没找到办法,我尝试过使用StackTrace.current来获取,但是这个只能获取调用所在的 stack,之后有时间再看看。
    这个开源库目标是做成 flutter 版本的 BlockCanary,目前看来不一定能做成。

  • 在这些所有东西之前,其实我开始研究如何解决选颜色的问题,比如我们颜色整体观感,如何达到一致?如何通过现有的主题风格(一般是明亮)生成出来暗黑模式,这方面调研了各种色彩模型去解决,现今对比度的计算方式是否合理?也在 dart 实现了好几个色彩模型,目前可以做到生成颜色观感一致的颜色,对比度计算目前的方案感觉并不是为了人眼观感而设置,正在改善。
    暂时没想好这个应该开源呢?还是作为下一个独立开发作品的核心?

  • 之前还写了一个 MDX 解析库,原来的设想是做一个词典 app,不过在了解过发现 mdx 其实都是盗版,顿时没有任何想法了…这个库也不想开源了…

flutter challenge

看到 flutter 和 codepen 合作的一个 challenge,我起初没啥兴趣……主要是,奖励只是说精选……放到页面上……………吸引力不大。
但是想了一下,感觉 codepen 这种直接就可以在网页查看的效果,也很棒,考虑往这个方向做一些 ux 交互 example,作为一个长期的项目。

比如这就是昨天的一个动画按钮效果:

Flutter YES!

总结

未来还是希望工作重心或者学习重心放在 flutter,真的太喜欢了~~但是反观现实,还是有点差距,岗位需求目前来讲不是很多,了解一些给出的待遇也不尽如人意,未来应该如何走?分かっらない。

推荐