一、背景
微信小程序生态发展迅猛,目前其甚至取代了大部分原生 App 的生态位。公司岗位编制收紧,往往要求原生应用开发人员兼顾小程序开发,或者进行转岗。
结合我所在团队的现状来看,公司应用主要采用 Flutter 框架。同样的业务逻辑,往往需要同时维护 Flutter 应用和微信小程序两套代码,这种重复造轮子的做法效率极低。
造成这种现象的原因其实很清晰。回顾 2019 年 5 月 Google I/O,随着 Flutter 1.5.4 的发布,标志着 Flutter 正式进入全终端时代。理论上只需编写一套代码,无需额外适配即可运行于 iOS、Android、Web 及 PC 端。Flutter 正革命性地重塑移动开发生态,从面向终端的开发转向面向框架的开发,这不仅改变了开发者的工作流,也吸引了更多企业加入。
Flutter 作为跨平台框架,技术栈融合了 Native 与前端技术。它既涵盖 Android、iOS 等 Native 开发知识,又吸纳了 React 等前端理念并加以提升,形成了独特的技术体系。
不过目前 Flutter 仍不支持直接生成小程序。Flutter for Web 虽能运行于浏览器,却无法直接映射为小程序原生组件。这就导致了我们面临的技术选型难题。

