V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tctc4869
V2EX  ›  程序员

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

  •  
  •   tctc4869 · 2020-03-10 18:19:01 +08:00 · 3121 次点击
    这是一个创建于 1753 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

    那么第 3 个方案就是用微前端技术,将复杂的前端系统按照对应的领域拆分成不同组件,可以分开开发、设计以及用不同的技术,最后用微前端技术整合成一个网站。
    libook
        3
    libook  
       2020-03-10 18:54:17 +08:00
    技术是用来解决问题的,没有问题没必要硬上,会事倍功半。
    janxin
        4
    janxin  
       2020-03-10 19:52:08 +08:00
    主要是炒作概念...当然提出来也是能解决一部分 DRY 带来的问题
    ChefIsAwesome
        5
    ChefIsAwesome  
       2020-03-10 20:07:27 +08:00   ❤️ 1
    挺 sb 的概念……网站本来就可以是相互独立的子程序,靠 URL 连起来就行了。非要做成个单页面的,搞搞动态加载,然后就叫微服务了……
    Chingim
        6
    Chingim  
       2020-03-10 20:28:01 +08:00 via Android
    iframe 就是微前端
    每个 iframe 相对独立 🐶
    wangxiaoaer
        7
    wangxiaoaer  
       2020-03-10 20:59:20 +08:00
    寸 草 不 生
    傻 事
    屌 逼
    后 前
    台 端
    语 概
    言 念
    广 多
    tctc4869
        8
    tctc4869  
    OP
       2020-03-10 21:21:54 +08:00
    @Chingim 这么讲的话,微前端,早在 html 诞生不久就出生了
    w292614191
        9
    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
        10
    onfuns  
       2020-03-11 09:33:45 +08:00
    就是九九归一,前端要想站住脚,必须提出一些专有名词,这样才能显得高大上啊。
    zarte
        11
    zarte  
       2020-03-11 09:45:14 +08:00
    前端就是各种整活。
    chanchan
        12
    chanchan  
       2020-03-11 10:48:12 +08:00
    又整新活了?不是"大前端"吗,怎么又"微前端"了
    buhi
        13
    buhi  
       2020-03-11 12:09:30 +08:00
    就是一种生造出来的名词, 用来描述一个早已有之的概念, 但是呢, 为了要显得很厉害, 所以要用一个特别的名词
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1030 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:15 · PVG 03:15 · LAX 11:15 · JFK 14:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.