日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

超越React,JS代碼體積減少90%!它為何是2023年最好的Web框架?

來源: 責(zé)編: 時間:2023-10-10 18:32:29 315觀看
導(dǎo)讀作者丨Futari Boy編譯丨諾亞說到Web框架,大家最先想到的可能是 Vue、React,或者是Next.js。但不得不提,有個后起之秀“來勢洶洶”,1.0版本發(fā)布至今僅一年,就出盡風(fēng)頭。它就是Astro。Astro 是什么?一個現(xiàn)代化的靜態(tài)站點生成

作者丨Futari BoyS3m28資訊網(wǎng)——每日最新資訊28at.com

編譯丨諾亞S3m28資訊網(wǎng)——每日最新資訊28at.com

說到Web框架,大家最先想到的可能是 Vue、React,或者是Next.js。但不得不提,有個后起之秀“來勢洶洶”,1.0版本發(fā)布至今僅一年,就出盡風(fēng)頭。它就是Astro。S3m28資訊網(wǎng)——每日最新資訊28at.com

Astro 是什么?一個現(xiàn)代化的靜態(tài)站點生成器和前端框架。它允許開發(fā)人員使用組件化的方式構(gòu)建內(nèi)容優(yōu)先的網(wǎng)站。2022 年,Astro在JavaScript明星項目中排名第七,一年新增了15k star!S3m28資訊網(wǎng)——每日最新資訊28at.com

順帶一提,Astro 的作者也非無名之輩,而是Snowpack的作者 Fred K. Schott,這位可以說是Unbundle 構(gòu)建工具的祖師爺。S3m28資訊網(wǎng)——每日最新資訊28at.com

有人說,Astro是2023年最好的Web框架。事實真的如此嗎?且聽我逐一道來。S3m28資訊網(wǎng)——每日最新資訊28at.com

1、問題:JavaScript太多了

在web開發(fā)世界中,事情變化很快,特別是對于JavaScript前端開發(fā)人員。S3m28資訊網(wǎng)——每日最新資訊28at.com

如此之快,以至于我們有時忽略或忘記了我們到底在為誰創(chuàng)建網(wǎng)站和web應(yīng)用程序:用戶。S3m28資訊網(wǎng)——每日最新資訊28at.com

自從BackboneJS和AngularJS在2011/2012年變得非常流行以來,網(wǎng)絡(luò)上就充斥著spa。S3m28資訊網(wǎng)——每日最新資訊28at.com

不要誤解我的意思,spa是很棒的,只要你想創(chuàng)建一個web應(yīng)用程序,而不是一個只有少量JavaScript交互的網(wǎng)站。S3m28資訊網(wǎng)——每日最新資訊28at.com

但是,因為AngularJS是由Google開發(fā)的,而且用UI框架做JavaScript比用jQuery更漂亮,客觀上也更容易維護,所以人們開始為一切都創(chuàng)建spa。S3m28資訊網(wǎng)——每日最新資訊28at.com

是的,一切,即使是簡單的基于內(nèi)容的網(wǎng)站……S3m28資訊網(wǎng)——每日最新資訊28at.com

這在當(dāng)時導(dǎo)致了兩個大問題:S3m28資訊網(wǎng)——每日最新資訊28at.com

第一,后端框架開始針對REST API響應(yīng)進行優(yōu)化,不再呈現(xiàn)HTML。因此,我們使用模板引擎的后端框架越來越少。特別是在NodeJS中。S3m28資訊網(wǎng)——每日最新資訊28at.com

第二,SEO(搜索引擎優(yōu)化)。S3m28資訊網(wǎng)——每日最新資訊28at.com

spa是在客戶端渲染的,這意味著當(dāng)像谷歌這樣的搜索引擎爬蟲進入索引內(nèi)容時,它們什么都沒有看到。S3m28資訊網(wǎng)——每日最新資訊28at.com

所以我們找到了解決辦法,SSR。S3m28資訊網(wǎng)——每日最新資訊28at.com

基本上,就是在后端執(zhí)行前端代碼以進行初始渲染。S3m28資訊網(wǎng)——每日最新資訊28at.com

問題是:你需要一個NodeJS服務(wù)器,因為只有NodeJS后端可以執(zhí)行客戶端的JavaScript語言。S3m28資訊網(wǎng)——每日最新資訊28at.com

如果你有一個基于內(nèi)容的網(wǎng)站,這是一筆很大的開銷。S3m28資訊網(wǎng)——每日最新資訊28at.com

因此,我們?yōu)檫@些網(wǎng)站找到了一個解決方案:SSG和預(yù)渲染。S3m28資訊網(wǎng)——每日最新資訊28at.com

SSG代表“靜態(tài)站點生成器”。在spa出現(xiàn)之前,它們就已經(jīng)存在了,但在上述問題提出后,它們變得流行起來。S3m28資訊網(wǎng)——每日最新資訊28at.com

