国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
誤解一:Jamstack只是靜態(tài)網(wǎng)站的換名包裝
誤解二:Jamstack網(wǎng)站脆弱
誤解三:編輯內(nèi)容很困難
誤解四:Jamstack上的SEO很難
誤解五:Jamstack需要大量的JavaScript框架
我們可以改進(jìn)的地方
簡(jiǎn)單性
綁定服務(wù)
過(guò)度使用框架
下一步去哪里
首頁(yè) web前端 css教程 關(guān)于jamstack的5個(gè)神話

關(guān)于jamstack的5個(gè)神話

Apr 05, 2025 am 10:20 AM

5 Myths About Jamstack

Jamstack并非新生事物。盡管該術(shù)語(yǔ)在2016年正式出現(xiàn),但它所描述的技術(shù)和架構(gòu)早已存在。最近,Jamstack受到了廣泛關(guān)注,各大網(wǎng)站和出版物紛紛刊登相關(guān)報(bào)道,涌現(xiàn)出許多專注于Jamstack的活動(dòng)、新聞通訊、播客等等。作為一名密切關(guān)注Jamstack的開(kāi)發(fā)者,我什至觀察到Twitter上的相關(guān)討論顯著增加,其中許多人都是初次接觸這個(gè)概念。

熱議的同時(shí)也伴隨著批評(píng)。一些批評(píng)是合理的,我稍后會(huì)談到其中一些,但另一些似乎是基于一些持續(xù)存在的關(guān)于Jamstack的常見(jiàn)誤解,而這正是我首先要解決的問(wèn)題。因此,讓我們來(lái)看看我遇到的五個(gè)關(guān)于Jamstack的常見(jiàn)誤解,并一一駁斥它們。與許多誤解一樣,它們通?;谝恍┱鎸?shí)情況,但卻導(dǎo)致了錯(cuò)誤的結(jié)論。

誤解一:Jamstack只是靜態(tài)網(wǎng)站的換名包裝

JAMStack 99.9%是品牌營(yíng)銷(xiāo),0.1%是實(shí)際內(nèi)容。 ?? http://www.miracleart.cn/link/33f976eca39cccf5a14627fc9f6cf1b9

— Nicole Sullivan – Black Lives Matter (@stubbornella) 2020年2月9日

是的,正如我之前所述,“Jamstack”這個(gè)術(shù)語(yǔ)可以說(shuō)是對(duì)我們之前稱為“靜態(tài)網(wǎng)站”內(nèi)容的重新包裝。這并非旨在誤導(dǎo)或銷(xiāo)售尚未完全成型的產(chǎn)品——恰恰相反。 “靜態(tài)網(wǎng)站”這個(gè)術(shù)語(yǔ)早已無(wú)法描述人們正在構(gòu)建的內(nèi)容。使用靜態(tài)網(wǎng)站生成器(SSG) 構(gòu)建的網(wǎng)站通常包含各種動(dòng)態(tài)內(nèi)容和功能。

靜態(tài)網(wǎng)站主要被認(rèn)為是博客和文檔,其用戶界面主要固定不變。交互的范圍可能只是嵌入式評(píng)論和聯(lián)系表單。另一方面,Jamstack網(wǎng)站則包含用戶身份驗(yàn)證、動(dòng)態(tài)內(nèi)容、電子商務(wù)、用戶生成內(nèi)容等功能。

需要證據(jù)嗎?一些使用Jamstack構(gòu)建的知名公司和網(wǎng)站包括Smashing Magazine、Sphero、Postman、Prima、Impossible Foods和TriNet,僅舉幾例。

誤解二:Jamstack網(wǎng)站脆弱

Jay Freestone,在《關(guān)于JAMStack的問(wèn)題:你可能需要后端》一文中

閱讀Smashing Magazine的依賴項(xiàng)列表就像服務(wù)端的node_modules一樣,包括Algolia、GoCommerce、GoTrue、GoTell以及各種Netlify服務(wù),僅舉幾例。了解哪些內(nèi)容可以外包(以及何時(shí)外包)具有巨大的價(jià)值,但值得注意的是,在明顯試圖“回歸基礎(chǔ)”的過(guò)程中引入了復(fù)雜性。這更不用說(shuō)依賴如此多的不同第三方服務(wù)所帶來(lái)的潛在脆弱性了。

