Qwik的后现代框架
#javascript #前端 #qwik #typescript

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。

Image description

如果我们尝试深入思考上面的图,我们将了解卷轴问题,扩展。如果我们有广泛的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的创建者)对本文进行了审查,我们非常感谢他的贡献。

Link to Original Article.