微前端
微前端是一种将前端应用分解为更小、独立和可复用的片段的架构风格。这种架构模式允许团队将大型单体前端应用分解为多个较小的前端应用,这些应用可以独立开发、测试和部署,同时仍然作为一个整体工作。微前端架构的主要目的是提高团队的敏捷性、可维护性和可扩展性。 以下是一些流行的微前端框架:
- Single-Spa:比较早的微前端框架,只实现了加载器、路由托管,沙箱隔离并没有实现。
- Qiankun:阿里系开源的微前端框架,基于 single-spa 进行完善。
- Micro-App:京东出的一款基于 Web Component 原生组件进行渲染的微前端框架。
- 无界:腾讯推出的微前端解决方案,基于 WebComponents + iframe。
- 其他:Grafish、EMP、module-feration。
GraphQL
GraphQL 是一种由 Facebook 开发并于2015年开源的查询语言和服务器端运行时,用于API。它提供了一种更有效、灵活且强大的方式来查询和操作数据。 GraphQL 的工作流程:
- 定义Schema:在服务端,定义一个GraphQL schema,它描述了可以查询的数据结构、类型和字段
- 编写Query/Mutation:客户端编写一个GraphQL查询,指定它需要哪些数据。查询遵循schema中定义的类型和字段
- 执行查询:当查询到达服务器时,GraphQL服务器根据查询请求解析、验证并执行它
- 返回数据:服务器将查询结果返回客户端,通常是以JSON格式。返回的数据结构与查询的结构完全匹配 GraphQL的缺点:复杂性、学习曲线、缓存处理、性能问题 iOS 中常见的 GraphQL 框架:Apollo Client、Graphiti、SwiftGraphQL、Relay、GraphQLicious 等
prefetch
prefetch 是 HTML5 中引入的一个链接属性,它可以用于指定浏览器应当预加载某些资源,以提升用户体验。 prefetch 属性通常被放置在 标签中,它告诉浏览器在空闲时间预先加载并缓存指定的资源。这样,当用户访问这些资源时,可以更快地从本地缓存中加载,从而减少等待时间,提升页面加载速度和性能。 prefetch 下面是 prefetch 的一个基本使用示例:
<link rel="prefetch" href="image.png">