关于 Flutter 的一些想法 2

我在之前的文章

易旭昕:关于 Flutter 的一些想法zhuanlan.zhihu.com《关于 Flutter 的一些想法 2》

谈了 Flutter 是什么?它在客户端开发的技术栈中处于什么位置?跟哪些技术比较相似,跟哪些技术存在相互竞争的可能?它的优点是什么?

另外在

易旭昕:Flutter 渲染流水线浅析zhuanlan.zhihu.com《关于 Flutter 的一些想法 2》

这篇文章里,我谈了自己对 Flutter 渲染流水线的理解,它和其他 UI Toolkit,和浏览器渲染流水线的相似和相异之处。

今天这篇短文想谈一下 Flutter 对国内的客户端开发技术所可能带来的一些影响。

我个人觉得影响主要有两方面,最直接的一方面是使用 Flutter 用于自己应用的开发,比如闲鱼,已经在应用的部分场景使用 Flutter 来开发,未来应该会看到更多基于 Flutter 开发的应用。Flutter 对应 Native 甚至 RN 都有可能是一个可行,或者部分场景可行的替代方案。

另外一方面是基于 Flutter 二次开发,定制自己的跨平台自绘渲染引擎。这个需求主要来自于大厂的小程序,快应用等轻量应用的运行容器。目前小程序,快应用后端的渲染引擎仍然是 WebView 或者 RN/Weex,无论是 Web 还是 Hybird 都有一些固有的缺陷,而且技术上也不完全可控,所以对大厂来说,开发自己的跨平台自绘渲染引擎仍然是有这个需求在的。只是要想自己开发一个跨平台自绘渲染引擎,无论是技术难度还是投入的成本都难以承受,而基于 Flutter 来二次开发,难度和成本一下子就降低很多了。

如果基于 Flutter 二次开发,定制自己的跨平台自绘渲染引擎,技术上仍然有一些问题需要解决,自己能想到的有:

  1. 小程序,快应用等使用 JavaScript 作为开发语言,而 Flutter 使用 Dart 作为开发语言;
  2. 小程序,快应用等都有需要内嵌原生 View 组件混合渲染的需求,而 Flutter 在这方面并没有很好的支持;

开发语言的问题,解决方案可能是开发一个 JavaScript 调用 Dart Flutter API 的 Wrapper 层,或者完全用 JavaScript 重写 Flutter 的上层模块,在 API 上保持兼容。跟原生 View 组件混合渲染的解决方案,修改 Flutter 的渲染引擎理论上应该也不会太难。

    原文作者:易旭昕
    原文地址: https://zhuanlan.zhihu.com/p/41057178
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