自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2021年了,jQuery的狀態(tài)如何?

開(kāi)發(fā) 前端
jQuery使我們更容易開(kāi)發(fā)動(dòng)態(tài) Web 應(yīng)用程序,尤其是涉及到 DOM 操作和網(wǎng)絡(luò)請(qǐng)求時(shí),jQuery 更加直接。但是現(xiàn)在,發(fā)生了什么變化,誰(shuí)還在使用它,它的受歡迎程度如何?以下是答案。

我今天一直在使用jQuery——經(jīng)過(guò)這么多年和許多項(xiàng)目。這個(gè)庫(kù)出現(xiàn)在2006年,比React、Vue甚至Angular.js早了許多年。

jQuery 曾經(jīng)是 JavaScript 世界的關(guān)鍵。它使我們更容易開(kāi)發(fā)動(dòng)態(tài) Web 應(yīng)用程序。尤其是涉及到 DOM 操作和網(wǎng)絡(luò)請(qǐng)求時(shí),jQuery 更加直接。

但是現(xiàn)在,發(fā)生了什么變化,誰(shuí)還在使用它,它的受歡迎程度如何?以下是答案。

[[412950]]

那么,jQuery 中有什么新東西?

我做了一個(gè)努力:我回到了2016年的jQuery官方博客頁(yè)面,看看有什么變化。

答案是:老實(shí)說(shuō),沒(méi)有發(fā)生太多事情。是的,jQuery 3 有很多變化——但沒(méi)有一個(gè)是真正值得注意的。過(guò)去幾年沒(méi)有像 React.js 中引入鉤子這樣的更新。

小的變化是支持 for-of 循環(huán),所以它現(xiàn)在可以被用于jQuery對(duì)象。在底層,jQuery現(xiàn)在也使用 requestAnimationFrame() 來(lái)執(zhí)行動(dòng)畫。

然而,沒(méi)有更顯著的變化。原因很簡(jiǎn)單:jQuery已經(jīng)把它應(yīng)該做的事情做到了足夠的程度。

公司還在使用它嗎?

當(dāng)談到選擇一項(xiàng)技術(shù)時(shí),市場(chǎng)上的大公司發(fā)揮著重要作用。當(dāng)有能力的開(kāi)發(fā)者團(tuán)隊(duì)選擇一項(xiàng)技術(shù)時(shí),它的分量很重。即使jQuery正在失去人氣,它仍然在網(wǎng)絡(luò)上發(fā)揮著巨大的作用。

據(jù) Wappalyzer 稱,在所有使用 JavaScript 庫(kù)的網(wǎng)站中,jQuery 仍占超過(guò) 34% 的巨大份額。

當(dāng)然,對(duì)此類數(shù)據(jù)應(yīng)該持保留態(tài)度:僅僅因?yàn)槿杂袛?shù)千或數(shù)百萬(wàn)個(gè)網(wǎng)站仍在使用這項(xiàng)技術(shù),并不意味著這是一個(gè)好的決定。 jQuery 也已成為其他庫(kù)必不可少的工具。

其中一個(gè)偉大的用途是Bootstrap,這個(gè)CSS框架使用jQuery進(jìn)行所有的DOM操作,只有在Bootstrap 5中,才取消了包含jQuery。

事實(shí)上,Stack Overflow 仍然使用 jQuery。其他使用 jQuery 的公司包括:

  • Wellsfargo.com
  • Microsoft.com
  • Salesforce.com

是的,即使是微軟。盡管如此,我不會(huì)將公司的技術(shù)棧視為唯一的真理。甚至他們的網(wǎng)站也有犯錯(cuò)誤或沒(méi)有時(shí)間優(yōu)化的人。

jQuery已死

我不喜歡宣布技術(shù)“已死”。畢竟,科技行業(yè)不是醫(yī)院。不過(guò),你不得不承認(rèn) jQuery 已經(jīng)失去了極大的人氣,尤其是在過(guò)去的五年里:

但這是為什么呢?好吧,因?yàn)橄?React、Vue 和 Angular 這樣的框架和庫(kù)變得越來(lái)越流行,許多人認(rèn)為。但這肯定不是原因。流行的框架和jQuery有完全不同的方法。是的,兩者的重點(diǎn)都是讓構(gòu)建web應(yīng)用程序更容易。盡管如此,它們之間還是有很大的不同。

這些框架都是關(guān)于可重用組件、數(shù)據(jù)綁定、狀態(tài)和單頁(yè)應(yīng)用程序的。另一方面,jQuery應(yīng)該永遠(yuǎn)像純JavaScript的方言,正如你在下面的例子中可以很好地看到。

  1. let el = document.getElementById('contents'); 
  2.  
  3. // the jQuery way:  
  4. let el = $('#contents'); 

