PTT評價

[問卦] 還想學jQuery製作前端網頁的人在想什麼?

看板Gossiping標題[問卦] 還想學jQuery製作前端網頁的人在想什麼?作者
freeman371
(自由人371)
時間推噓 推:12 噓:12 →:16

講難聽一點

jQuery這種過時的前端JavaScript技術根本一點學習的價值和前途都沒有


以前jQuery在前端網頁技術上貢獻極大

這點不可否認

因為在2000年代~2010年代中期jQuery確實補足了許多前端網頁技術的不足

也正是因為jQuery的存在大幅提升了開發前端網頁的便利性


這是古早以前jQuery帶給前端網頁開發者的恩惠

然而,現階段

很多資深的Web前端開發者卻完全不建議初學者再學習甚至接觸所謂的「jQuery」

這對未來前端技術的發展道路上,毫無意義與貢獻


此外,現在各國業界需要使用jQuery製作前端網頁的寥寥無幾

無論是大型跨國企業網站還是海內外中小型企業網站,幾乎很少繼續徵求會jQuery的人才

取而代之的是像React和Vue這類的Web框架

這明顯使jQuery成為了落後Web前端技術的代表



建議不再學習jQuery的理由如下:


1. 現階段其實不用jQuery也能實現DOM API及Web API

以前要實現使用選擇器定位DOM元素、AJAX或物件及陣列的操作等

使用jQuery是再方便不過的

反而若不使用jQuery來處理這些程序的話

不管在撰寫程式及開發、維護效能上或是程式運行效率上都是非常棘手的


然而隨著JavaScript的發展

即使不用jQuery也可以很簡單的實現這些程序


例如:

以前若不用jQuery的Sizzle引擎的話

要定位一個DOM元素是非常困難的

 
以往的JavaScript語法要選擇DOM元素
  
只能透過「getElementById」、「getElementsByTagName」之類的方法實現
  

然而因為沒有階層式選擇DOM的觀念
  
變成每一個元素都要給定特定的ID和Class等
 
使得光選擇一個元素就是一件非常困難的事


然而現在的原生JavaScript早已有了
「querySelector」以及「querySelectorAll」這類的方法了

而且在選擇DOM上元素的效能也遠比Sizzle引擎選擇還來得好

所以也沒有理由再繼續使用過時的jQuery



另外,以前透過jQuery實現元素的動畫效果也是很方便的

然而隨著CSS的發展,使用jQuery來實現動畫效果在開發與維護上並沒有比較方便

反而在程式運行的效能上有些時候比用CSS更耗時耗力


所以綜合以上JavaScript、CSS等技術發展至今的成果

jQuery實在沒有生存的優勢


2. 各種網頁對所有瀏覽器的相容性越來越高


例如:

在以前

某一段JavaScript程式如果在Chrome上可以運行,但在IE上卻無法運行時

使用jQuery來取代的話可提升網頁相容性


然而,現在的JavaScript代碼皆可讓網頁在大多數的瀏覽器上運行

而讓人頭疼的IE瀏覽器相容問題也因為時代的淘汰下而變得更好解決了


3. jQuery大多沒辦法透過npm下載,也存在各別版本差異間的問題

使用過jQuery的人應該知道

必須先將各jQuery檔手動下載到指定資料夾內

再透過path各別載進每一個網頁中


然而,這可能會產生像是不同網頁使用各種不同版本jQuery的問題



4. jQuery的可重用性很低

程式碼如果能被重複利用的話

不只維護方便,其運行效率也會比較好


之後如果一個地方需要更動的話,也可以全部一起變動



然而

jQuery不像React和Vue這類以重複利用為前提的Web框架下所成的函式庫

其可重用性相當低


5. jQuery很難維護

jQuery和其他的前端網頁技術相比,其維護難度實在特別高

甚至可以用「天差地遠」來形容它與其他技術的維護性程度差別



例如:

至少就網頁前端開發者而言

「宣告式程式語言」比「指令式程式語言」的維護性能更好

- 「指令式程式語言」的意思是:對DOM元素直接下達指令以得到我們想要的結果
- 「宣告式程式語言」的意思是:將想要呈現的結果直接交由程式來處理

