Re: [心得] 都2017年了 學學用原生JS來操作DOM

看板Ajax作者 (半半居)時間7年前 (2017/04/21 03:20), 7年前編輯推噓6(6015)
留言21則, 13人參與, 最新討論串1/1
先說結論,我是支持使用jq的,不管是angular、vue或是react 敝人雖然寫前端的資歷不深,但也經歷了jq被廣泛使用,直到angular出現之後開始有人 提倡拋棄jq的時期 對於這個問題,我有過很多次的思考,也寫過一些原生js來比較有無jq的差異,直到最近 才得到一個自己的解答 觀察一下生活周遭的事情,會發現一個奇怪的現象:一件事情發展到極致之後,就會有人 開始提倡舊的比較好,簡單來說就是貴古賤今 舉例來說,在精緻美食發展到極致之後,就會有人跳出來提倡應該要吃生菜生肉 原因大概是我們只需要一些必要的營養素,為什麼要吃被調味過的料理,或古人就是因為 吃生食才比較不會生病,所以現代人也要吃生食等等 有沒有看出跟vanilla js論點的相似之處? 我們只需要一些功能,為什麼要載入這麼多的js,或vanilla js的效能比較好,所以現代 工程師也要用vanilla js 我們可以從幾個角度去評估該不該用jq: 1. jq真的有大到會造成載入負擔嗎? 最新版min jq的大小是90幾k,但隨便一個framework就破百了,所以我們是不是不該用fr amework? 2. vanilla的效能比jq好 這我不能否認,但前提是你寫出來的程式碼品質比jq好,而且你可能要花幾倍的時間去處 理瀏覽器差異,卻承擔更大的穩定度風險 況且現在的硬體效能越來越高的狀況,真的感受得出vanilla js帶來的些微差異嗎?在這 點上我是非常樂觀的,就像vanilla支持者樂觀的相信瀏覽器標準有一天會統一一樣 舉另一個例子,各位工程師大大們是否有聽過有人說「用vim的才是頂尖工程師」這樣的 論點呢?或許其中也可以找到一些相似之處 最後做個總結吧,我認為jq短期內是不會消失的,我也會一直支持並使用jq,畢竟吃過好 吃的炭燒牛排之後,誰還會想吃生牛肉呢? ※ 引述《fshfsh (魚~*)》之銘言: : 想請問一下,我們不使用jquery而直接用js的原因是什麼呢? : 因為少了簡短的語法和兼容性 : 換來的好處是什麼呢? : 我的想法是使用者不需要再透過cdn去下載jquery函式庫 加快載入速度 : 除此以外還有什麼好處嗎? : ----- : Sent from JPTT on my Xiaomi Redmi Note 4. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.136.114 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1492716037.A.4D0.html ※ 編輯: m2380880 (27.247.136.114), 04/21/2017 03:22:03

04/21 08:07, , 1F
學 vanilla js 並不是貶低 jq 的價值,而是清楚知道什麼情
04/21 08:07, 1F

04/21 08:07, , 2F
況適合用什麼,更不是一定要選邊站的問題。
04/21 08:07, 2F
是的,不同食材有不同料理方式,就像生魚片還是生的好吃

04/21 09:42, , 3F
本來就不是選邊站的問題,不過有些人是不給你選邊,直
04/21 09:42, 3F

04/21 09:42, , 4F
接把jq派打成不求上進
04/21 09:42, 4F
我也是對這點感到不解,甚至某些場合或講習聽到這樣批評jq我就覺得有刻意強調優越的 嫌疑了

04/21 09:50, , 5F
大小的問題是還好 傳輸透過gzip壓縮以後大概會再小個70%
04/21 09:50, 5F

04/21 09:54, , 6F
同意2樓,現在有一種用jquery 就是廢的詭異風氣在
04/21 09:54, 6F

04/21 09:57, , 7F
soho 無所謂,上班族會新的就是屌就錢多
04/21 09:57, 7F

04/21 10:50, , 8F
angular 那是另一回事吧,該寫成 directive 的在
04/21 10:50, 8F

04/21 10:50, , 9F
controller 內用 jq 做
04/21 10:50, 9F

04/21 10:58, , 10F
應該只是說簡單料理 沒要求吃生菜生肉吧
04/21 10:58, 10F

04/21 11:15, , 11F
工具沒有絕對的好壞 要看情況選擇正確的工具
04/21 11:15, 11F

04/21 11:16, , 12F
有的情況用vanilla好 有的情況jq好 有的情況framework好
04/21 11:16, 12F

04/21 11:16, , 13F
但是不管什麼library或是framework 都可以搭配vanilla使用
04/21 11:16, 13F

04/21 11:16, , 14F
所以學好vanillla是絕對不會吃虧的
04/21 11:16, 14F

04/21 11:17, , 15F
只會用某個library或framework 遇到要切換時可能就吃屎了
04/21 11:17, 15F
K大所言甚是,的確在爽爽用library的過程也不能停止學習這些基礎,感覺前端現在最重 要的技能是以不變應萬變 ※ 編輯: m2380880 (27.247.136.114), 04/21/2017 12:29:20

04/23 00:47, , 16F
我只是要簡單show data, 為什麼不讓我用jq就好QQ
04/23 00:47, 16F

04/24 00:05, , 17F
隨便一張稍微像樣一點的圖大小都打爆JQ 這點真的是可以考量的
04/24 00:05, 17F

04/24 00:05, , 18F
問題嗎...
04/24 00:05, 18F

04/24 07:58, , 19F
撥接上網56k 可能很需要
04/24 07:58, 19F

04/25 10:37, , 20F
可以不用 framework,我肯定不會用
04/25 10:37, 20F

04/30 23:01, , 21F
我也是可以不用就不會用
04/30 23:01, 21F
文章代碼(AID): #1O-Ge5JG (Ajax)
文章代碼(AID): #1O-Ge5JG (Ajax)