是的,為了實(shí)現(xiàn)將Jamstack與靜態(tài)網(wǎng)站區(qū)分開(kāi)來(lái)的動(dòng)態(tài)功能,Jamstack項(xiàng)目通常依賴于各種服務(wù),包括第一方或第三方服務(wù)。一些人認(rèn)為,這使得Jamstack網(wǎng)站特別容易受到攻擊,原因有兩個(gè)。首先,他們說(shuō),如果任何一個(gè)部分發(fā)生故障,整個(gè)網(wǎng)站的功能就會(huì)崩潰。其次,你的基礎(chǔ)設(shè)施變得過(guò)于依賴你所不擁有的工具和服務(wù)。

讓我們來(lái)解決第一個(gè)論點(diǎn)。 Jamstack網(wǎng)站的大部分內(nèi)容應(yīng)該預(yù)先渲染。這意味著當(dāng)用戶訪問(wèn)網(wǎng)站時(shí),頁(yè)面及其大部分內(nèi)容都將作為靜態(tài)資源從CDN交付。這就是Jamstack獲得大部分速度和安全性的原因。動(dòng)態(tài)功能——如購(gòu)物車(chē)、身份驗(yàn)證、用戶生成內(nèi)容和搜索——?jiǎng)t依賴于無(wú)服務(wù)器函數(shù)和API的組合來(lái)工作。

廣義地說(shuō),應(yīng)用程序?qū)⒄{(diào)用充當(dāng)后端的無(wú)服務(wù)器函數(shù)來(lái)連接到API。例如,如果我們的電子商務(wù)功能依賴于Stripe的API來(lái)工作,而Stripe宕機(jī)了,那么,是的,我們的電子商務(wù)功能將無(wú)法工作。但是,重要的是要注意,網(wǎng)站不會(huì)宕機(jī)。它可以通過(guò)告知用戶問(wèn)題來(lái)優(yōu)雅地處理這個(gè)問(wèn)題。依賴于Stripe API進(jìn)行電子商務(wù)的服務(wù)器端渲染頁(yè)面將面臨相同的問(wèn)題。假設(shè)服務(wù)器端渲染頁(yè)面仍然異步調(diào)用后端代碼進(jìn)行支付,那么它與Jamstack版本相比,不會(huì)更脆弱或更不脆弱。另一方面,如果服務(wù)器端渲染實(shí)際上依賴于API調(diào)用,則用戶可能會(huì)卡在等待響應(yīng)或收到錯(cuò)誤消息(任何使用網(wǎng)絡(luò)的人都非常熟悉這種情況)。

至于第二個(gè)論點(diǎn),很難衡量Jamstack Web應(yīng)用程序與服務(wù)器端渲染應(yīng)用程序?qū)Φ谌降囊蕾嚦潭?。?dāng)今許多服務(wù)器端渲染應(yīng)用程序仍然依賴于API來(lái)實(shí)現(xiàn)大量功能,因?yàn)檫@允許更快的開(kāi)發(fā),利用提供商的特定專業(yè)領(lǐng)域,可以卸載法律和其他合規(guī)性問(wèn)題的責(zé)任等等。在這些情況下,服務(wù)器端渲染版本再次不會(huì)比Jamstack版本更依賴或更不依賴。誠(chéng)然,如果你的應(yīng)用程序主要依賴于內(nèi)部或自制的解決方案,那么情況可能會(huì)有所不同。

誤解三:編輯內(nèi)容很困難

Kev Quirk,在《為什么我不使用靜態(tài)網(wǎng)站生成器》一文中:

必須SSH進(jìn)入Linux盒子,然后在Vim上編輯文章,這在移動(dòng)寫(xiě)作方面似乎是一個(gè)非常高的入門(mén)門(mén)檻。無(wú)論你是否喜歡,當(dāng)今世界都是移動(dòng)優(yōu)先的,因此移動(dòng)寫(xiě)作應(yīng)該很容易。