但是,他們也有兩個大問題:S3m28資訊網(wǎng)——每日最新資訊28at.com

  • 它們要么是用JavaScript以外的另一種語言編寫的,這使得在不同項目之間共享UI片段變得非常困難。
  • 或者它們是基于Vue、React或Svelte等前端框架使用JavaScript編寫的,因此,由于我們所說的Hydration(水化),發(fā)布了太多JavaScript。

現(xiàn)實是:有時你只需要一點點JavaScript來進行微交互。而且,不是每一頁都寫!S3m28資訊網(wǎng)——每日最新資訊28at.com

這就是Astro的用武之地。S3m28資訊網(wǎng)——每日最新資訊28at.com

Astro開發(fā)團隊最初的設(shè)計目標(biāo)就是:用 Astro 建立一個緩慢的網(wǎng)站幾乎是不可能的。測試顯示,與React Web 框架構(gòu)建的相同網(wǎng)站相比,Astro 網(wǎng)站的加載速度可以提高 40%,而JS代碼的體積可以減少90% 。S3m28資訊網(wǎng)——每日最新資訊28at.com

2、解決方案:Astro

Astro最初是一個基于JavaScript語言的SSG,但在客戶端默認不生成JavaScript。S3m28資訊網(wǎng)——每日最新資訊28at.com

它在構(gòu)建時執(zhí)行JS代碼,就像SSR框架一樣,但它不會hydration(水化),因為大多數(shù)基于內(nèi)容的網(wǎng)站不需要JS。S3m28資訊網(wǎng)——每日最新資訊28at.com

但是當(dāng)你需要JS的時候,你該怎么辦呢?S3m28資訊網(wǎng)——每日最新資訊28at.com

在需要時選擇加入JavaScriptS3m28資訊網(wǎng)——每日最新資訊28at.com

你可以像以前那樣使用JavaScript,使用命令式DOM操作或者……S3m28資訊網(wǎng)——每日最新資訊28at.com

使用像AlpineJS或Vue-petite這樣的東西,它們是即插即用的,只提供少量JS。S3m28資訊網(wǎng)——每日最新資訊28at.com

對于高級場景,或者當(dāng)你需要重用來自其他項目的UI組件時,Astro創(chuàng)建了:Islands。S3m28資訊網(wǎng)——每日最新資訊28at.com

Astro Islands是你可以從Vue、React、Svelte甚至更多前端框架中引入的獨立組件!S3m28資訊網(wǎng)——每日最新資訊28at.com

這些組件將被單獨渲染并注入到最終的HTML中。靜態(tài)(沒有hydration)或動態(tài)(使用JS)。S3m28資訊網(wǎng)——每日最新資訊28at.com

以下是Astro最終HTML頁面的樣子:S3m28資訊網(wǎng)——每日最新資訊28at.com

S3m28資訊網(wǎng)——每日最新資訊28at.com

在像Nuxt或NextJS這樣的框架中,頁面加載后沒有任何內(nèi)容是靜態(tài)的,因為它會對整個頁面進行hydration,從而注入不必要的JavaScript。S3m28資訊網(wǎng)——每日最新資訊28at.com

之前提到,Astro最初是一個SSG,如今,它不止于此。S3m28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在Astro也支持SSR,這意味著它也可以像一個簡單的后端框架一樣,使用最好的模板引擎。S3m28資訊網(wǎng)——每日最新資訊28at.com

3、結(jié)論:為什么Astro是2023年最好的web框架?

在一個人們很容易分心的世界里,在我們用手機瀏覽互聯(lián)網(wǎng)的地方,速度和頁面加載是關(guān)鍵。S3m28資訊網(wǎng)——每日最新資訊28at.com

Astro是一個Web框架,你可以將其用作靜態(tài)站點生成器(SSG)或簡單的后端來呈現(xiàn)不需要作為SPA的頁面。S3m28資訊網(wǎng)——每日最新資訊28at.com

Astro擁有最通用的模板引擎:S3m28資訊網(wǎng)——每日最新資訊28at.com

  • 它支持來自Vue、React、Svelte、Lit、Preact和Solid JS的外部組件。你可以輕松地重用表示組件。
  • 它具有基于文件的URL參數(shù)路由和查詢支持
  • 它有圖像優(yōu)化和轉(zhuǎn)換,支持Markdown,支持 .md和 .mdx,支持frontmatter
  • 它支持CSS作用域,支持SASS
  • 它具有腳本標(biāo)記作用域和綁定
  • 它可以很容易地集成自定義元素,也就是web組件
  • 它對圖像甚至組件都有延遲加載
  • 它具有靜態(tài)API端點支持
  • 它支持多種運行時:Node、Deno和Bun!
  • 它可以輕松部署在主要的網(wǎng)絡(luò)主機上,包括邊緣:Netlify, Vercel, Cloudflare, Firebase, Surge, Render, Heroku 等等!