你不應(yīng)該對(duì)所有東西都使用React、Vue或Angular。對(duì)于沒(méi)有jQuery的站點(diǎn)來(lái)說(shuō),jQuery仍然是一個(gè)很大的幫助。

框架并沒(méi)有殺死jQuery。

現(xiàn)代 JavaScript 殺死了 jQuery。

尤其是方法 document.querySelector() 許多 jQuery 粉絲引用作為他們切換的原因。 (我也經(jīng)常使用 jQuery,因?yàn)?$() 語(yǔ)法實(shí)用)。

JavaScript 的發(fā)展使我們更容易訪問(wèn) DOM。即使是 jQuery 處理得非常好的網(wǎng)絡(luò)請(qǐng)求,在 JavaScript 中也變得更加簡(jiǎn)單。

我們可能會(huì)錯(cuò)誤地評(píng)估 jQuery 如何影響性能

當(dāng)然,庫(kù)對(duì)你的網(wǎng)站的性能來(lái)說(shuō)并不是那么好。特別是如果它們很大,加載時(shí)間就會(huì)增加。但是,jQuery只有30kb,并不是那么大。作為比較,看看Vue、React.js和Angular的壓縮和最小化的NPM包。

  • vue: 22 kb
  • react-dom + react: 41 kb
  • angular: 62 kb

重要提示:這只是包的大小。應(yīng)用程序的生產(chǎn)包的大小要大得多!因此,在加載時(shí)間方面,jQuery 做得很好。

但是渲染性能呢?

大型框架喜歡爭(zhēng)奪誰(shuí)的性能最好。基準(zhǔn)測(cè)試通常是同時(shí)渲染巨大的表或數(shù)千個(gè)狀態(tài)更新。你已經(jīng)可以在這樣的實(shí)驗(yàn)中看到不同之處——當(dāng)然,原生JS 擊敗了他們。

但老實(shí)說(shuō),基準(zhǔn)通常沒(méi)有那么有意義。特別是對(duì)于只顯示內(nèi)容而不是“應(yīng)用程序”的網(wǎng)站,庫(kù)的渲染性能幾乎不重要。用戶不會(huì)注意到下拉列表使用了“慢速”庫(kù)。

最后的想法

我認(rèn)為仍然使用 jQuery 并沒(méi)有錯(cuò)。該庫(kù)在許多情況下仍然非常有用,特別是如果您已經(jīng)掌握了它。但是,值得一試現(xiàn)代 JavaScript。

如果你想優(yōu)化你的web應(yīng)用程序的性能到最后的細(xì)節(jié),jQuery沒(méi)有任何作用。你可以通過(guò)用普通JS編寫所有內(nèi)容來(lái)節(jié)省30kb的代碼。

jQuery過(guò)去和現(xiàn)在都更適合于那些以內(nèi)容為主的網(wǎng)站,而不是以功能為主。在更復(fù)雜的網(wǎng)絡(luò)應(yīng)用中,React和其他公司的組件理念是一個(gè)很好的切入點(diǎn)。

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2021-08-14 08:45:27

React開(kāi)發(fā)應(yīng)用程序

2021-02-22 17:27:02

比特幣加密貨幣貨幣

2021-01-21 09:35:36

云計(jì)算云計(jì)算產(chǎn)業(yè)云應(yīng)用

2021-01-11 15:02:27

Redis數(shù)據(jù)庫(kù)命令

2021-12-09 18:32:08

Chrome插件瀏覽器

2021-01-15 11:30:29

遠(yuǎn)程協(xié)作統(tǒng)一通信網(wǎng)絡(luò)

2020-11-20 12:46:47

谷歌Android開(kāi)發(fā)者

2021-12-31 11:20:37

區(qū)塊鏈加密貨幣代幣

2021-02-05 11:08:06

云計(jì)算

2021-03-16 22:44:18

Go語(yǔ)言開(kāi)發(fā)

2021-06-29 06:54:56

約會(huì)軟件算法應(yīng)用程序

2021-02-03 13:05:05

5G網(wǎng)絡(luò)運(yùn)營(yíng)商

2022-06-06 13:48:34

欺詐漏洞

2021-12-02 09:35:18

5G運(yùn)營(yíng)商網(wǎng)絡(luò)

2021-01-16 10:27:37

微軟漏洞補(bǔ)丁安全

2021-10-19 16:53:47

Wi-Fi通信飛機(jī)

2021-03-21 22:16:47

JavaScript開(kāi)發(fā)代碼

2021-01-11 10:28:51

IT決議IT主管首席信息官

2021-01-31 18:56:59

Linux書單服務(wù)器

2021-09-28 17:20:23

物聯(lián)網(wǎng)網(wǎng)頁(yè)設(shè)計(jì)IoT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)