摘要:無(wú)論是還是,對(duì)許多應(yīng)用來(lái)說(shuō),這個(gè)大小都是完全可以接受的。但是為了不用,放棄向后兼容那我覺(jué)得還是用得了。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,付費(fèi)客戶有金山軟件百姓網(wǎng)等眾多品牌企業(yè)。
譯者按: 看來(lái) jQuery 還是有一些用武之地的。
原文: Why I"m Still Using jQuery in 2019
譯者: Fundebug
為了保證可讀性,本文采用意譯而非直譯。翻譯僅供學(xué)習(xí)探討,不代表 Fundebug 觀點(diǎn)。
許多人都在提倡: “直接用原生的 JavaScript 就好了,不需要 jQuery 了”。
You might not need jQuery嘗試告訴我們,擺脫 jQuery 是一件很容易的事情。但是,它的第一個(gè)例子恰恰告訴我們用 jQuery 其實(shí)也不錯(cuò),因?yàn)槲覀儗?xiě)了 10 行原生的 JavaScript 代碼,其實(shí)只需要 1 行 jQuery 代碼就夠了。
很多 JavaScript 的 API,尤其是 DOM 相關(guān)的 API,挑戰(zhàn)了我的審美哲學(xué),直白點(diǎn)說(shuō),我覺(jué)得它們太糟糕了!el.insertAdjacentElement("afterend", other)當(dāng)然也可以用,但是$(el).after(other)更加簡(jiǎn)潔。$()函數(shù)也沒(méi)那么好看,我沒(méi)有特別喜歡,但是它比原生的 API 好太多了。
你們?nèi)绾潍@取某個(gè)元素的 sibling 呢?到底用nextSibling還是用nextElementSibling?它們有什么不同?各個(gè)瀏覽器分別支持哪個(gè)方法?當(dāng)你忙著去 MDN 查文檔的時(shí)候,我直接用 jQuery 的next和prev()就好了。
許多常用的 JavaScript 的標(biāo)準(zhǔn) API 都挺奇怪的,這里我就不列出來(lái)了,大家去You might not need jQuery看看就知道了。
寫(xiě)代碼的時(shí)候,我們總會(huì)需要使用一些常用的幫助函數(shù),You might not need jQuery列舉了很多,使用 jQuery 可以很方便的使用這些幫助函數(shù),這樣我們就不需要每次都去 Stack OverFlow 上去復(fù)制代碼了。。。
瀏覽器的兼容問(wèn)題已經(jīng)沒(méi)有以前那么頭疼了,但是它還是個(gè)不小的問(wèn)題,除非你覺(jué)得只要 85%的用戶 OK 就行。關(guān)于這個(gè)問(wèn)題,大家可以閱讀我的Why Hello CSS doesn’t use CSS variables。
那么,我們必須使用 jQuery 嗎?當(dāng)然不是!使用任何第三方庫(kù)都是有代價(jià)的,增加了復(fù)雜度,也增加了文件大小。但是,jQuery 其實(shí)沒(méi)那么大,壓縮之后的大小只有 30K。如果我們?nèi)サ?ajax 以及一些不常用的功能的話,就只有 23K;如果我們使用 querySelector 替代 SizzleJS 來(lái)構(gòu)建的話,則只有 17K 了。無(wú)論是 30K 還是 17K,對(duì)許多應(yīng)用來(lái)說(shuō),這個(gè)大小都是完全可以接受的。
大家不妨看看Bootstrap removing jQuery,為了移除 jQuery,他們也是花了不少精力啊:自己擼幫助函數(shù);放棄兼容 IE,因?yàn)樘y寫(xiě)了;他們花了 1 年半時(shí)間來(lái)倒騰這個(gè)。最終的結(jié)果在我看來(lái),這些努力似乎不值得。
我理解他們?yōu)槭裁催@么做,大家希望在 Vue 項(xiàng)目中使用 Bootstrap,但是同時(shí)使用 Vue 和 jQuery 的話有點(diǎn)傻。對(duì)于減少網(wǎng)頁(yè)大小,我非常同意,也很喜歡Web bloat與The Ethics of Web Performance兩篇博客中的觀點(diǎn)。但是,我們需要實(shí)際一點(diǎn),不要過(guò)于理想主義。添加 17K 的 jQuery 真的那么糟糕嗎?當(dāng)我吐槽 Medium 或者 New York Times 這樣的網(wǎng)站需要的 JS 文件超過(guò) 1M 的時(shí)候,有的人會(huì)這樣反駁:”莫非你還在用 56k 的帶寬?“,但是,為什么 17K 的 jQuery 就那么不能接受了呢?
不用 jQuery 而自己寫(xiě)幫助函數(shù)也可以,比如你希望你寫(xiě)的函數(shù)被其他人復(fù)用,或者你寫(xiě)的函數(shù)特別小。但是為了不用 jQuery,放棄向后兼容?那我覺(jué)得還是用 jQuery 得了。所有事情都用 jQuery 實(shí)現(xiàn)當(dāng)然不好,但是任何時(shí)候都不用 jQuery也不是什么明智之舉。
我不是 jQuery 的狂熱粉絲,我也愿意使用一些簡(jiǎn)化版的 jQuery,只要它們可以讓 JS 的 API 更好用一點(diǎn)。You might not need jQuery推薦了bonzo和$dom,以及其他一些 AJAX 庫(kù),但是大多數(shù)看起來(lái)沒(méi)怎么維護(hù)。如果沒(méi)有足夠吸引人的理由,最好不要去替代 jQuery,因?yàn)?jQuery 本身沒(méi)什么大毛病。
有些讀者也許會(huì)去比較 Vue, React 以及其他前端框架,但是這篇博客的目的是比較 jQuery 與原生的 JavaScript,沒(méi)有打算去論證整個(gè)前端到底應(yīng)該如何開(kāi)發(fā)。
話說(shuō)回來(lái),我覺(jué)得有些場(chǎng)景下只使用簡(jiǎn)單的 JavaScript 也挺好的,主要原因是我希望網(wǎng)頁(yè)可以足夠快,可以讓盡量多的人正常訪問(wèn)。以我的經(jīng)驗(yàn),使用服務(wù)端渲染,再加上漸進(jìn)式增強(qiáng) JavaScript,是最佳的實(shí)現(xiàn)方式,開(kāi)發(fā)起來(lái)很簡(jiǎn)單,訪問(wèn)速度足夠快,BUG 也很少。
難道前端框架不好嗎?當(dāng)然不是,沒(méi)有什么絕對(duì)不好的技術(shù),所有技術(shù)都有一定的取舍,當(dāng)然也包括 jQuery。
參考GitHub:我們是這樣棄用jQuery的
為啥jQuery被淘汰了?
為什么越來(lái)越少的人用jQuery
關(guān)于FundebugFundebug專(zhuān)注于JavaScript、微信小程序、微信小游戲、支付寶小程序、React Native、Node.js和Java線上應(yīng)用實(shí)時(shí)BUG監(jiān)控。 自從2016年雙十一正式上線,F(xiàn)undebug累計(jì)處理了10億+錯(cuò)誤事件,付費(fèi)客戶有Google、360、金山軟件、百姓網(wǎng)等眾多品牌企業(yè)。歡迎大家免費(fèi)試用!
版權(quán)聲明轉(zhuǎn)載時(shí)請(qǐng)注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2019/06/04/why-i-am-still-using-jquery-in-2019/
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/104391.html
摘要:類(lèi)似,是由,和個(gè)人開(kāi)發(fā)者和公司的社區(qū)維護(hù)。這是非常流行的用于設(shè)計(jì)網(wǎng)站和應(yīng)用程序的開(kāi)源前端框架。這是另一個(gè)日益普及的大數(shù)據(jù)框架。最初是由創(chuàng)建的另一個(gè)移動(dòng)應(yīng)用程序開(kāi)發(fā)框架。在年收購(gòu)了,將其重新命名為,后來(lái)又發(fā)布了一個(gè)名為的開(kāi)源軟件。 春節(jié)即將來(lái)臨,許多開(kāi)發(fā)者們已經(jīng)做好了新一年的學(xué)習(xí)計(jì)劃,假如你還沒(méi)有計(jì)劃好2018年,可以看下這一篇文章,在這篇文章中,我將分享一些值得開(kāi)發(fā)者學(xué)習(xí)的優(yōu)秀框架,以...
摘要:時(shí)光飛逝,歲月如梭,我從前端開(kāi)發(fā)崗位轉(zhuǎn)入測(cè)試崗位已經(jīng)三年了,這期間從迷茫到熟悉,到強(qiáng)化,到熟練,到總結(jié),感受還是很深的三年前的某一個(gè)晚上,我正準(zhǔn)備下班回家,我們的項(xiàng)目經(jīng)理把我叫到辦公司和我談話,談了很多,具體說(shuō)什么不記得 ...
摘要:很多程序員問(wèn)我,感覺(jué)漲工資不再像以前那么簡(jiǎn)單了,感覺(jué)現(xiàn)在很迷茫。這也是很多用人單位喜歡高學(xué)歷的學(xué)生。類(lèi)學(xué)生一般是工作年以內(nèi),或者培訓(xùn)以后年以內(nèi),這類(lèi)人優(yōu)點(diǎn)是專(zhuān)業(yè)技能上身快,學(xué)習(xí)有針對(duì)性,效率高。這個(gè)是最重要的,也是很多人不成功的原因。 showImg(https://segmentfault.com/img/bVbgTka?w=1080&h=608);很多程序員問(wèn)我,感覺(jué)漲工資不再像以...
摘要:很多程序員問(wèn)我,感覺(jué)漲工資不再像以前那么簡(jiǎn)單了,感覺(jué)現(xiàn)在很迷茫。然后換了第二份工作,工資也漲到了。目前基礎(chǔ)如何,對(duì)技術(shù)鏈條把我的長(zhǎng)短。這個(gè)是最重要的,也是很多人不成功的原因。很多人喜歡打嘴炮,說(shuō)的很好計(jì)劃很合理,沒(méi)堅(jiān)持兩天又放棄了。 showImg(https://segmentfault.com/img/bVbgTka?w=1080&h=608);很多程序員問(wèn)我,感覺(jué)漲工資不再像以前...
摘要:很多程序員問(wèn)我,感覺(jué)漲工資不再像以前那么簡(jiǎn)單了,感覺(jué)現(xiàn)在很迷茫。這也是很多用人單位喜歡高學(xué)歷的學(xué)生。類(lèi)學(xué)生一般是工作年以內(nèi),或者培訓(xùn)以后年以內(nèi),這類(lèi)人優(yōu)點(diǎn)是專(zhuān)業(yè)技能上身快,學(xué)習(xí)有針對(duì)性,效率高。這個(gè)是最重要的,也是很多人不成功的原因。 showImg(https://segmentfault.com/img/bVbgTka?w=1080&h=608);很多程序員問(wèn)我,感覺(jué)漲工資不再像以...
閱讀 2101·2023-04-26 00:09
閱讀 3129·2021-09-26 10:12
閱讀 3497·2019-08-30 15:44
閱讀 2869·2019-08-30 13:47
閱讀 928·2019-08-23 17:56
閱讀 3234·2019-08-23 15:31
閱讀 480·2019-08-23 13:47
閱讀 2517·2019-08-23 11:56