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

當前位置:首頁 > 科技  > 軟件

Astro是2023年最好的web框架,原因如下

來源: 責編: 時間:2023-10-08 07:05:29 277觀看
導讀以下解釋是全面理解為什么 Astro 在2023年成為最佳 web 框架所必需的。問題:JavaScript過多在 Web 開發世界中,變化發生得非常快,尤其是對前端JavaScript開發者而言。變化之快,以至于我們有時會忘記為誰創建網站和 web

bgD28資訊網——每日最新資訊28at.com

以下解釋是全面理解為什么 Astro 在2023年成為最佳 web 框架所必需的。bgD28資訊網——每日最新資訊28at.com

問題:JavaScript過多

在 Web 開發世界中,變化發生得非常快,尤其是對前端JavaScript開發者而言。bgD28資訊網——每日最新資訊28at.com

變化之快,以至于我們有時會忘記為誰創建網站和 web  應用:用戶。bgD28資訊網——每日最新資訊28at.com

自從 BackboneJS 和 AngularJS 在2011/2012年變得非常流行后,web 就被SPA(單頁應用)淹沒了。bgD28資訊網——每日最新資訊28at.com

別誤會,只要你想創建一個 web  應用而不是一個帶有少量JavaScript交互的網站,SPA 是非常好的。bgD28資訊網——每日最新資訊28at.com

但是... 因為 AngularJS 是由Google制作的,而且使用UI框架進行 JavaScript 編程比使用jQuery 更加時髦和客觀上更易于維護,人們開始為每一件事都創建 SPA。bgD28資訊網——每日最新資訊28at.com

是的,所有事情,甚至包括簡單的基于內容的網站...bgD28資訊網——每日最新資訊28at.com

這當時導致了兩個大問題:bgD28資訊網——每日最新資訊28at.com

  • 后端框架開始針對REST AP I響應進行優化,而不再渲染HTML。因此,我們越來越少地看到帶有模板引擎的后端框架,尤其是在NodeJS中。
  • SEO(搜索引擎優化)

SPA在客戶端進行渲染,這意味著當像Google這樣的搜索引擎爬蟲來索引內容時,它們什么也看不到。bgD28資訊網——每日最新資訊28at.com

于是,解決方案出現了:SSR(服務器端渲染)。bgD28資訊網——每日最新資訊28at.com

基本上,這意味著在后端執行前端代碼以進行初始渲染。bgD28資訊網——每日最新資訊28at.com

這樣做的問題是:我們需要一個NodeJS服務器,因為只有NodeJS后端才能執行客戶端語言JavaScript。bgD28資訊網——每日最新資訊28at.com

如果有一個基于內容的網站,這是很多額外的開銷。bgD28資訊網——每日最新資訊28at.com

于是,針對這些網站找到了解決方案:SSG(靜態站點生成器)和預渲染。bgD28資訊網——每日最新資訊28at.com

SSG在SPA成為一種事物之前就已經存在,但在上述問題出現后,它們變得越來越流行。bgD28資訊網——每日最新資訊28at.com

但是... 它們也有兩個大問題:bgD28資訊網——每日最新資訊28at.com

  • 要么它們用的是除JavaScript之外的其他語言編寫,這讓在不同項目之間共享UI組件變得非常困難。
  • 要么它們是基于像Vue、React或Svelte這樣的前端框架用JavaScript編寫的,因此由于我們稱之為“水合作用”,它們發送了過多的JavaScript。

現實是:有時你只需要一點點 JavaScript 來進行微互動。而且,甚至不是每個頁面都需要!bgD28資訊網——每日最新資訊28at.com

這就是 Astro 的用武之地。bgD28資訊網——每日最新資訊28at.com

解決方案:Astro

什么是Astro?

Astro 最初是一個基于 JavaScript 語言的靜態站點生成器(SSG),但默認情況下在客戶端不生成任何JavaScript。bgD28資訊網——每日最新資訊28at.com

它在構建時執行你的JS代碼,就像服務器端渲染(SSR)框架一樣,但它不進行水合作用(hydration),因為大多數基于內容的網站不需要 JS。bgD28資訊網——每日最新資訊28at.com

但是當你需要JS時,你該怎么辦?bgD28資訊網——每日最新資訊28at.com

只在需要時選擇使用 JavaScript

你可以像舊時一樣使用JavaScript,通過命令式DOM操作,或者...bgD28資訊網——每日最新資訊28at.com

使用像AlpineJS或Vue-petite這樣令人驚嘆的東西,它們是即插即用的,并且只發送少量的JS。bgD28資訊網——每日最新資訊28at.com

對于高級場景或當你需要重用其他項目中擁有的UI組件時,Astro創建了:Islands(島嶼)。bgD28資訊網——每日最新資訊28at.com

Astro Islands是獨立的組件,你可以從Vue、React、Svelte甚至更多的前端框架(見結論部分)中帶來!bgD28資訊網——每日最新資訊28at.com

這是他們能做的最方便的事情。bgD28資訊網——每日最新資訊28at.com

這些組件將被單獨渲染,并注入到最終的HTML中。要么是靜態的(沒有水合作用),要么是動態的(帶有JS)。bgD28資訊網——每日最新資訊28at.com

下面是一個使用 Astro 的最終HTML頁面可能的樣子:bgD28資訊網——每日最新資訊28at.com

bgD28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-12308-0.htmlAstro是2023年最好的web框架,原因如下

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

上一篇: 使用@Log和@Slf4j裝飾器提升Spring Boot的日志功能

下一篇: DDD架構下的防御式編程:五大關卡共同保障業務數據的有效性

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 兴和县| 郸城县| 乐业县| 盐源县| 通榆县| 静乐县| 东阿县| 大厂| 大姚县| 冷水江市| 冀州市| 甘孜| 溧水县| 金昌市| 太原市| 安丘市| 安达市| 洪湖市| 新兴县| 玛沁县| 改则县| 玉屏| 武隆县| 蒙自县| 炉霍县| 雷山县| 宜昌市| 库伦旗| 鄂温| 屏南县| 辉南县| 九寨沟县| 鸡西市| 阿瓦提县| 乌拉特前旗| 离岛区| 华容县| 搜索| 双牌县| 习水县| 阳高县|