jQuery的沒落和技術發展的一般規律

凌霄光發表於2018-12-01

 jQuery的成就

  jQuery是一個偉大的庫,

  • 它解決了dom api相容的問題,使得dom操作更簡便
  • 它支援類似css選擇器的方式來選擇元件
  • 支援批量的運算元組中的元素,也叫隱式迭代
  • 支援鏈式操作,可以在一條語句中完成很複雜的邏輯
  • 有易於使用的外掛擴充套件機制
  • deffered的非同步方案比promise更早。

  等等。

  jquery可以說在dom操作領域做的很棒了,幾乎統治了一個時代,甚至影響了w3c,dom api中的querySelector就有jq的影子。

  但是,如今使用jq的公司越來越少了,但這並不是說在dom操作領域有更好地庫,而是因為mvvm的出現。

 mvvm的出現

  dom操作是業務無關的邏輯,不應該出現在業務的程式碼中,雖然使用jq簡化了很多,但是程式碼依然是難以維護和複用的,直到mvvm的出現,把資料和檢視的繫結變成了自動化的操作,進而把dom操作從業務程式碼中移除。業務程式碼因此變得更加的純粹,也更容易複用。

 技術的發展規律

  其實,技術的發展趨勢就是追求更高的複用性,更簡便的業務程式碼寫法,所以最終都會要求跨平臺、都會徹底分離非業務邏輯。

  jvm上的語言持續的火了10多年,java長期霸佔語言排行榜榜首,很大的原因就是因為jvm的跨平臺,這是技術發展的趨勢,就像node的libuv平臺層、react的vdom、遊戲引擎的多端打包等一樣,隨著各種端和平臺越來越多,跨平臺幾乎是對一個新技術基本的要求。

  業務程式碼應該是純粹的,任何業務程式碼都應該獨立出去作為可複用資源而存在。比如dom操作的程式碼很多時候是業務無關的,所以mvvm實現了自動的繫結之後,逐漸的成為主流,jquery不符合這個趨勢,所以也逐漸走向沒落。

 jQuery的沒落

  jQuery在dom操作領域已經做得很好了,但是它不符合技術發展的一般規律,所以最終肯定是會被取代的,就像大潤發戰勝了所有的對手,卻在網際網路時代被阿里收購一樣。只是因為它做事情的方式不是最佳的,對開發效率和程式碼複用性的追求最終導致了jquery的淘汰。

  從jquery帝國一統,到如今mvvm諸雄割據,對效率和程式碼複用性的要求對技術做出了選擇,順應這個趨勢的技術才能長盛不衰。

  jQuery戰勝了dom操作領域的所有對手,只是輸給了時代。

相關文章