Qwik简介
现代框架面临着一个巨大的绩效挑战,他们不在公司想要的最重要的地方。
例如,这些框架中的某些框架作为它们的真实实用性,例如,但是它们都没有达到真正的期望寻找问题的根源。
Qwik来了,采用了一种不同的方法,重点从“更快”转变为“少做”。这是一个将改变游戏的关键差异。最终,最快的工具可能是一个在做的工具。最少的(重复)工作。
Qwik是一个由Angular,Misko Hevery创建的框架,与创建了Ionic的Adam Bradley和创建GIN Framework的Manu Almeida的合作。
。这些是网络开发的先驱。我认为我们只是在处理另一个JavaScript框架。也许我们应该为将改变范式的新框架做好准备。
为什么要Qwik?
Qwik具有明确的目标:实现最佳性能,完美,0 JavaScript和纯HTML。是的,我们在这里。是时候了。 Qwik正在尝试,并且还成功地超越了其他框架可以做的事情。
新概念带来的最后一个框架是Astro,它引入了部分水合,这是JavaScript框架中的革命。
例如,如果我们的页面从不需要JavaScript的文本开始,我们什么也没加载,但是如果我们向下滚动到需要JavaScript进行互动的组件,我们将用所需的JavaScript补充页面。
Qwik杀死了游戏,没有部分保湿,而是零保湿和第一个负载的JavaScript。
例如,如果我们在页面底部有一个表单联系人,则角,react或vuejs会在第一个负载上加载所需的JavaScript,如果我们向下滚动,Astro将加载它,Qwik只会加载它,并且只会加载它,并且只有当我们单击表单的发送按钮时,当我们在我们面前的表单时,它不会加载JavaScript,而是在与之互动时。
Qwik密钥概念
qwik,HTML第一个框架的理念很清楚:使最快的交互时间(通过什么都不做来更快地做到这一点)。
该框架尽可能延迟JavaScript的调用,并仅调用它绝对需要的内容。重点是第一个负载。
因此,它仅加载纯HTML。为了实现这一目标,Qwik基于一个重要的概念。在本段中,我们将深入研究。
重复性
现代框架现在竞争改善水合。 Qwik的独特之处在于它具有可重复性。
该概念的名称使我们对所谈论的内容有一个感知,请停止/恢复,恢复服务器以代替重播所有作品的服务器。
序列化事件处理程序是停止和恢复应用程序的关键。但是这样做不是新事物,我们之前通过jQuery做到了。
例如,使用纯JavaScript。与Qwik的不同之处在于,在Qwik上工作就像在React上工作一样,它采用了现代DX。
如果我们尝试深入思考上面的图,我们将了解卷轴问题,扩展。如果我们有广泛的Web应用程序,则需要大量时间来加载水合。
即使有部分水合,缩放的尺度也很具有挑战性,Qwik的重复性仅加载HTML,这不需要很多时间。
这是一秒钟,您将应用程序加载到浏览器中。
Qwik City
在2022年5月1日,Hevery在播客中说,他们的目标是建立一个路由器,该路由器提供了进行MPA(多页应用程序)路由的能力,并具有SPA(单页应用程序)路由的好处。换句话说,执行MPA生根而无需刷新页面。
仅渲染需要刷新的零件。这听起来像是虚构的,但这已经完成了,他们做到了,它的名字叫Qwik City。
因此,Qwik是服务器端渲染和客户端渲染的混合。它利用了他们两个。
Qwik City是为Qwik设计的Meta-Framework,例如Next.js for React.js。 Qwik City的路由非常简单,它基于我们目录中目录的结构。
src/
└── routes/
└── some/
└── path/
└── index.tsx <https://example.com/some/path>
使用我们的0 JavaScript元框架,该应用程序被加载而没有一个专用于Qwik City的单个JavaScript,但不仅如此。它还提供:
- 基于目录的路由
- 嵌套布局
- 基于文件的菜单
- 面包屑
- 支持使用.tsx或.mdx文件格式的创作内容
- 数据终点
结论
现代框架下载所有的JavaScript,之后,他们执行了全部。
Qwik下载了一些JavaScript,它不会执行它,直到我们需要它为止。框架正在改变心理模型。
我们认为Qwik将是JS框架中的先驱之一。它提高了启动性能,这是现代框架的真正问题,但是对于Qwik而言,情况并非如此。
让我们看看未来并保持关注,因为这是我们关于框架的第一篇文章,当然,这不是最后一个。在即将到来的文章中,我们将深入研究核心概念,并将以构建Qwik应用程序的一些例子。
Havery Misko先生(Angular和Qwik的创建者)对本文进行了审查,我们非常感谢他的贡献。