現在jQuery不流行了嗎?

感覺現在很多人都學angularjs和vuejs了。


像我這種知乎小透明來強答一下,我在北京工作 ,據我認識的大概十來個人小範圍總結下!小公司,或者非互聯網行業年代久一點的公司都還在用。

....................

剛入行的時候,我也想過這個問題,總糾結某個東西到底有沒有用。我就以當初有這個疑問時候的小白心態來答一下吧。估計是答跑偏的。

其實用什麼工具不重要,這些用法學起來其實都相對簡單的,你只要在實際項目中用一用,達到一個普通水平還是不難的。剛入行的時候我很在乎這些工具,第一家公司用vue,我下班就自學angula,但是並沒有什麼用,沒項目寫,學了就忘記了。目前就是公司要求用什麼 ,我就學什麼,現階段knockout.js 。

我現在也不糾結於這些了,說真的我就是個普通的程序媛,公司要求用什麼就好好學什麼,平時增強對原生的理解。

------------

看了評論補充一點

框架的那點思路真心沒什麼的,不管哪種框架,入職以後,一個月大概就能掌握的差不多了。。。

你覺得難,僅僅是因為你沒有用過。(針對普通水平)

目前呆過的兩家寫框架的公司,老大招人的時候根本不在乎你會不會框架(因為他們覺得那玩意上手不難,只要他們看得中你,入職是比較容易的),入職以後會給你一周看文檔,然後陸續給一些小需求做,中間能搭配公司的項目具體學習,事半功倍,基本一個月能上手。 (我入職第一家用框架的公司的時候就只會jq)

真的就是老生常談的事,js的書,一遍一遍的看,看著看著,你就有收穫,有些只可意會不可言傳的東西就慢慢被你吸收了。。。

我個人覺得,寫代碼,難點不在於框架文檔,也不在於js語法,而在於你有沒有很強的編程邏輯,那些理科很好的,即使剛入行沒多久,代碼質量也比某些所謂的老鳥好太多。

我框架經驗一年半,在遍地大神的地方,真說不上對人指導個什麼,就寫寫我的個人經歷,希望對大家有一點參考。。謝謝


如果你問Ruby或者Ruby On Rails不流行了嗎?回答也是類似的。

當然沒有它被炒作的時候流行了,因為它成熟了。jQuery也是。我認為絕大多數前端項目是不需要Vue,Angular,React的。jQuery提供的插件機制是足夠好的架構方法。

問題是大多數人不學了,現在。他們的眼睛永遠盯著所謂流行的技術,他們的價值觀是一個東西如果不流行了,就似乎沒有價值了。他們不知道那個東西其實只是成熟了,就像一個人到了三四十歲。

如果你的項目要關心UX,和用戶交互的界面(有什麼項目不需要嗎?),你能找到的最好的方案,很可能仍然是某個基於jQuery的插件。而現在主流框架提供的data binding的機制,不是jQuery的替代,而是要解決一個不同的問題。

jQuery會存在下去的,很長時間。


如果只追求能用,找個中文文檔把jQuery的 API 大致過一遍動手做個練習,也就花費一個下午的時間

然而糾結的時間都不止兩三天了


瀏覽器的市佔率擺在那,展示類項目的需求擺在那,jQuery只是不流行了,而不是過時了。

多說一句,技術圈裡總是追新的人叫聲最響,呼喊Vue/React的人能佔到前端總體量的1%么?真正使用這些框架的項目,又能佔到項目總體量的0.001%么?

我建議新人不要跳過jQuery學MVVM,我甚至不建議直接學jQuery,最好從原生JavaScript開始學起。


如果一個人會 Angular 和 Vue.js 卻不會 jQuery,

那真是挺可笑的

就好像你說你會開摩托車但是不會騎自行車一樣

說出來別人都不信。

「用不用」和「會不會」是兩碼事,

你可以「不用」,但是你不能「不會」。


jquery是基礎,是前端工程師的重要基石。是一定要掌握的。

