做一个高一致性、高性能的Flutter动态渲染,真的很难么?
作者|章志坚(皓黯)
出品|阿里巴巴新零售淘系技术部
导读:最近闲鱼技术团队在尝试使用集团 DinamicX 的 DSL ,通过下发 DSL 模板实现 Flutter 端的动态化模板渲染。在解决了性能方面的问题后,又面临了一个新的挑战——渲染一致性。如何在不降低渲染性能的前提下,大幅度提升 Flutter 与 Native 之间的渲染一致性呢?
思路
在初版渲染架构设计当中,我们以 Widget 为中心,采用了组合的方案来完成 DSL 到 Widget 的转化。这方面的工作在早期还算比较顺利,然而随着模板复杂度的增加,逐渐出现了一些 Bad Case 。
分析了这些 Bad Case 后发现,在初版渲染架构下,无法彻底解决这些 Bad Case,原因主要为以下两点:
- 我们使用了 Stack 来代表 FrameLayout,Column/

