当前位置:首页 > 科技  > 软件

超越React,JS代码体积减少90%!它为何是2023年最好的Web框架?

来源: 责编: 时间:2023-10-10 18:32:29 419观看
导读作者丨Futari Boy编译丨诺亚说到Web框架,大家最先想到的可能是 Vue、React,或者是Next.js。但不得不提,有个后起之秀“来势汹汹”,1.0版本发布至今仅一年,就出尽风头。它就是Astro。Astro 是什么?一个现代化的静态站点生成

作者丨Futari BoyCsP28资讯网——每日最新资讯28at.com

编译丨诺亚CsP28资讯网——每日最新资讯28at.com

说到Web框架,大家最先想到的可能是 Vue、React,或者是Next.js。但不得不提,有个后起之秀“来势汹汹”,1.0版本发布至今仅一年,就出尽风头。它就是Astro。CsP28资讯网——每日最新资讯28at.com

Astro 是什么?一个现代化的静态站点生成器和前端框架。它允许开发人员使用组件化的方式构建内容优先的网站。2022 年,Astro在JavaScript明星项目中排名第七,一年新增了15k star!CsP28资讯网——每日最新资讯28at.com

顺带一提,Astro 的作者也非无名之辈,而是Snowpack的作者 Fred K. Schott,这位可以说是Unbundle 构建工具的祖师爷。CsP28资讯网——每日最新资讯28at.com

有人说,Astro是2023年最好的Web框架。事实真的如此吗?且听我逐一道来。CsP28资讯网——每日最新资讯28at.com

1、问题:JavaScript太多了

在web开发世界中,事情变化很快,特别是对于JavaScript前端开发人员。CsP28资讯网——每日最新资讯28at.com

如此之快,以至于我们有时忽略或忘记了我们到底在为谁创建网站和web应用程序:用户。CsP28资讯网——每日最新资讯28at.com

自从BackboneJS和AngularJS在2011/2012年变得非常流行以来,网络上就充斥着spa。CsP28资讯网——每日最新资讯28at.com

不要误解我的意思,spa是很棒的,只要你想创建一个web应用程序,而不是一个只有少量JavaScript交互的网站。CsP28资讯网——每日最新资讯28at.com

但是,因为AngularJS是由Google开发的,而且用UI框架做JavaScript比用jQuery更漂亮,客观上也更容易维护,所以人们开始为一切都创建spa。CsP28资讯网——每日最新资讯28at.com

是的,一切,即使是简单的基于内容的网站……CsP28资讯网——每日最新资讯28at.com

这在当时导致了两个大问题:CsP28资讯网——每日最新资讯28at.com

第一,后端框架开始针对REST API响应进行优化,不再呈现HTML。因此,我们使用模板引擎的后端框架越来越少。特别是在NodeJS中。CsP28资讯网——每日最新资讯28at.com

第二,SEO(搜索引擎优化)。CsP28资讯网——每日最新资讯28at.com

spa是在客户端渲染的,这意味着当像谷歌这样的搜索引擎爬虫进入索引内容时,它们什么都没有看到。CsP28资讯网——每日最新资讯28at.com

所以我们找到了解决办法,SSR。CsP28资讯网——每日最新资讯28at.com

基本上,就是在后端执行前端代码以进行初始渲染。CsP28资讯网——每日最新资讯28at.com

问题是:你需要一个NodeJS服务器,因为只有NodeJS后端可以执行客户端的JavaScript语言。CsP28资讯网——每日最新资讯28at.com

如果你有一个基于内容的网站,这是一笔很大的开销。CsP28资讯网——每日最新资讯28at.com

因此,我们为这些网站找到了一个解决方案:SSG和预渲染。CsP28资讯网——每日最新资讯28at.com

SSG代表“静态站点生成器”。在spa出现之前,它们就已经存在了,但在上述问题提出后,它们变得流行起来。CsP28资讯网——每日最新资讯28at.com

但是,他们也有两个大问题:CsP28资讯网——每日最新资讯28at.com

  • 它们要么是用JavaScript以外的另一种语言编写的,这使得在不同项目之间共享UI片段变得非常困难。
  • 或者它们是基于Vue、React或Svelte等前端框架使用JavaScript编写的,因此,由于我们所说的Hydration(水化),发布了太多JavaScript。

现实是:有时你只需要一点点JavaScript来进行微交互。而且,不是每一页都写!CsP28资讯网——每日最新资讯28at.com

这就是Astro的用武之地。CsP28资讯网——每日最新资讯28at.com

Astro开发团队最初的设计目标就是:用 Astro 建立一个缓慢的网站几乎是不可能的。测试显示,与React Web 框架构建的相同网站相比,Astro 网站的加载速度可以提高 40%,而JS代码的体积可以减少90% 。CsP28资讯网——每日最新资讯28at.com

2、解决方案:Astro

Astro最初是一个基于JavaScript语言的SSG,但在客户端默认不生成JavaScript。CsP28资讯网——每日最新资讯28at.com

它在构建时执行JS代码,就像SSR框架一样,但它不会hydration(水化),因为大多数基于内容的网站不需要JS。CsP28资讯网——每日最新资讯28at.com

但是当你需要JS的时候,你该怎么办呢?CsP28资讯网——每日最新资讯28at.com