正如方方老師所說, 可以不用,但是不能不會(不知道、不了解)。

為什麼這麼說

1 首先從前端大生態環境來看

它是前端社區對前端開發的探索。能夠推動dom,bom和js這些的升級,極大的提高前端開發的抽象能力。

document.querySelector有借鑒$()

div.classList.add, div.classList.contains
這一系列的方法是借鑒 addClass, hasClass, togleClass, removeClass 這些api

fetch 多多少少有參考 $.ajax

es6的 {...obj, ...obj2}, $.extend

還有很多, 就不一一列舉了。

其實標準委員會和做瀏覽器內核那群人不是傻子, 大家用的最多的jq的api,就是日常開發前端的痛點。

其實標準委員會和做瀏覽器內核那群人不是傻子, 大家用的最多的jq的api,就是日常開發前端的痛點。

其實標準委員會和做瀏覽器內核那群人不是傻子, 大家用的最多的jq的api,就是日常開發前端的痛點。

當然為了顯示他們的水平,他們也不會照搬, 他們會設計得更健壯,更優雅。

2 很多公司在用,很多項目在用,絕對佔比非常大

如果沒掌握或者沒掌握好,對個人入職會有影響。

我在迅雷這邊也面試不少人了, 大部分面試官其實都是一個套路,找你的長處和短板。 你的短板是演算法還有計算機底層,那面試官可能還能勉強接受, 如果你的短板是http和jquery,那就不好意思了...

3 偏展示類的業務場景 ,首選也是jq

跟上面意思差不多。 選型看業務場景,有時也要看團隊。交互類的產品, 首選肯定是目前的三大mvvm框架, 偏展示類的產品,首選還是jquery,能極大的提高你的抽象能力, 早點回家吃飯。

即使在移動端也是這樣, 可能這裡大家會疑惑, jquery在移動端不會太重了影響載入嗎?

其實用最新版本的就好了,jq3 精簡了不少。而且4g和wifi發展這麼快,現在移動端比較少強調弱網環境了,只有大公司才會兼顧,所以移動端頁面就直接上jq3,早點幹完活回家吃飯。

4 jq本身也是在不斷發展的,只是被風頭正勁的項目掩蓋

2016.11 發布的3.1.1

2017.03 發布的3.2.1

然後每天也有很多issue,這裡有一部分就是開發的痛點,下一個新版本的jq可能會解決部分的痛點,然後再慢慢被瀏覽器吸收一小部分。當然這是一個漫長的過程。

最後, 我最近起碼有大半年沒用jq了,寫golang和react和mobx多一些, 還有一些地方是knockout。

所以我啰嗦這麼一堆並不是什麼安利,只是怕新人被忽悠了,畢竟很多培訓上來就vue項目實戰。另一方面一小部分有經驗的開發者喜歡鄙視這個,強調不用學jq,或者他是忘了自己當初是怎麼過來的。他現在不用,不代表他不會。你說一個月薪兩萬以上的前端,跑過來說他是完全不會jq,沒用過,沒看過。我是完全不信的。萌新還是不要被忽悠,別在這個地方有短板。

所以最後的結論就是,jquery不是流行不流行的問題,是基礎的問題。不會這個跟不會css超不多, 問題挺嚴重。


這就像你很久很久以前問現在prototypejs不流行了嗎?實際上他的優點已經融入到了js體系當中,前端的體系,結構和數據越來越複雜,支持css3瀏覽器普及,jq單純api與功能上的拓展已經很難滿足於開發的需求,甚至有些功能瀏覽器原生的已經支持了,vue,react這種新的框架自然也就應運而生。這就是刀劍與槍支的區別,熱武器的出現使殺人變得的高效,而vue,react這種靠數據驅動框架的出現讓開發變得更高效,但是其並不會完全代替於JQuery的作用。如果你問現在jQuery不流行了嗎?我的答案是不流行了,但是只要瀏覽器不死JavaScript會一直流行下去,學好基礎管它怎麼改,哪個適合自己項目用哪個,最多就是讀一遍文檔與兩遍文檔的區別。


