封面 简介 从 single-spa 的缺陷讲起 -> qiankun 是如何从框架层面解决 single-spa 存在的问题 -> qiankun 源码解读,带你全方位刨析 qiankun 框架. 介绍 qiankun 是基于 single-spa 做了二次封装的微前端框架,通过解决了 single-spa 的一些弊端和不足,来帮助大家实现更简单.无痛的构建一个生产可用的微前端架构系统. 微前端框架 之 single-spa 从入门到精通 通过从 基本使用 -> 部署 -> 框架…
前言 最近入职的一家公司采用single-spa这个微前端框架,所以自学了此框架. single-spa这个微前端框架虽然有中文文档,但是有些零散和晦涩. 所以我想在学习之余,写篇博客拉平一下这个学习曲线. 什么是微前端? 微前端的灵感来源于服务端微服务的理念. 可以简单理解为,在开发一个复杂前端应用时,将其划分为一系列更小更简单的前端应用. 这些前端应用可以单独开发.测试.部署,松耦合,可维护性强,还可以让前端代码实现增量升级和使用不同的框架. 它的懒加载还能让整个复杂应用加载速度变快. 常用…
前言 MicroApp是一款基于类WebComponent进行渲染的微前端框架,不同于目前流行的开源框架,它从组件化的思维实现微前端,旨在降低上手难度.提升工作效率.它是目前市面上接入微前端成本最低的框架,并且提供了JS沙箱.样式隔离.元素隔离.预加载.资源地址补全.插件系统.数据通信等一系列完善的功能.MicroApp与技术栈无关,也不和业务绑定,可以用于任何前端框架和业务. 本篇文章中我们会从业务背景.实现思路介绍MicroApp,也会详细介绍它的使用方式和技术原理. 背景 随着这些年互联网…
在理解微前端技术原理中我们介绍了微前端的概念和核心技术原理.本篇我们结合目前业内主流的微前端实现 single-spa 来说明在生产实践中是如何实现微前端的. single-spa 的文档略显凌乱,概念也比较多,初次接触它的同学容易抓不住重点.今天我们尝试整理出一条清晰的脉络,让感兴趣的同学能够快速理解它. 在 single-spa 的架构设计中,有两种主要角色,主应用和子应用,如下图. 主应用力求足够简单,只负责子应用的调度,业务逻辑都由子应用来承担. 核心能力 其实总结来说,single-s…
我们在single-spa 技术分析 基本实现了一个微前端框架需要具备的各种功能,但是又实现的不够彻底,遗留了很多问题需要解决.虽然官方提供了很多样例和最佳实践,但是总显得过于单薄,总给人一种"问题解决了,但是又没有完全解决"的感觉. qiankun 在 single-spa 的基础上做了二次开发,完善了很多功能,算是一个比较完备的微前端框架了.今天我们来聊一聊 qiankun 的技术原理. 在本系列的开头,我们提到微前端的核心问题其实就是解决如何加载子应用以及如果做好子应用间的隔离问…
vivo 互联网前端团队- Jiang Zuohan 一.背景 VAPD是一款专为团队协作办公场景设计的项目管理工具,实践敏捷开发与持续交付,以「项目」为核心,融合需求.任务.缺陷等应用,使用敏捷迭代.小步快跑的方式进行开发及质量跟踪,简化工作流程,帮助团队快速迭代并高效完成产品开发交付. 但早期VAPD以"一切皆可配置"的设计理念开发运行了两年,整个前端代码复杂混乱,组件庞大(需要支持多种配置),状态混乱,前端代码打包出来有50M之巨.这个项目难以为继,bug多.维护困难.新增功能处…
Bootstrap,是基于HTML,CSS.javascript的前端框架 该框架已经预定义了一套CSS样式和与样式相对应的js代码(对应的样式有对应的特效.) 开发人员只需要编写HTML结构,添加bootstrap固定的class样式,就可以轻松完成指定效果的实现. 作用: 1.Bootstrap使得Web开发更加快捷,高效 2.Bootstrap支持响应式开发,解决了移动互联网前端开发问题. 简单介绍一下: 该框架是Twitter公司的设计师Mark Otto和jacob Thornton…
单体应用对比前端微服务化 普通的前端单体应用 微前端架构 1.基本概念 实现一套微前端架构,可以把其分成四部分(参考:https://alili.tech/archive/11052bf4/) 加载器:也就是微前端架构的核心,主要用来调度子应用,决定何时展示哪个子应用, 可以把它理解成电源. 包装器:有了加载器,可以把现有的应用包装,使得加载器可以使用它们,它相当于电源适配器. 主应用:一般是包含所有子应用公共部分的项目—— 它相当于电器底座 子应用:众多展示在主应用内容区的应用—— 它相当于你…
上一篇帖子简单介绍了go-micro的整体框架结构,这一篇主要写go-micro使用方式的例子,中间会穿插一些go-micro的源码,和调用流程图,帮大家更好的理解go-micro的底层.更详细更具体的调用流程和细节,会在以后的帖子里详细讲解. 例子的github地址: gomicrorpc   跑一遍例子,也就会明白个大概. 安装所需要的环境 go-micro服务发现默认使用的是consul, brew install consul consul agent -dev 或者直接使用使用dock…
1.Mybatis知识点 框架的知识点大致可以分为三个部分 基础: 介绍编写增,删,改,查: 动态标签: config配置文件 Mapper配置文件 插件:常见的插件有三个 pageHelper:分页插件,使用频率非常高. commonMapper:通用Mapper,使用泛型的方式,去除掉大量重复的增,删,改,查方法 generator:代码生成器,生成Java,Mapper文件,使用频繁很高. 集成: 与spring,springboot集成. 与日志框架集成. 与缓存框架集成. 2.本书 本…