而像React就屬於「宣告式程式語言」,jQuery則是「指令式程式語言」。



jQuery還有其他像是本身檔案大小問題、script標籤在讀入jQuery程式時的「Render Blocking」問題、因疏於維護導致殘留過多老舊語法致使產生安全漏洞

等等等 一堆問題


本身既過時、又難維護、效能又差、也不安全……



然而,現在居然還有新手們想要學習jQuery

坊間也仍然販賣許多jQuery相關的書籍


到底為什麼還有人想學jQuery這種過時的破爛東西?

動機究竟為何?



有誰知道這些想學jQuery的人到底在想些什麼嗎?

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.133.204 (臺灣)
※ 文章網址: https://www.ptt.cc/Gossiping/M.1619279161.A.D63

MoDerF04/24 23:47有更適台的版

Palindrome04/24 23:47這篇到底在認真什麼

qazStarStar04/24 23:47那四大台科都不要開這種課啊

※ 編輯: freeman371 (1.161.133.204 臺灣), 04/24/2021 23:51:20

wto12304/24 23:47關我屁事啊

wei11504/24 23:48你不要這麼專業好ㄇ?

wwewcwwwf04/24 23:49你問為啥台灣和政府很愛開這些落時的課程...

XDDDpupu556604/24 23:49你去看Wix是不是還有再用ㄚ在這邊傳教4再幹嘛

kobeyo04/24 23:49講一堆話是要宣導什麼嗎?不都被你說飽了,沒人care啦

wei11504/24 23:49不過現在jQuery真的不炫泡惹,vue簡單又好用

tku952704/24 23:49系統不用維護嗎?

pooznn04/24 23:51webassembly 都推幾年了 大廠可能明後年才有機會大量支援

james8035104/24 23:52哪個系會開前端的課?@@

guanj04/24 23:54特別回去看了一下我有沒有走錯版

unixxxx04/24 23:55三四五都可以解吧

DarkIllusion04/24 23:57關我屁事 去跟前端難民們講

lycppt04/24 23:59Angular No.1,React和Vue閃邊去

allenatptt04/25 00:00現在前端幾乎都是react和vue的天下了啦,公司的新人

allenatptt04/25 00:01還有文組去資策會出來的,就只會前端框架而已……

unixxxx04/25 00:01OO學得好四五都不是問題

KhePri04/25 00:01這裡是八

wwewcwwwf04/25 00:02什麼時代還在教java和前端那爛課程 國外全面用

ptta04/25 00:07但是用Google寫code的時候還是滿滿都是jQuery,反而JavaScri

ptta04/25 00:07pt的範例比較少

sunneo04/25 00:09ajax & websocket你還沒講出alternation

dk248624804/25 00:11阿你都講完了 問三小掛?

ssivart04/25 00:11信不信大學還有人在教Dreamweaver

zzTwo04/25 00:11你講的缺點 換個面向就是優點 別的就是沒它這麼萬用

sunneo04/25 00:12用react跟vue也不代表你就寫得出好東西啊

zzTwo04/25 00:17舉3 接案都亂兜 很常不同網頁吃不同版本套件

zzTwo04/25 00:24舉4 接案 html/css 都不同又亂 程式碼要短好複製好改

aynmeow556604/25 00:25就東西小到連框架都懶得用的時候啊==

aynmeow556604/25 00:25例如 學校作業

Gauss04/25 00:32干我屁事啊

oasis1070204/25 00:36做為前端基礎還是不錯的 jquery各個api的設計模式去瞭

oasis1070204/25 00:37解一下 現在一堆只學框架卻連基本的closure和event lo

oasis1070204/25 00:37op都不懂的前端

ggcip051404/25 00:56你好屌喔

ekki04/25 01:06Hi碼農,你知道更多用jquery就可以賺到比你百倍薪資嗎?

ekki04/25 01:07程式只是工具,你該鑽研的是價值,學再多沒有價值一樣是碼農

wto12304/25 01:25landingpage 我寧願用jQuery 寫,懂? 碼農