微前端是什么?是伴随微服务炒作的概念,还是只配合后端微服务而生的?

2020-03-10 18:19:01 +08:00
 tctc4869

近几年微服务这个词非常火热,以至于后端出现了很多差不多同质化的微服务搭建教程,例如 spring cloud,duddo 之类的教程。

微服务我知道是什么,伴随而生的还有一个微前端,微前端具体是什么鬼东西?我唯一能想到理解是,微前端,应该说是 B/S 前端,可能是为更好的开发和接入微服务的后台系统而生的。所以就出现的微前端,没有微服务就没有微前端。

按照这种理解,我怎么微前端感觉是用一个服务器搭建一个向外的网站,用户所有操作都会经过这个网站服务器,服务器根据请求向指定的服务器请求查询资源或编辑资源。

微前端应该不是把 B/S 前端独立分块吧,如果是分,那怎么个分法?像 C/S 程序那样?如果是这样的话,那我写几个 C/S 程序,向我搭建的一个用微服务搭建的网络系统发送请求,那这几个 C/S 程序整体看待,也算微前端了啊。如果是这样的话,那这种微前端在微服务之前就出现了。

还是在 B/S 程序里面可以嵌入多个其他的 B/S 程序,在前端 html 里用 Iframe 标签接入?还是像微信和支付宝的小程序那样的么?如果是指微信那样的小程序,那这顶多算插件把。微前端=分插件开发前端?

有做过这方面的开发的,能说下微前端具体是做什么的,是不是只属于 B/S 前端的?如果是,那就得意味着经常会有跨域请求。

2997 次点击
所在节点    程序员
13 条回复
noe132
2020-03-10 18:48:18 +08:00
概念炒作罢了。大致就是通过合理的模块化分和 code spiltting 降低耦合和包体积大小
libook
2020-03-10 18:53:34 +08:00
微前端确实是从后端微服务思想衍生过来的,但是并不是说一定要和后端微服务一起用,只是个思想借鉴。
B/S 和 C/S 是非常古老的概念了,自从富前端、单页面应用出现之后,B/S 和 C/S 就没有区别了,它是由浏览器端和服务端构成的,但是同时又是按照客户端与服务器端的思路来开发的,将浏览器上的页面与服务器功能进行解耦。

后端微服务解决的问题主要是降低系统复杂度、性能隔离、混合多种技术栈,那么微前端是不是也有相似的问题要解决。

比如一个有 5 年历史的后台管理系统,5 年间功能一直都在增加,最一开始用的是 Angualr 框架的第 1 个版本,但是五年后的今天 Angular 已经出了第 9 个大版本了,功能和设计以及使用方式都发生了翻天覆地的变化,那么摆在你面前的有两个方案,1. 把旧功能全部用最新版 Angular 重写。2. 新功能也用 Angualr 旧版本继续开发。
以及有的时候需觉得两个功能之间并没有啥关系,而有一部分适合用 React,另一半部分更适合用 Vue,以及一些简单的页面适合直接用原生 JS 或 JQuery。

那么第 3 个方案就是用微前端技术,将复杂的前端系统按照对应的领域拆分成不同组件,可以分开开发、设计以及用不同的技术,最后用微前端技术整合成一个网站。
libook
2020-03-10 18:54:17 +08:00
技术是用来解决问题的,没有问题没必要硬上,会事倍功半。
janxin
2020-03-10 19:52:08 +08:00
主要是炒作概念...当然提出来也是能解决一部分 DRY 带来的问题
ChefIsAwesome
2020-03-10 20:07:27 +08:00
挺 sb 的概念……网站本来就可以是相互独立的子程序,靠 URL 连起来就行了。非要做成个单页面的,搞搞动态加载,然后就叫微服务了……
Chingim
2020-03-10 20:28:01 +08:00
iframe 就是微前端
每个 iframe 相对独立 🐶
wangxiaoaer
2020-03-10 20:59:20 +08:00
寸 草 不 生
傻 事
屌 逼
后 前
台 端
语 概
言 念
广 多
tctc4869
2020-03-10 21:21:54 +08:00
@Chingim 这么讲的话,微前端,早在 html 诞生不久就出生了
w292614191
2020-03-11 08:37:34 +08:00
我现在就是畸形开发,每个 SpringBoot 写自己一部分的页面加后台,一个微服务来充当主框架。
然后通过 SpringGateway 来串起来,类似:
gateway/main
gateway/A/view
gateway/A/getList

gateWay/B/view
gateWay/B/Save
onfuns
2020-03-11 09:33:45 +08:00
就是九九归一,前端要想站住脚,必须提出一些专有名词,这样才能显得高大上啊。
zarte
2020-03-11 09:45:14 +08:00
前端就是各种整活。
chanchan
2020-03-11 10:48:12 +08:00
又整新活了?不是"大前端"吗,怎么又"微前端"了
buhi
2020-03-11 12:09:30 +08:00
就是一种生造出来的名词, 用来描述一个早已有之的概念, 但是呢, 为了要显得很厉害, 所以要用一个特别的名词

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/651617

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX