微前端架构

介绍

微前端的概念是由ThoughtWorks在2016年提出的,它借鉴了微服务的架构理念,核心在于将一个庞大的前端应用拆分成多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用融合为一个完整的应用,或者将原本运行已久、没有关联的几个应用融合为一个应用。微前端既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,相比一整块的前端仓库,微前端架构下的前端仓库倾向于更小更灵活。

 前端解决什么问题

微前端主要解决了在构建大型Web应用时遇到的一系列问题。具体来说,它针对以下几个关键挑战提供了有效的解决方案:

  1. 技术栈多样化:在大型项目中,不同的团队可能采用不同的技术栈进行开发,这导致了技术栈的多样化和复杂性。微前端允许不同团队使用各自擅长的技术栈进行独立开发,然后将这些使用不同技术栈的应用集成到一个统一的界面中。
  2. 团队协作与并行开发:大型Web应用通常由多个团队共同开发,每个团队负责不同的功能模块。微前端架构使得每个团队可以独立地开发、测试、部署自己的应用,无需等待其他团队完成。这种并行开发的方式大大提高了团队协作的效率和灵活性。
  3. 应用的可维护性和可扩展性:随着项目的不断发展和需求的变更,Web应用需要不断地进行维护和扩展。微前端架构通过将应用拆分成多个小型的、可独立部署的微应用,使得每个微应用都可以独立地进行升级和扩展,而无需影响整个应用。这大大提高了应用的可维护性和可扩展性。
  4. 遗留系统的集成与兼容:许多企业在升级或重构Web应用时,都需要考虑与遗留系统的集成与兼容问题。微前端允许将遗留系统封装为微应用,与新开发的应用一起集成到统一的界面中。这既保留了遗留系统的功能,又使得新开发的应用能够采用最新的技术和框架。

     微前端通过其独特的架构和设计理念,有效地解决了大型Web应用在技术栈多样化、团队协作与并行开发、应用的可维护性和可扩展性以及遗留系统的集成与兼容等方面所面临的问题。

 

微前端架构的特点 

微前端架构的特点主要包括:

  1. 简单、松耦合的代码库:将庞大的整体拆分成可控的小块,并明确他们之间的依赖关系,使得代码库更小、更内聚、可维护性更高。
  2. 增量升级:由于每个应用都是独立的,因此可以独立地进行升级、更新甚至重写部分前端功能,而无需影响整个应用。
  3. 独立部署:每个微前端都可以独立地进行部署,这大大提高了团队的自治性和可扩展性。
  4. 团队自治:每个团队可以独立地开发、测试、部署自己的应用,无需等待其他团队,从而提高了开发效率。

 

微前端有应用场景 

        微前端的应用场景主要体现在以下几个方面:

  1. 大型Web应用:对于体量庞大的Web应用,微前端架构能够将其拆解成多个可以独立开发、部署和运行的微型应用。这样不仅可以提高开发效率和团队协作性,还能降低开发和维护成本。
  2. 兼容历史应用与增量开发:在需要兼容遗留系统的同时,使用新框架或技术去开发新功能时,微前端架构是一个理想的选择。遗留系统可以保持其原有的稳定性和功能性,而新开发的功能则可以使用最新的技术和框架,实现增量开发。
  3. 应用聚合:大型互联网公司或企业内部通常会部署大量的应用和服务。为了向用户或员工提供统一、高效的体验,可以使用微前端技术将这些应用和服务聚合在一起。这样不仅可以提高用户体验,还能提升工作效率。
  4. 团队间共享:不同的应用之间可能存在可以共享的功能和服务。通过微前端架构,这些共享的功能和服务可以被封装成独立的模块,并在不同的团队之间进行高质量的共享,从而提高研发效率。

 福利

    一、字节Garfish 微前端框架

  Garfish 微前端框架

 

二、京东MicroApp

MicroApp

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/478487.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

当内外网的域名相同时,如何在外网解析同域名的网址