這個(gè)問(wèn)題感覺(jué)像是過(guò)去靜態(tài)網(wǎng)站的遺留問(wèn)題。需要明確的是,你不需要SSH進(jìn)入Linux盒子來(lái)編輯你的網(wǎng)站內(nèi)容。有各種各樣的無(wú)頭CMS選項(xiàng),從完全免費(fèi)和開(kāi)源到為大型企業(yè)提供內(nèi)容的商業(yè)產(chǎn)品。它們提供的編輯功能可以與任何傳統(tǒng)的CMS相媲美(我之前談到過(guò)這一點(diǎn))。關(guān)鍵是,沒(méi)有理由手動(dòng)編輯Markdown、YAML或JSON文件,即使是在你的博客副項(xiàng)目上也是如此。不確定如何連接所有這些部分?我們也有解決方案!

一個(gè)合理的批評(píng)是,無(wú)頭CMS和構(gòu)建過(guò)程可能會(huì)導(dǎo)致正在編輯的內(nèi)容與網(wǎng)站上的更改之間脫節(jié)。在發(fā)布之前,或者沒(méi)有一些復(fù)雜的構(gòu)建預(yù)覽過(guò)程,很難準(zhǔn)確預(yù)覽更改對(duì)實(shí)時(shí)網(wǎng)站的影響。生態(tài)系統(tǒng)正在解決這個(gè)問(wèn)題。像Stackbit(我工作的地方)這樣的公司正在構(gòu)建使這個(gè)過(guò)程無(wú)縫的工具。

我們并不是唯一致力于解決這個(gè)問(wèn)題的人。其他解決方案包括TinaCMS和Gatsby Preview。我認(rèn)為我們即將在Jamstack之上運(yùn)行像Wix這樣的工具上實(shí)現(xiàn)所見(jiàn)即所得編輯的簡(jiǎn)單性。

誤解四:Jamstack上的SEO很難

Kym Ellis,在《JAMstack對(duì)營(yíng)銷(xiāo)意味著什么》一文中:

放棄插件的概念,選擇一個(gè)“只是HTML”的JAMstack網(wǎng)站,并不意味著你必須放棄功能,或者突然需要像前端開(kāi)發(fā)人員一樣學(xué)習(xí)編碼來(lái)管理網(wǎng)站及其內(nèi)容。

近年來(lái),我沒(méi)有看到這個(gè)問(wèn)題經(jīng)常出現(xiàn),我認(rèn)為這主要是靜態(tài)網(wǎng)站時(shí)代的遺留批評(píng),當(dāng)時(shí)管理與SEO相關(guān)的元數(shù)據(jù)涉及手動(dòng)編輯基于YAML的frontmatter。人們擔(dān)心,正確地進(jìn)行SEO會(huì)變得繁瑣且難以維護(hù),特別是如果你想為每個(gè)生成的唯一頁(yè)面注入不同的元數(shù)據(jù),或者創(chuàng)建像JSON-LD這樣的結(jié)構(gòu)化數(shù)據(jù),這對(duì)于增強(qiáng)你的搜索列表至關(guān)重要。

Jamstack在內(nèi)容管理方面的進(jìn)步通常解決了維護(hù)SEO元數(shù)據(jù)的復(fù)雜性。此外,由于頁(yè)面是預(yù)先渲染的,因此添加站點(diǎn)地圖和JSON-LD相對(duì)簡(jiǎn)單,前提是所需的元數(shù)據(jù)存在。預(yù)渲染使創(chuàng)建搜索引擎(即谷歌)需要索引網(wǎng)站的資源變得容易,它們也與CDN結(jié)合,使實(shí)現(xiàn)提高網(wǎng)站排名的性能基準(zhǔn)變得更容易。

基本上,Jamstack擅長(zhǎng)“技術(shù)SEO”,同時(shí)也為內(nèi)容編輯器提供了他們所需的關(guān)鍵詞和其他元數(shù)據(jù)。要更全面地了解Jamstack和SEO,我強(qiáng)烈建議查看Bejamas的Jamstack SEO指南。