跟公司項目走吧,只會jQuery可以找到工作,只會AngularJS或者React可就不好說了。


去看看那些國企,那些非典型互聯網公司,裡面很多人只會用jquery,不會原生js


只能說我現在的公司還是在用JQ,╮(╯_╰)╭


($("John Resig").position(); 返回"無所不在!")


偶爾路過看見有人遇到和我當年相同的疑問,我就按照現階段的理解來回答一下:

目前vue,ng,react等框架確實是流行,這個流行是什麼意思?按我的理解是:社區內有很多新項目採用它們來開發。但是這一般來說都是一些開源項目。它們有一個特點,講究性能,架構,真正的商業項目來說一般講求的是開發效率。我這樣說並不是說vue,react,ng開發效率低,這是由於jq時代有遺留下大量成熟的插件和解決方案,是直接可以投入使用的,而相比之下,ng,react,vue這些框架能用的輪子一定沒有jq的多,這也正是目前我們還在使用jq的主要原因之一


angular和vue是框架,jquery是庫。

jquery作為庫來講雖然功能很強大,但是過於臃腫了,可以選擇精簡一點的庫。而且雖然它兼容很多瀏覽器,但是自身的版本參差不齊,可能會衝突。

其次就是它太依賴DOM,後期頁面的維護和結構的修改可能會牽一髮而動全身。

它太強大和簡潔導致很多人會寫jquery卻不會寫js了

但是也不能說過時吧。應該說是要會寫jquery,但是不能依賴它。


以前項目維護還是需要懂的吧,除非開新項目或者重構老項目


前端因為有大量的人員加入,各種輪子飛起。並不是jQuery不流行了,而是 angularjs和vuejs 逼格高,可以作為談薪資的籌碼。


展示類頁面比如電商模板渲染首屏是最快的。

其他的什麼react vue首屏一定不如模板渲染快。

哪怕是走同構ssr,伺服器性能也沒有模板渲染好而展示類頁面用jquery太夠了,綜合體驗 開發效率 學習成本 維護成本,反而應該是最合適的方案。

所以,如果不裝逼,踏實做技術,用心做產品,上述場景下請使用jquery or zepto or native js。

ps. 考慮KPI 日後加薪 or 跳槽的話,請一定強行使用mv*框架,沒有困難製造困難也要上啊!


一個廚師難道不會蒸米飯?


這就像,雖然有打蛋機,但是專業做糕點的,入門的時候,師傅還是會讓你手動打。不打蛋,他打你,T_T,別問我怎麼知道的~

再簡單的東西都有它存在的意義,不管是深度還是廣度,都有參考的價值。你當新框架寫的時候就沒有參考過這麼經典的東西?

jQuery這麼簡單都不會,說出來你信?

PS:有基礎的看個一天就會用了好吧,不用糾結


的確好久沒用了


jQuery不流行了,可能是因為大多數用jQuery的人不上github吧。

框架或者庫只是個工具,使你寫起代碼來更加簡單。不同的場景用不同的工具,你總不會拿個鎚子去切菜吧。一些簡單的頁面用jQuery加相應的插件要比用那些全家桶要方便的多。並且如果你遇到的項目要兼容到IE8 vue是用不了的。並且許多老舊的項目一般都用的是jQuery。

vue和react等框架對組件化十分友好,但是並不代表不用它們就無法寫出組件化的代碼,用jQuery一樣可以實現組件化。這些流行的編程思想不會依賴於任何一種特定的工具。

jQuery對我們了解一些dom操作,瀏覽器的事件等等基礎概念是有很大幫助的。


推薦閱讀:

自學前端已經兩個月了,不知道學到什麼程度才能有一份工作!?
10年網路遊戲前端程序轉型方向何在?
切圖輸出給圖片命名的時候用減號還是下劃線比較好?為什麼?
關於瀏覽器的緩存,有了Etag,last-Modified還有必要存在嗎???

TAG:前端開發 | JavaScript | jQuery |