所有這些都使Astro成為最好的創(chuàng)作工具:S3m28資訊網(wǎng)——每日最新資訊28at.com

  • 活動網(wǎng)站
  • 清單的網(wǎng)站
  • 教程的網(wǎng)站
  • 投資組合的網(wǎng)站
  • 營銷網(wǎng)站
  • 視頻網(wǎng)站
  • 定制電子商務(wù)網(wǎng)站
  • 展示、博客或新聞網(wǎng)站

要創(chuàng)建簡單的spa,比如一個帶有固定音頻播放器的網(wǎng)站,你可以使用Hotwire的Turbo和Astro。S3m28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在,你甚至可以使用Astro對“視圖轉(zhuǎn)換”的新支持,它可以在頁面導(dǎo)航期間保持狀態(tài)。S3m28資訊網(wǎng)——每日最新資訊28at.com

我希望以上這些都能讓你更好地理解為什么要創(chuàng)建Astro,以及為什么它是2023年基于內(nèi)容的網(wǎng)站的最佳web框架。S3m28資訊網(wǎng)——每日最新資訊28at.com

參考鏈接:https://itnext.io/ok-astro-is-the-best-web-framework-in-2023-heres-why-734ca15c7062S3m28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-12756-0.html超越React,JS代碼體積減少90%!它為何是2023年最好的Web框架?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Kubernetes新手完全指南

下一篇: XGBoost 2.0:對基于樹的方法進行了重大更新

標(biāo)簽:
  • 熱門焦點
  • 盧偉冰長文解析K60至尊版 對Redmi有著里程碑式的意義

    在今天的Redmi后性能時代戰(zhàn)略發(fā)布會結(jié)束之后,Redmi總經(jīng)理盧偉冰又帶來了一篇長文,詳解了為什么 Redmi 要開啟后性能時代?為什么選擇和 MediaTek、Pixelworks 深度合作?以及后性
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優(yōu)化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現(xiàn)了一個流處理程序
  • Flowable工作流引擎的科普與實踐

    一.引言當(dāng)我們在日常工作和業(yè)務(wù)中需要進行各種審批流程時,可能會面臨一系列技術(shù)和業(yè)務(wù)上的挑戰(zhàn)。手動處理這些審批流程可能會導(dǎo)致開發(fā)成本的增加以及業(yè)務(wù)復(fù)雜度的上升。在這
  • JVM優(yōu)化:實戰(zhàn)OutOfMemoryError異常

    一、Java堆溢出堆內(nèi)存中主要存放對象、數(shù)組等,只要不斷地創(chuàng)建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當(dāng)這些對象所占空間超過
  • 為什么你不應(yīng)該使用Div作為可點擊元素

    按鈕是為任何網(wǎng)絡(luò)應(yīng)用程序提供交互性的最常見方式。但我們經(jīng)常傾向于使用其他HTML元素,如 div span 等作為 clickable 元素。但通過這樣做,我們錯過了許多內(nèi)置瀏覽器的功能。
  • 最“俊美”淘寶賣家,靠直播和短視頻圈粉,上架秒光,年銷3000萬

    來源 | 電商在線文|易琬玉編輯|斯問受訪店鋪:Ringdoll戒之人形圖源:微博@御座的黃山、“Ringdoll戒之人形”淘寶店鋪有關(guān)外貌的評價,黃山已經(jīng)聽累了。生于1985年的他,哪
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設(shè)計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 攜眾多高端產(chǎn)品亮相ChinaJoy,小米帶來一場科技與人文的視聽盛宴

    7月28日,全球數(shù)字娛樂領(lǐng)域最具知名度與影響力的年度盛會中國國際數(shù)碼互動娛樂展覽會(簡稱ChinaJoy)在上海新國際博覽中心盛大開幕。作為全球領(lǐng)先的科
  • 三星折疊屏手機去年銷售近1000萬臺 今年目標(biāo)定為1500萬

    7月29日消息,三星率先發(fā)力可折疊手機市場,在全球市場已經(jīng)取得了非常亮眼的成績,接下來會進一步鞏固和擴大這一優(yōu)勢。三星在推出Galaxy Z Flip5和Galax
Top 主站蜘蛛池模板: 沽源县| 惠安县| 诏安县| 贵阳市| 乐东| 库车县| 察隅县| 嵩明县| 旺苍县| 天台县| 定日县| 南康市| 苏尼特左旗| 呼伦贝尔市| 昂仁县| 沽源县| 河曲县| 珠海市| 岐山县| 华亭县| 太原市| 永定县| 泾源县| 军事| 休宁县| 社旗县| 张家界市| 平舆县| 西平县| 如东县| 阿荣旗| 清徐县| 扎囊县| 竹北市| 贡嘎县| 遂昌县| 黔西| 德保县| 东至县| 民丰县| 九台市|