APP下载

干货分享:蚂蚁金服前端框架和工程化实践

消息来源:baojiabao.com 作者: 发布时间:2024-04-28

报价宝综合消息干货分享:蚂蚁金服前端框架和工程化实践

在极客邦科技前两天召开的 GMTC 全球大前端技术大会上,蚂蚁金服高阶技术专家陈成发表了《蚂蚁金服前端框架和工程化实践》的演讲,以下是本次演讲摘要。

框架发展历史

这是我们的框架发展时间线。

2015 年之前我们有 Sea.JS、Arale、SPM 开源技术方案,大家可以有所耳闻。2015 年我们接入 React,从自研的 Roof 到 Redux 再到开源的 Dva,一步步验证我们的最佳实践,并把这些实践交给开源社群检验。2017 年开始尝试了新一代的企业级前端框架,Umi 和 Bigfish,前者是从无线业务中长出来的,后者是从中台业务中长出来的。一个团队出两个框架毕竟不是长久之计,后来老大直接把两拨人调到一个组,于是就愉快地合并在了一起。

在 Umi 和 Bigfish 时代,我们从刀耕火种的时代跨入了工业化时代。因为在此之前,使用者需要接触很多技术栈和细节,在 Umi 和 Bigfish 中,使用者只要知道一个框架,剩下的全部不用了解。框架像一个魔法球,把各种技术栈吸到一起,加工后吐给使用者,以此来支撑业务。

在两个框架合并之后,我们的现状是这样:

umi 对外开源,bigfish 对内服务内部同学。bigfish 扔掉原有实现,改造成 umi + umi 外挂集的一个架构。我们不是第一个这么做的,类似的还有 eggjs 和 chair。这是一种很好的方式,开源和业务两不误。那么,这是我们的框架终局吗?以及是否还有更好的方式?大家也可以思考下,后面在未来规划区域会有探讨。

这是一些蚂蚁的内部资料:

1100+ 内部应用数新增产品 80% 都用此框架包含 100+ 外挂数量,社群够活跃,尤其是内部的1500+ 内部使用者目前来看,这个框架基本统一了内部的框架使用情况,不仅有不熟前端的 Java 开发,略熟前端的外包,还有资深的前端同学。要获得那么多同学的认可,并不是件容易的事。

为什么我们能成?

那么,为什么我们能成?个人理解,我觉得有几个关键词:

人业务流程开源

人是非常重要的一环,甚至比技术本身更重要一些。

那么别人为啥要用你的框架?首先,框架要好用,这是最基本的;然后,使用者尤其是资深的前端同学,还得在这上面找到自己的成就感和 ownership,另外如果绩效漂亮就更好了。总不能别人用你的框架,然后只有你自己一个人的绩效好,那是不会长久的。

我们的解法是外挂体系。

框架不是凭空而来的,需求来自于业务,所以用框架写业务的同学往往能发现框架不足的点,他们可以开发适用于自己业务的框架外挂,反哺框架。如果这是通用需求,那就亮了。

框架的内部开发群有 100+ 人,包含大量来自业务线的同学,这就是外挂体系的好处,人人都能贡献。

为了让写外挂变得简单,我们给框架分了五层架构......

检视原文,点选了解更多

2019-10-24 16:10:00

相关文章