# Flutter基础建设思路

作为移动开发的新秀,Flutter生态还不如Android,iOS完善,值得挖掘的技术方向也有很多。

# 研发体系

学习Flutter并不复杂,但是如何将flutter集成到一个既有的项目中却不是一个省心的事情。对于创新应用来说,开发独立Flutter应用是一个很好的选择,对大型团队来说,开发混合应用是更实际的问题。

为了解决混合开发的开发模式,闲鱼团队研发了Boost,Boot分别用于实现混合开发和工程配置。Flutter官方也一直在完善Add to app的能力。可以确定的是,混合开发的体验和稳定性会越来越好,但是在成为绝对标准之前,开发者可能还有很长的路要走。

混合开发也好,纯flutter也好,当面临工程落地,业务落地时就会涉及到研发体系的问题。如何与团队现有的开发模式融合起来,从开发到构建,再到持续集成,发布,上线,这些都是研发体系范畴内需要解决的事情。

# 引擎优化

为什么会有这个话题?做Android,iOS,甚至RN也很少听过优化引擎的。这里笔者总结了下,主要有几个因素:

  1. Flutter包体积比较大,追求极致或者有人力投入的团队,就会选择通过裁剪才减小包体积。
  2. Flutter开源,从上到下提供了很大的定制空间,当然也会陷入碎片化和版本对齐的怪圈,这个是谁改谁知道了。
  3. 探索性质,好比Android源码的修改和研究,在框架基本动刀需要一定的功力。

总的来说,不建议在这个方向上投入过多精力,除非是专职研究。在这里的投入短期来看性价比不高。

# 动态化

动态化在国内一直非常风靡,动态haul意味着产品可以动态交付,这对于产品来说是利好消息,减少对固定发版周期的依赖。2019年Flutter团队已经正式放弃了官方支持Code Push的计划,冲安全和审核角度来说,官方提供Flutter动态化的基本堵死了。但是国内仍然有开发者在持续关注投入动态化的研究,比如美团Flap。

# 性能监控APM

另外一个就是性能监控了,为了保证Flutter应用的性能体验,需要有响应的治理手段和监控办法。