作者简介
19组清风,携程资深前端开发工程师,负责商旅前端公共基础平台建设,关注NodeJs、研发效能领域 。
引言今天这篇文章中和大家聊一聊号称世界上第一个 O(1) 的 JAVAScript SSR 框架:qwik 。
别担心,如果你不是特别了解 SSR 也没关系,文章大概会从以下几个方面作为切入点:
- 首先会围绕对比 SSR 与 SPA 各自的优劣势,从而展开 SSR 的运行机制以及 SSR 相较于 SPA 究竟为了解决什么问题 。
- 之后,会根据 NextJs 的运行机制思考针对目前主流 SSR 框架设计思路上存在的不足从而引出 qwik 为何会在众多成熟框架中脱颖而出 。
- 最后,会针对于 qwik 提出自己的看法以及聊聊目前 qwik 存在的“问题” 。
为何 qwik 可以在众多老牌优秀框架中脱颖而出 。接下来,让我们一起来一探究竟吧 。
一、SSR & CSR目前业内存在非常多基于 SSR 的优秀框架,比如 Next、Remix、Nuxt 等等 。
针对于 Qwik 我们先来聊聊基于 Next 体系的传统 SSR 方案 。
1.1 Client Side Rendering在开始 SSR 之前我们先来聊聊它的对立面,所谓的 CSR(Client Side Rendering) 。
服务器端渲染 (SSR) 是一种在服务器中进行渲染 html 而不是由浏览器中执行 JS 获得网页(SPA)的技术 。
目前国内社区中主流框架比如 VueJs、React 等严格意义上来说都是基于 CSR(Client Side Rendering) 的产物 。
所谓 CSR 的意味着当发出一个请求时,服务器会返回一个空的 HTML 页面以及对应的 JavaScript 脚本 。
比如:
<html><head><title>携程商旅</title> </head><body><div id="root"> </div><script src=https://www.isolves.com/it/cxkf/kj/2023-02-28/"./index.js">