微前端思考
- 架构思想、技术视野、自动化部署
- 切图仔时代,JSP、asp前端以设计岗位为主
- 基于Ajax技术的前后端交互,无刷新页面(为什么用前后端分离。减少服务端的压力)。
- 分布式+集群模式
- 服务端的分布式思想,实现应用的纵向拆分、微应用化、云组件化
- 无服务器部署接口,node的serverless
- java分布式是相对最成熟的
- 学架构先学思想,应用架构最简单的理解就是盖房子。
- 业务分离和业务整合,所以业务组成也是架构设计中的一部分。
- 研究talos和Pipeline的区别,以及Pipeline前端的一个发展方向,特点是什么?应用talos是怎么发布的,搞一下对标
- 应用架构构建过程中,项目从开发环境到发布上线的整体流程,测试步骤和持续集成方案
- 不以实现为目的的架构都是耍流氓,所以任何应用架构,软件开发和互联网行业中的的目的都是落地和实现。
- 一个无法上线的应用架构,一个没有人能完成开发的软件架构,一个在现有技术上不可行的架构。都是不合理的架构
- 架构设计的几种原则
- 若依
- 架构设计的几种原则: 刚刚好、演进式、可持续。
- 敏捷的方式: 不同的业务迭代。
- 刚刚好的意思是指架构设计者不做过多的设计,预留可能是无用的,更多的是需要解决现有的问题为主。
- 设计过少:架构自身能力不足,导致架构可扩展性下降,无法适应更多的变化。
- 演进式架构,任何架构都是随着时间和各个方面变化逐渐过渡到如今的复杂度。
- 可持续架构:
微前端架构
- 单体应用的架构:静态资源的的MPA项目、静态资源的SPA项目、基于SSR模式的SPA项目。
- 实现组件化和工程化
- SSR会多一层服务端解析的过程,主要解决SEO问题
- 微前端的架构主要是对技术栈可以跨站
- 沙箱是天然隔离环境,最具代表的是虚拟机和Docker容器
- iframe会创建一个不同的document和window,有一个window.postmessage,之前先知有用iframe来做
- 闭包和模块管理方式,只能对作用域进行降级。
- with(s) {
- console.log(b)}
- new proxy,来模拟一个沙箱环境的隔离。
- 单一职责,应用自治
- 企业应用微前端的原因:有大量的技术沉淀和应用沉淀,这些都是未来发展的宝贵财富
- 配合后端一体化
- 路由分发式