為什麼我在2019年仍在使用jQuery?
許多人提倡“只使用vanilla JavaScript,你不需要jQuery”。
其實我覺得許多JavaScript API - 特別是DOM API - 很糟糕。 el.insertAdjacentElement('afterend', other)無疑是有效的,但$(el).after(other)實際上是方便的,比DOM給我們的要好得多。
標準JavaScript API中的許多常見操作都很尷尬;,你仍然需要輔助函式來執行各種常見任務。
新增任何依賴性都帶來了複雜性和檔案大小的成本,但jQuery並不是那麼大:預設構建是30K縮小/壓縮,如果沒有ajax的自定義構建和不常見的只有大小23K,使用querySelector而不是SizzleJS的構建是17K 。原來的30K和最佳化的17K對於我來說似乎都是可以接受的。
你可以看一下Bootstrap刪除jQuery的例子,說明使用vanilla JS需要付出多少努力:他們編寫了自己的幫助器,不得不放棄IE支援,因為它太難新增,使得API不相容(“我們打破了一切“),我花了一年半的時間研究它。如果我看一下最終結果,我真的不能說它好多了。
我理解他們為什麼這樣做; 人們想使用Bootstrap和Vue.js等等,使用Vue.js和jQuery有點傻。我非常贊成減少“網路臃腫” ,但我們需要務實和現實。包括~17K的jQuery真的那麼糟糕嗎?
有一些很好的理由不使用jQuery:如果你正在編寫你想要被其他人重用的程式碼,或者你只是編寫一個小函式。
使用“jQuery所有的東西”可能不是一個好主意,但也不是 “unjQuery所有的東西”。
我沒有和jQuery結婚,我很樂意使用一個“jQuery light”,它可以修復JS API,更加可口。YMNJQ推薦使用bonzo 和$ dom,還有其他幾個用於AJAX等等,但許多似乎沒有維護。此外,每個人都已經知道了jQuery。為什麼要用其他東西替換它,除非有令人信服的理由?
有些讀者可能會想“關於Vue.js,React或其他一些現代框架呢?”這篇文章的目的是將vanilla JavaScript與jQuery進行比較,而不是提出一個Grand Unified Theory of Frontend Development 。
話雖如此,我認為有幾個理由堅持使用簡單的JavaScript; 主要是因為我想構建快速的網頁,使用最簡單的可行程式碼,並儘可能多的人訪問。根據我的經驗,伺服器端生成的模板輕輕地撒上“漸進增強”風格的JavaScript通常是最好的方法。它通常更容易開發,往往更快,往往有更少的錯誤。
從根本上說,我認為網路是一個檢視文件而不是作業系統的系統。即使對於許多“網路應用程式”(無論你的意思是什麼),文件方法都能很好地工作。
相關文章
- [譯] 2019 年了,為什麼我還在用 jQuery?jQuery
- SQL 誕生 43 年了!為什麼我們仍在使用它的 8 個原因SQL
- 為什麼我們仍在談論軟體整合?
- 為什麼我還在使用JavaEE?Java
- 我們在使用jQuery的時候,到底在使用什麼?jQuery
- 為什麼我在使用Linux桌面?Linux
- 在 Go 語言中,我為什麼使用介面Go
- 我為什麼使用 JavaJava
- GitHub:我們為什麼會棄用jQuery?GithubjQuery
- 我為什麼要使用Webpack?Web
- 2019 為什麼我們還會繼續使用 PHP ?PHP
- 為什麼我還在程式設計程式設計
- 【React】為什麼我不再使用setState?React
- 為什麼我不再使用MVC框架?MVC框架
- GC是什麼?為什麼我們要去使用它GC
- Jquery會死嗎?我為什麼不用vue寫富文字!jQueryVue
- 為什麼放棄jQueryjQuery
- 為什麼我停止使用Spring?Spring
- 為什麼在大型 Angular 應用裡我們需要使用 ngrxAngular
- 我為什麼要做IT
- 為什麼我們做分散式使用Redis?分散式Redis
- 我們為什麼要使用CRM系統?
- 我為什麼要使用谷歌瀏覽器谷歌瀏覽器
- (轉)Oracle為什麼不使用我的索引?Oracle索引
- 我們為什麼要使用GO語言?Go
- 我為什麼減少使用C++ (轉)C++
- 為什麼我反對過度使用TypeScript?TypeScript
- 我為什麼使用Linux做開發Linux
- 在ThoughtWorks工作這幾年我學到了什麼?
- jQuery是什麼?如何使用?jQuery
- 2019年,資料中臺為什麼火了?
- 實話!為什麼2019年,我勸你別再悶頭學Python!Python
- 為什麼要用原生 JavaScript 代替 jQuery?JavaScriptjQuery
- 2020年,為什麼我們應該使用abapGit代替SAPLinkGit
- GitHub的革命:為什麼我們現在都在開源Github
- 為什麼我們需要 VuexVue
- 我們為什麼要用RedisRedis
- 我們為什麼而工作