微前端框架 single-spa】的更多相关文章

前言 MicroApp是一款基于类WebComponent进行渲染的微前端框架,不同于目前流行的开源框架,它从组件化的思维实现微前端,旨在降低上手难度.提升工作效率.它是目前市面上接入微前端成本最低的框架,并且提供了JS沙箱.样式隔离.元素隔离.预加载.资源地址补全.插件系统.数据通信等一系列完善的功能.MicroApp与技术栈无关,也不和业务绑定,可以用于任何前端框架和业务. 本篇文章中我们会从业务背景.实现思路介绍MicroApp,也会详细介绍它的使用方式和技术原理. 背景 随着这些年互联网…
前言 最近入职的一家公司采用single-spa这个微前端框架,所以自学了此框架. single-spa这个微前端框架虽然有中文文档,但是有些零散和晦涩. 所以我想在学习之余,写篇博客拉平一下这个学习曲线. 什么是微前端? 微前端的灵感来源于服务端微服务的理念. 可以简单理解为,在开发一个复杂前端应用时,将其划分为一系列更小更简单的前端应用. 这些前端应用可以单独开发.测试.部署,松耦合,可维护性强,还可以让前端代码实现增量升级和使用不同的框架. 它的懒加载还能让整个复杂应用加载速度变快. 常用…
在理解微前端技术原理中我们介绍了微前端的概念和核心技术原理.本篇我们结合目前业内主流的微前端实现 single-spa 来说明在生产实践中是如何实现微前端的. single-spa 的文档略显凌乱,概念也比较多,初次接触它的同学容易抓不住重点.今天我们尝试整理出一条清晰的脉络,让感兴趣的同学能够快速理解它. 在 single-spa 的架构设计中,有两种主要角色,主应用和子应用,如下图. 主应用力求足够简单,只负责子应用的调度,业务逻辑都由子应用来承担. 核心能力 其实总结来说,single-s…
我们在single-spa 技术分析 基本实现了一个微前端框架需要具备的各种功能,但是又实现的不够彻底,遗留了很多问题需要解决.虽然官方提供了很多样例和最佳实践,但是总显得过于单薄,总给人一种"问题解决了,但是又没有完全解决"的感觉. qiankun 在 single-spa 的基础上做了二次开发,完善了很多功能,算是一个比较完备的微前端框架了.今天我们来聊一聊 qiankun 的技术原理. 在本系列的开头,我们提到微前端的核心问题其实就是解决如何加载子应用以及如果做好子应用间的隔离问…
封面 简介 从 single-spa 的缺陷讲起 -> qiankun 是如何从框架层面解决 single-spa 存在的问题 -> qiankun 源码解读,带你全方位刨析 qiankun 框架. 介绍 qiankun 是基于 single-spa 做了二次封装的微前端框架,通过解决了 single-spa 的一些弊端和不足,来帮助大家实现更简单.无痛的构建一个生产可用的微前端架构系统. 微前端框架 之 single-spa 从入门到精通 通过从 基本使用 -> 部署 -> 框架…
vivo 互联网前端团队- Jiang Zuohan 一.背景 VAPD是一款专为团队协作办公场景设计的项目管理工具,实践敏捷开发与持续交付,以「项目」为核心,融合需求.任务.缺陷等应用,使用敏捷迭代.小步快跑的方式进行开发及质量跟踪,简化工作流程,帮助团队快速迭代并高效完成产品开发交付. 但早期VAPD以"一切皆可配置"的设计理念开发运行了两年,整个前端代码复杂混乱,组件庞大(需要支持多种配置),状态混乱,前端代码打包出来有50M之巨.这个项目难以为继,bug多.维护困难.新增功能处…
单体应用对比前端微服务化 普通的前端单体应用 微前端架构 1.基本概念 实现一套微前端架构,可以把其分成四部分(参考:https://alili.tech/archive/11052bf4/) 加载器:也就是微前端架构的核心,主要用来调度子应用,决定何时展示哪个子应用, 可以把它理解成电源. 包装器:有了加载器,可以把现有的应用包装,使得加载器可以使用它们,它相当于电源适配器. 主应用:一般是包含所有子应用公共部分的项目—— 它相当于电器底座 子应用:众多展示在主应用内容区的应用—— 它相当于你…
微前端大赏二-singlespa实践 微前端大赏二-singlespa实践 序 介绍singleSpa singleSpa核心逻辑 搭建环境 vue main react child 生命周期 结论 参考文章 序 介绍singleSpa singleSpa是一个javascript库它可以让很多小页面.小的组件.不通架构的前端组件在一个页面应用程序中共存. 这里有一个演示: (https://single-spa.surge.sh/) 这个库可以让你的应用可以使用多个不同的技术栈(vue.rea…
微前端 & 微前端实践 & 微前端教程 微前端 micro frontends https://micro-frontends.org/ https://github.com/neuland/micro-frontends 2016, ThoughtWorks technology radar https://martinfowler.com/articles/micro-frontends.html 每个微型前端都独立部署到生产中 每个应用程序应由一个团队拥有 每个服务器都可以独立构建和…
️本文为博客园社区首发文章,未获授权禁止转载 大家好,我是aehyok,一个住在深圳城市的佛系码农‍♀️,如果你喜欢我的文章,可以通过点赞帮我聚集灵力️. 个人github仓库地址: https:github.com/aehyok 本文讲解微前端qiankun demo仓库地址 : https:github.com/aehyok/vue-qiankun 目前基于dev分支进行开发和测试 本demo已部署腾讯云 http://139.186.205.7:8080/(服务器配置较低,如有访问比较慢,…
后台管理系统使用的是umi框架,随着公司业务的发展,目前已经变成了一个巨石应用,越来越难维护,有必要对其进行拆分了. 计划是从市面上挑选一个成熟的微前端框架,首先选择的是 icestark,虽然文档中有说明umi框架的改造,但版本得是 3 以上. 而当前我们自己使用的版本是 1,差了整整两个版本.然后再去搜索,发现另一个微前端框架:qiankun,并且它有一个 umi插件. 但是又遇到了 umi版本的问题,好不容易找到一个咨询umi改造微前端的问题,版本也是2. 本来是打算将老项目作为主应用,新…
初步认识微前端 微前端是什么 现在的前端应用,功能.交互日益复杂,若只由一个团队负责,随着时间的推进,会越来越庞大,愈发难以维护. 微前端这个名词,第一次提出是在2016年底.它将微服务(将单一应用程序划分成一组小的服务,服务之间相同配合,为用户提供最终价值)这个应用于服务端的技术扩展到前端领域. 微前端背后的想法是:将网站或 web 应用程序视为由独立团队负责的子应用(或模块.功能)的组合. 微前端核心是:拆.和. 拆,即将一个应用拆成多个子应用.每个子应用由单独的团队负责,独立开发.发布 和…
一.背景 在电商领域内,商品是一个重要组成部分,与其对应的商品管理系统,则负责商品的新建.编辑.复制等功能.随着商品管理系统的成熟稳定和业务上的扩展需求,催化出了商品中台的诞生.它可以将现有商品功能最大效率的复用在很多业务上(公司内业务.公司外业务等).而不是仅限于当前团队的业务使用. 在设计商品中台的前端系统时,我们使用了微前端和可视化技术,其可以达到如下效果: 可视化技术可以让各个业务方的运营等相关人员,直观的看到其配置的数据在页面上的展示效果: 微前端可以帮助商品中台更快更好的适配到各个业…
作者:vivo 互联网前端团队- Tang Xiao 本文梳理了基于阿里开源微前端框架qiankun,实现多页签及子应用缓存的方案,同时还类比了多个不同方案之间的区别及优劣势,为使用微前端进行多页签开发的同学,提供一些参考. 一.多页签是什么? 我们常见的浏览器多页签.编辑器多页签,从产品角度来说,就是为了能够实现用户访问可记录,快速定位工作区等作用:那对于单页应用,可以通过实现多页签,对用户的访问记录进行缓存,从而提供更好的用户体验. 前端可以通过多种方式实现多页签,常见的方案有两种: 通过C…
写在前面 本人为在读研究生,特别喜欢.NET,觉得.NET的编程方式.语法都特别友好,学习.NET Core已经差不多有一年半了,从一开始不知道如何入门到现在终于可以编写一些小的应用程序,想一想还是非常不容易. 一直特别羡慕写博客的大牛,也一直听说写博客可以锻炼自己,在加上最近自己一直在捣鼓.NET Core编写微服务,在这里感谢腾飞老师,所以准备现学现用,用.NET Core微服务搭建一个自己的个人博客,因为本人主要所学为后端开发,所以前端直接基于开源框架进行修改,前端框架地址:tabler.…
心之所向,勇往直前!记录开发过程中的那些小事,给自己加点经验值. 前言 作为一个.Net后端开发,在竞争愈加激烈的当下,掌握点前端配菜好像已经是家常便饭了. 刚好在工作的第5个年头,辞去小主管职务的我要再次踏上面试之路,为了要避免被面试官吊打,除了复习<吊打面试官>相关的题目,当然也要对自己掌握的技能温故知新. 项目使用了Vue cli3.0作为基础架构,这个版本和2.0的有一些不同.具体参考: 1. <vue cli3.0快速搭建项目详解> 2. <vue-cli2.0与v…
[内容指引] 安装JQuery组件: 安装BootStrap前端框架; 安装AngularJs前端框架: 安装angular动画模块: 安装angular的ui-router模块. 一.进入下载的目标文件夹 1.macOS操作系统: 在桌面或其它地方新建一个文件夹(取个名称,如,npm-download),用于存放下载的前端框架.在文件夹上鼠标右键,选择 > 拷贝“npm-download”:  打开终端,输入“cd ”,然后用快捷键“Command + v”将该文件夹的路径粘贴进入:  2…
本文转载自:https://www.cnblogs.com/william-xu/p/11245738.html abp vNext新框架的热度一直都很高,于是最近上手将vNext的微服务Demo做了一番研究.我的体验是,vNext的微服务架构确实比较成熟,但是十分难以上手,对于没有微服务开发经验的.net人员来说几乎是看不懂的,所以研究一番后再这里做一些简单的分析便于新手能够快速理解并使用. 难点 在开始分析前先介绍下该框架中的难点,没有微服务开发经验的可能要对以下难点进行研究. 难点一:id…
在做web开发的时候难免遇到一个问题,那就是,选择什么样的框架.下面把前端的框架简单的列一下. 1.flex Apache基金会今天发布了Flex 4.8版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本. 需要注意的是,Flex目前还在孵化阶段,还不是Apache的正式项目,Flex 4.8也不是一个正式的Apache版本. Apache称,该版本标志着Flex新时代的开始,Flex的未来将由社区来驱动,而不是由一个公司驱动.开发者可以通过贡献代码,来帮助改进Flex,如…
  当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码,一直再想如何使用IDL描述服务,然后自动生成框架代码. 直到遇到老这货 goa,另外一个go的微服务框架.具体介绍看这篇,还有官网.   这货实现了框架的代码自动生成(自动生成的代码可以热更新,因为生成代码和自己写的代码是分开的),而且理念也比较时髦,基于API设计,利用插件来扩展业务逻辑.   于…