誤解五:Jamstack需要大量的JavaScript框架

如果你試圖向癡迷于最新框架的管理層銷(xiāo)售普通的網(wǎng)站,那么一個(gè)宣傳“JAMstack”優(yōu)勢(shì)的漂亮網(wǎng)站就非常有用。

– jdietrich,Hacker News

最近,Jamstack似乎已成為前端JavaScript框架的代名詞。確實(shí),許多最著名的解決方案都依賴于前端框架,包括Gatsby(React)、Next.js(React)、Nuxt(Vue)、VuePress(Vue)、Gridsome(Vue)和Scully(Angular)。這似乎是由對(duì)Jamstack中“J”的混淆加劇的。雖然它代表JavaScript,但這并不意味著所有Jamstack解決方案都是基于JavaScript的,也不意味著它們都需要npm或JavaScript框架。

事實(shí)上,許多最廣泛使用的工具并非用JavaScript構(gòu)建,特別是Hugo(Go)、Jekyll(Ruby)、Pelican(Python)和最近發(fā)布的Bridgetown(Ruby)。同時(shí),像Eleventy這樣的工具是用JavaScript構(gòu)建的,但并不依賴于JavaScript框架。這些工具都沒(méi)有阻止使用JavaScript框架,但它們并不需要它。

這里的重點(diǎn)并不是要拋棄JavaScript框架或使用它們的工具。這些都是很棒的工具,被許多開(kāi)發(fā)人員成功使用。 JavaScript框架可以是非常強(qiáng)大的工具,能夠簡(jiǎn)化一些非常復(fù)雜的任務(wù)。這里的重點(diǎn)僅僅是,認(rèn)為需要JavaScript框架才能使用Jamstack的想法是錯(cuò)誤的——Jamstack有460種風(fēng)格!

我們可以改進(jìn)的地方

就是這樣嗎? Jamstack是一個(gè)理想的Web開(kāi)發(fā)世界,在那里一切不僅完美,而且非常容易。不幸的是,不是。 Jamstack有很多合理的批評(píng)。

簡(jiǎn)單性

Sebastian De Deyne,在《在與JAMstack打交道后的想法(和疑問(wèn))》一文中:

以我的經(jīng)驗(yàn),JAMstack(JavaScript、API和標(biāo)記)很棒,直到它不再很棒。當(dāng)有一天我需要添加一些動(dòng)態(tài)內(nèi)容時(shí)——而這一天總是會(huì)到來(lái)——我開(kāi)始撓頭。

說(shuō)實(shí)話:開(kāi)始使用Jamstack并不容易。當(dāng)然,使用靜態(tài)網(wǎng)站生成器來(lái)構(gòu)建博客或簡(jiǎn)單網(wǎng)站可能并不特別困難。但是,嘗試構(gòu)建一個(gè)具有任何動(dòng)態(tài)功能的真實(shí)網(wǎng)站,事情很快就會(huì)變得復(fù)雜起來(lái)。

你通常會(huì)遇到許多完成任務(wù)的選項(xiàng),這使得權(quán)衡利弊變得困難。 Jamstack最好的方面之一是它不是規(guī)定性的,但這可能會(huì)使它看起來(lái)難以接近,讓人們留下這樣的印象:它可能不適合復(fù)雜的任務(wù)。

綁定服務(wù)

當(dāng)你真正開(kāi)始構(gòu)建那些動(dòng)態(tài)功能時(shí),你的網(wǎng)站最終可能會(huì)依賴于一系列服務(wù)和API。你可能會(huì)調(diào)用無(wú)頭CMS獲取內(nèi)容,調(diào)用API進(jìn)行支付交易的無(wú)服務(wù)器函數(shù),像Algolia這樣的搜索服務(wù)等等。將所有這些部分整合在一起可能是一項(xiàng)非常復(fù)雜的任務(wù)。再加上每個(gè)部分通常都有自己的儀表板和API/SDK更新,事情變得更加復(fù)雜。