在需要时选择加入JavaScriptCsP28资讯网——每日最新资讯28at.com

你可以像以前那样使用JavaScript,使用命令式DOM操作或者……CsP28资讯网——每日最新资讯28at.com

使用像AlpineJS或Vue-petite这样的东西,它们是即插即用的,只提供少量JS。CsP28资讯网——每日最新资讯28at.com

对于高级场景,或者当你需要重用来自其他项目的UI组件时,Astro创建了:Islands。CsP28资讯网——每日最新资讯28at.com

Astro Islands是你可以从Vue、React、Svelte甚至更多前端框架中引入的独立组件!CsP28资讯网——每日最新资讯28at.com

这些组件将被单独渲染并注入到最终的HTML中。静态(没有hydration)或动态(使用JS)。CsP28资讯网——每日最新资讯28at.com

以下是Astro最终HTML页面的样子:CsP28资讯网——每日最新资讯28at.com

CsP28资讯网——每日最新资讯28at.com

在像Nuxt或NextJS这样的框架中,页面加载后没有任何内容是静态的,因为它会对整个页面进行hydration,从而注入不必要的JavaScript。CsP28资讯网——每日最新资讯28at.com

之前提到,Astro最初是一个SSG,如今,它不止于此。CsP28资讯网——每日最新资讯28at.com

现在Astro也支持SSR,这意味着它也可以像一个简单的后端框架一样,使用最好的模板引擎。CsP28资讯网——每日最新资讯28at.com

3、结论:为什么Astro是2023年最好的web框架?

在一个人们很容易分心的世界里,在我们用手机浏览互联网的地方,速度和页面加载是关键。CsP28资讯网——每日最新资讯28at.com

Astro是一个Web框架,你可以将其用作静态站点生成器(SSG)或简单的后端来呈现不需要作为SPA的页面。CsP28资讯网——每日最新资讯28at.com

Astro拥有最通用的模板引擎:CsP28资讯网——每日最新资讯28at.com

  • 它支持来自Vue、React、Svelte、Lit、Preact和Solid JS的外部组件。你可以轻松地重用表示组件。
  • 它具有基于文件的URL参数路由和查询支持
  • 它有图像优化和转换,支持Markdown,支持 .md和 .mdx,支持frontmatter
  • 它支持CSS作用域,支持SASS
  • 它具有脚本标记作用域和绑定
  • 它可以很容易地集成自定义元素,也就是web组件
  • 它对图像甚至组件都有延迟加载
  • 它具有静态API端点支持
  • 它支持多种运行时:Node、Deno和Bun!
  • 它可以轻松部署在主要的网络主机上,包括边缘:Netlify, Vercel, Cloudflare, Firebase, Surge, Render, Heroku 等等!

所有这些都使Astro成为最好的创作工具:CsP28资讯网——每日最新资讯28at.com

  • 活动网站
  • 清单的网站
  • 教程的网站
  • 投资组合的网站
  • 营销网站
  • 视频网站
  • 定制电子商务网站
  • 展示、博客或新闻网站

要创建简单的spa,比如一个带有固定音频播放器的网站,你可以使用Hotwire的Turbo和Astro。CsP28资讯网——每日最新资讯28at.com

现在,你甚至可以使用Astro对“视图转换”的新支持,它可以在页面导航期间保持状态。CsP28资讯网——每日最新资讯28at.com

我希望以上这些都能让你更好地理解为什么要创建Astro,以及为什么它是2023年基于内容的网站的最佳web框架。CsP28资讯网——每日最新资讯28at.com

参考链接:https://itnext.io/ok-astro-is-the-best-web-framework-in-2023-heres-why-734ca15c7062CsP28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-12756-0.html超越React,JS代码体积减少90%!它为何是2023年最好的Web框架?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Kubernetes新手完全指南

下一篇: XGBoost 2.0:对基于树的方法进行了重大更新

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 消息称迪士尼要拍真人版《魔发奇缘》:女主可能也找黑人演员

    8月5日消息,迪士尼确实有点忙,忙着将不少动画改成真人版,继《美人鱼》后,真人版《白雪公主》、《魔发奇缘》也在路上了。据外媒消息称,迪士尼将打造真人版
  • 摸鱼心法第一章——和配置文件说拜拜

    为了能摸鱼我们团队做了容器化,但是带来的问题是服务配置文件很麻烦,然后大家在群里进行了“亲切友好”的沟通图片图片图片图片对比就对比,简单对比下独立配置中心和k8s作为配
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 滴滴违法违规被罚80.26亿 共存在16项违法事实

    滴滴违法违规被罚80.26亿 存在16项违法事实开始于2121年7月,历经一年时间,网络安全审查办公室对“滴滴出行”网络安全审查终于有了一个暂时的结束。据“网信
  • 上海举办人工智能大会活动,建设人工智能新高地

    人工智能大会在上海浦江两岸隆重拉开帷幕,人工智能新技术、新产品、新应用、新理念集中亮相。8月30日晚,作为大会的特色活动之一的上海人工智能发展盛典人工
  • 北京:科技教育体验基地开始登记

      北京“科技馆之城”科技教育体验基地登记和认证工作日前启动。首批北京科技教育体验基地拟于2023年全国科普日期间挂牌,后续还将开展常态化登记。  北京科技教育体验基
Top