为什么微前端开始在流行:后端解耦,前端聚合

2018 年 6 月 7 日 phodal

采用新技术,更多不是因为先进,而是因为它能解决痛点。

过去,我一直有一个疑惑,人们是否真的需要微服务,是否真的需要微前端。毕竟,没有银弹。当人们考虑是否采用一种新的架构,除了考虑它带来好处之外,仍然也考量着存在的大量的风险和技术挑战。

前端遗留系统迁移

自微前端框架 Mooa 及对应的《微前端的那些事儿》发布的两个多月以来,我陆陆续续地接收到一些微前端架构的一些咨询。过程中,我发现了一件很有趣的事:解决遗留系统,才是人们采用微前端方案最重要的原因

这些咨询里,开发人员所遇到的情况,与我之前遇到的情形并相似,我的场景是:设计一个新的前端架构。他们开始考虑前端微服务化,是因为遗留系统的存在。

过去那些使用 Backbone.js、Angular.js、Vue.js 1 等等框架所编写的单页面应用,已经在线上稳定地运行着,也没有新的功能。对于这样的应用来说,我们也没有理由浪费时间和精力重写旧的应用。这里的那些使用旧的、不再使用的技术栈编写的应用,可以称为遗留系统。而,这些应用又需要结合到新应用中使用。我遇到的较多的情况是:旧的应用使用的是 Angular.js 编写,而新的应用开始采用 Angular 2+。这对于业务稳定的团队来说,是极为常见的技术栈。

在即不重写原有系统的基础之下,又可以抽出人力来开发新的业务。其不仅仅对于业务人员来说, 是一个相当吸引力的特性;对于技术人员来说,不重写旧的业务,同时还能做一些技术上的挑战,也是一件相当有挑战的事情。

后端解耦,前端聚合

而前端微服务的一个卖点也在这里,去兼容不同类型的前端框架。这让我又联想到微服务的好处,及许多项目落地微服务的原因:

在初期,后台微服务的一个很大的卖点在于,可以使用不同的技术栈来开发后台应用。但是,事实上,采用微服务架构的组织和机构,一般都是中大型规模的。相较于中小型,对于框架和语言的选型要求比较严格,如在内部限定了框架,限制了语言。因此,在充分使用不同的技术栈来发挥微服务的优势这一点上,几乎是很少出现的。在这些大型组织机构里,采用微服务的原因主要还是在于,使用微服务架构来解耦服务间依赖

而在前端微服务化上,则是恰恰与之相反的,人们更想要的结果是聚合,尤其是那些 To B(to Bussiness)的应用。

在这两三年里,移动应用出现了一种趋势,用户不想装那么多应用了。而往往一家大的商业公司,会提供一系列的应用。这些应用也从某种程度上,反应了这家公司的组织架构。然而,在用户的眼里他们就是一家公司,他们就只应该有一个产品。相似的,这种趋势也在桌面 Web 出现。聚合成为了一个技术趋势,体现在前端的聚合就是微服务化架构。

兼容遗留系统

那么,在这个时候,我们就需要使用新的技术、新的架构,来容纳、兼容这些旧的应用。而前端微服务化,正好是契合人们想要的这个卖点呗了。

你说呢?

登录查看更多
1

相关内容

【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
118+阅读 · 2020年5月10日
德勤:2020技术趋势报告,120页pdf
专知会员服务
191+阅读 · 2020年3月31日
【新加坡国立大学】深度学习时代数据库:挑战与机会
专知会员服务
35+阅读 · 2020年3月6日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
前端微服务在字节跳动的落地之路
前端之巅
41+阅读 · 2019年9月19日
微信小程序支持webP的WebAssembly方案
前端之巅
19+阅读 · 2019年8月14日
2020年你应该知道的8种前端JavaScript趋势和工具
前端之巅
5+阅读 · 2019年6月9日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
专访阿里亚顿:Serverless与BFF与前端
前端之巅
45+阅读 · 2019年5月8日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
Python越来越受欢迎,这中间发生了什么?
Python技术博文
4+阅读 · 2017年7月21日
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
27+阅读 · 2018年4月12日
Arxiv
10+阅读 · 2018年2月4日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关资讯
前端微服务在字节跳动的落地之路
前端之巅
41+阅读 · 2019年9月19日
微信小程序支持webP的WebAssembly方案
前端之巅
19+阅读 · 2019年8月14日
2020年你应该知道的8种前端JavaScript趋势和工具
前端之巅
5+阅读 · 2019年6月9日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
专访阿里亚顿:Serverless与BFF与前端
前端之巅
45+阅读 · 2019年5月8日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
Python越来越受欢迎,这中间发生了什么?
Python技术博文
4+阅读 · 2017年7月21日
相关论文
A Sketch-Based System for Semantic Parsing
Arxiv
4+阅读 · 2019年9月12日
Self-Attention Graph Pooling
Arxiv
13+阅读 · 2019年6月13日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
27+阅读 · 2018年4月12日
Arxiv
10+阅读 · 2018年2月4日
Arxiv
27+阅读 · 2017年12月6日
Top
微信扫码咨询专知VIP会员