這就是為什么我認(rèn)為Stackbit這樣的服務(wù)和RedwoodJS這樣的工具很重要,因?yàn)樗鼈儗amstack網(wǎng)站背后的不同部分整合在一起,并使這些部分更容易構(gòu)建和管理。

過(guò)度使用框架

在我看來(lái),我們對(duì)現(xiàn)代前端開(kāi)發(fā)中JavaScript框架的依賴最近受到了急需的質(zhì)疑。正如Tim Kadlec最近的這篇文章所闡述的那樣,存在權(quán)衡。正如我之前所說(shuō),你不需要JavaScript框架就可以在Jamstack中工作。

然而,這種印象的產(chǎn)生是因?yàn)樵S多Jamstack工具依賴于JavaScript框架,而且我們教授Jamstack的方式也主要集中在使用框架上。我理解這樣做的原因——許多Jamstack開(kāi)發(fā)人員對(duì)JavaScript框架很熟悉,而且不可能教授每種工具,所以你選擇你喜歡的工具。盡管如此,我個(gè)人認(rèn)為Jamstack的長(zhǎng)期成功取決于它的靈活性,這(盡管我上面提到了簡(jiǎn)單性)意味著我們需要展示它提供的各種解決方案——無(wú)論是否使用JavaScript框架。

下一步去哪里

哇,你做到了!我知道我有很多話要說(shuō),也許比我開(kāi)始寫(xiě)作時(shí)意識(shí)到的還要多,所以我不會(huì)用冗長(zhǎng)的結(jié)論來(lái)煩你,除了要說(shuō),顯然,我已經(jīng)從一個(gè)非常相信Jamstack價(jià)值的人的角度來(lái)呈現(xiàn)這些誤解,盡管它有缺陷!

如果你正在尋找一篇關(guān)于何時(shí)以及何時(shí)不選擇Jamstack而不是服務(wù)器端渲染的好文章,請(qǐng)查看Chris Coyier最近的文章《靜態(tài)與否? 》。

以上是關(guān)于jamstack的5個(gè)神話的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

熱門(mén)話題

什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會(huì)阻塞頁(yè)面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量?jī)?nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過(guò)JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合并CSS減少請(qǐng)求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過(guò)度拆分與復(fù)雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進(jìn)性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個(gè)根據(jù)目標(biāo)瀏覽器范圍自動(dòng)為CSS屬性添加廠商前綴的工具。1.它解決了手動(dòng)維護(hù)前綴易出錯(cuò)的問(wèn)題;2.通過(guò)PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項(xiàng)有不手動(dòng)加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

什么是CSS計(jì)數(shù)器? 什么是CSS計(jì)數(shù)器? Jun 19, 2025 am 12:34 AM

csscounterscanautomationallymentermentermentections和lists.1)usecounter-ensettoInitializize,反插入式發(fā)芽,andcounter()orcounters()

CSS:何時(shí)重要(何時(shí)不)? CSS:何時(shí)重要(何時(shí)不)? Jun 19, 2025 am 12:27 AM

在CSS中,選擇器和屬性名不區(qū)分大小寫(xiě),而值、命名顏色、URL和自定義屬性則區(qū)分大小寫(xiě)。1.選擇器和屬性名不區(qū)分大小寫(xiě),例如background-color和Background-Color相同。2.值中的十六進(jìn)制顏色不區(qū)分大小寫(xiě),但命名顏色區(qū)分大小寫(xiě),如red有效而Red無(wú)效。3.URL區(qū)分大小寫(xiě),可能導(dǎo)致文件加載問(wèn)題。4.自定義屬性(變量)區(qū)分大小寫(xiě),使用時(shí)需注意大小寫(xiě)一致。

CSS中的情況敏感性:選擇器,屬性和值所解釋的 CSS中的情況敏感性:選擇器,屬性和值所解釋的 Jun 19, 2025 am 12:38 AM

cssselectorsand and propertynamesarecase-insimentimentiment.1)selectorSlike like'div'div'div'div'and'and'and'And'Andiv'areequivalent.2)propertioessuchas'backusuchas'backusuchas'backusuchas'backusuchas'backer'back-and'background and backorgook crolor'backorground-artreateateDthesementhesame.3)

See all articles