热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

微前端的暗位面

文章目录1.微前端架构的好处1.1.应用之间隔离1.2.项目的渐进升级和技术交叉2.你应该知道的微前端的缺点2.1.对模块之间的接口缺乏控制2.2.缺乏沟通的风险2.3.增加的有效

文章目录

      • 1. 微前端架构的好处
        • 1.1. 应用之间隔离
        • 1.2. 项目的渐进升级和技术交叉
      • 2. 你应该知道的微前端的缺点
        • 2.1. 对模块之间的接口缺乏控制
        • 2.2.缺乏沟通的风险
        • 2.3.增加的有效载荷
        • 2.4.更复杂的开发过程
        • 2.5.更复杂的部署过程
        • 2.6.更难统一用户体验
      • 3. 结论



摘要:微前端如此火热,那真的就一定要使用吗?本文就来聊聊微前端的暗位面,聊聊微前端的缺点。

前端发展的速度如同那初春雨后的竹笋,新技术和新思想每天都在出现,近两年微前端可谓风靡整个前端圈。

微前端确实有众多的好处,比如支持多技术栈共存、子项目独立开发等。但尽管如此,微前端仍然有它黑暗的一面。

在本文中,我们将介绍微前端的一些缺点以供您更好的使用微前端。

1. 微前端架构的好处

在我们进入微前端的缺点之前,我们先来提一提使用微前端架构的两个在应用层面的好处。


1.1. 应用之间隔离

当您有多个团队为一个项目开发不同的功能时,很难同时协调开发的进度和部署的时机。

微前端允许每个负责不同功能的团队自由地控制他们的开发和部署过程,而完全不会影响其他应用。这允许您以更有条理和更有效的方式在您的应用上发布和更新具有实时功能的功能。

1.2. 项目的渐进升级和技术交叉

当您的项目中使用的技术无法满足当前时代的潮流时,您可能需要升级您的应用,但是又不希望对已有的项目做重构。

微前端应用之间相互隔离,因此,不同的应用完全可以使用不同的技术栈,这不仅允许您可以渐进的升级您的应用,同时还可以实现不同技术的交叉。

2. 你应该知道的微前端的缺点

尽管微前端有很多好处,但这种方法也有一些缺点。

正如我们在上面看到的,微前端可能是一个很好的工具,但根据项目、团队和业务的结构,它们的优势可能无法发挥作用。

2.1. 对模块之间的接口缺乏控制

如果您需要与其他团队的应用协作以使您的应用正常运行,您可能会发现他们并不总是直接遵循您的组织设置的最佳实践或约定。

由于每个应用程序都是独立的并且彼此隔离,因此在尝试集成它们时可能会导致麻烦。

2.2.缺乏沟通的风险

跨职能团队是管理项目的常用方法,但它可能会导致时间浪费和效率低下。

当不同的团队在不同的代码库上工作而不与其他部门共享时,就会出现问题。

这可能导致重复具体的实施方法,浪费公司宝贵的时间。

2.3.增加的有效载荷

包含的技术堆栈和应用程序越多,它在用户浏览器上的速度可能就越慢。

这是因为在使用它们之前,他们必须从所有不同的框架中获取对应的基础依赖。


2.4.更复杂的开发过程

代码需要文档和单元测试才能高效、正确且易于阅读,以便其他人在尝试提出新想法或实施产品管理团队的更新时通读。

如果微前端的实现不小心,每个单独的模块很快就会变得过于复杂,这对于以后的开发人员来说太复杂了。

2.5.更复杂的部署过程

当您有多个微应用时,部署更改或升级到您的应用程序可能会变得更加困难。

您将需要更好地了解每个模块之间的依赖关系,以便它们以正确的顺序部署在一起。

否则,由于一次实施的更新冲突,这可能会导致系统崩溃或出现性能问题。

2.6.更难统一用户体验

为了使用户体验保持凝聚力和一致性,团队之间必须达成共识。

当不同的团队在您的组织内使用多种技术时,一个领域的不一致可能会导致其他人走上类似的道路,从而导致整体用户体验不愉快。

3. 结论

微前端允许在您的应用程序中进行更灵活和可扩展的代码开发,并使每个团队能够独立工作。

但是,这种方法有其缺点,需要在实施之前仔细考虑,以便您知道可能会出现哪些类型的问题。


推荐阅读
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文将详细介绍如何使用剪映应用中的镜像功能,帮助用户轻松实现视频的镜像效果。通过简单的步骤,您可以快速掌握这一实用技巧。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • Java内存管理与优化:自动与手动释放策略
    本文深入探讨了Java中的内存管理机制,包括自动垃圾回收和手动释放内存的方法。通过理解这些机制,开发者可以更好地优化程序性能并避免内存泄漏。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文探讨了如何在编程中正确处理包含空数组的 JSON 对象,提供了详细的代码示例和解决方案。 ... [详细]
author-avatar
手机用户2502903053
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有