当内部网络和外部网络存在相同的域名,并且希望内部用户通过内部DNS服务器解析到外部网络上的该域名对应的公网IP地址时,需要在内部DNS服务器上采取一些特殊配置策略来实现这一目标。以下是一种通用的解决方案: 条件转发(Condition…

鸿蒙一次开发,多端部署(四)工程管理

DevEco Studio的基本使用,请参考DevEco Studio使用指南。本章主要介绍如何使用DevEco Studio进行多设备应用开发。 说明: 本章的内容基于DevEco Studio 3.1.1 Release版本进行介绍,如您使用DevEco Studio其它版本,可能存在文档与产…

COMPOSITE SLICE TRANSFORMER

Composite Slice Attention (CSA) 辅助信息 作者未提供代码

第十四届蓝桥杯JavaB组省赛真题 - 蜗牛

dp[i][0] 状态转移方程: 1. 从上一个竹竿的底部转移过来,即: dp[i][0]dp[i−1][0]x[i]−x[i−1]; 2. 从上一个竹竿的传送门转移过来,即: dp[i][0]dp[i−1][1]b[i]/1.3; dp[i][1] 状态转移方程: 1. 从上一…

Java集合框架-读书笔记

Java集合框架 数据结构是以某种形式将数据组织在一起的集合。数据结构不仅可以存储数据 并且可以对数据进行访问和处理操作。 eg:Arraylist是将数据保存在线性表的数据结构 其实java中还提供了一些第一数据进行操作和存储的数据结构 这些数据结构被称为 java集合…

如何使用phpStudy在Windows系统部署静态站点并实现无公网IP远程访问

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

并发编程之interrupt方法的详细解析

3.9 interrupt方法详解 Interrupt说明 interrupt的本质是将线程的打断标记设为true,并调用线程的三个parker对象(C实现级别)unpark该线程。 基于以上本质,有如下说明: 打断线程不等于中断线程,有以下两种…

hcia静态实验

题目: 要求: 1、R6为isp,接口ip均为公有地址,该设备只能配置ip地址,之后不能再对其进行任何其他配置 2、r1到r5为局域网,私有ip地址为192.168.1.0 24,合理分配 3、r1,r2,r4各有两个环回地址&am…

python基础——语句

一、条件语句 就是 if else 语句 ! 代表不等于 代表等于if 关键字,判断语句,有“如果”的意思,后面跟上判断语句else 常和“if” 连用,有“否则”的意思,后面直接跟上冒号 …

探秘空投女巫:区块链世界的神秘现象

在区块链世界中,充满了各种新奇的名词和概念,其中一个引人注目的现象就是“空投女巫”。这个神秘的名字让人不禁好奇,究竟是什么? 什么是空投女巫? 空投女巫是指那些在区块链项目中频繁参与空投活动,并且…

[Netty实践] 简单聊天实现(四):Server集群改造

目录 一、介绍 二、解决方案 三、server端改造 五、客户端改造 四、测试 五、拓展 一、介绍 本章是拓展内容,主要实现的是Server集群。 当系统的用户多了之后,单机Server资源有限,无法提供socket连接时,我们需要部署Serve…

[Linux]多线程(在Linux中的轻量级进程(LWP),怎么使用线程(接口))

目录 一、在Linux中的轻量级进程(LWP) 二、多线程的接口 1.创建线程(pthread_create) 2.线程ID(pthread_self) 3.线程终止 终止某个线程而不终止整个进程的三种方法: return pthread_…

Python Windows系统 虚拟环境使用

目录 1、安装 2、激活 3、停止 1、安装 1)为项目新建一个目录(比如:目录命名为learning_log) 2)在终端中切换到这个目录 3)执行命令:python -m venv ll_env,即可创建一个名为ll…

基于ssm的医院住院管理系统论文

摘 要 随着时代的发展,医疗设备愈来愈完善,医院也变成人们生活中必不可少的场所。如今,已经2021年了,虽然医院的数量和设备愈加完善,但是老龄人口也越来越多。在如此大的人口压力下,医院住院就变成了一个问…

YOLOv2学习

YOLOv2学习 引入 Anchor boxes摘要数据集组合方法(Dataset Combination Method)联合训练算法(Joint Training Algorithm)改进Batch NormalizationHigh Resolution Classifier分类器预训练分辨率调整**Convolutional With Anchor B…

鸿蒙Harmony应用开发—ArkTS-全局UI方法(警告弹窗)

显示警告弹窗组件,可设置文本内容与响应回调。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用,参见UI…

云手机为电商提供五大出海优势

出海电商行业中,各大电商平台的账号安全是每一个电商运营者的重中之重,账号安全是第一生产力,也是店铺运营的基础。因此多平台多账号的防关联管理工具成了所有电商大卖家的必备工具。云手机最核心的优势就是账户安全体系,本文将对…

网络仿真3-NS2协议修改和移植

Ns2实现原理 OTcl与C关联 执行路径:Tcl->Otcl->C 返回路径:C->Otcl->Tcl NS2协议修改和移植 NS2中的各种网络协议在底层通过C实现,在网络仿真过程中最终通过调用底层C代码实现网络行为、算法、功能等各种仿真 NS2协议修改&…

vue3+threejs新手从零开发卡牌游戏(三):尝试在场景中绘制一张卡牌

首先我们思考下,一张最简单的卡牌有哪些东西构成:卡牌样式和卡牌数据。一张卡牌有正面和背面,有名称、属性、种族、攻击力等数据,我们先不考虑数据,先尝试在场景中绘制一张卡牌出来。 一、寻找卡牌素材 为了简单我直…

2024第二届经济管理、贸易与信息技术创新国际会议(ICEMITI2024)

2024第二届经济管理、贸易与信息技术创新国际会议(ICEMITI2024) 会议简介 2024第二届经济管理、贸易与信息技术创新国际会议(ICEMITI2024)将在中国郑州举行。这是一个重要的学术会议,旨在讨论当前经济管理、贸易和信…