jQuery 3.0:下一代的 jQuery

發表於2014-11-05
jQuery釋出已經快八年了,挺讓人難以置信。過去的這些年Web開發變了很多,jQuery也隨之變化著。在這個過程中,團隊一直在對確保過往程式碼的相容支援和獲取最好的Web開發實踐的現實之間努力著。

其中一個最好的做法是語義版本,或簡單稱之semver。在實踐中,semver給了開發者(以及構建工具)一個避免切換軟體版本風險的一個辦法。版本號以MAJOR.MINOR.PATCH的形式,其三個組成部分均為整數。在semver中,如果MAJOR變化了,這表示API中有開發者更改需要注意的斷層變更。

在jQuery中版本控制的概念變得更加微妙,因為對jQuery來說瀏覽器的相容性比API的相容性更重要。為了創造一個瘦身的jQuery,團隊在2013放出了兩個版本。第一個版本保持1.x的編號,目前1.11.1,其保持了最大數量的瀏覽器相容。第二個版,從2.0.0到現在的2.1.1,為精簡程式碼去除了對IE8以及以下瀏覽器的支援。無論是jQuery的1.x和2.x版本都具有相同的公開API,然而它們的內部實現是有所不同的。

我們的下個版本將使用不同的命名規則。正如之前,將有兩個不同的釋出檔案。1.11.1的繼承版本將成為jQuery Compat 3.0。jQuery 2.1.1的繼承版本將為jQuery 3.0。在npm和Bower上會有兩種不同的包,但它們通過共享相同的版本來表明它們具有相同的API的行為。

我們也會隨著這些釋出政策來重新調整我們的瀏覽器支援。jQuery釋出時的主包會依舊保持小巧簡潔來支援釋出時的常規瀏覽器(特定瀏覽器的當前和以前版本)。依據市場份額,我們可能在這個包中支援額外的瀏覽器。jQuery相容包提供了更廣泛的瀏覽器支援,但檔案尺寸會大一些並會有潛在的低效能風險。

除了大版本號的跳躍外,我們不會對目前jQuery程式碼做太多轉變。我們想處理好版本的變更。一些變化諸如刪除過時的方法的將被一個新版本的jQuery遷移外掛檢測到,這樣更容易發現和修復它們。我們將在未來的部落格中列出更多的修改細節。

下面就是一些jQuery API 3.0版本要說的內容:

  • 如果你要相容更廣泛的瀏覽器,包括IE8,Opera 12,Safari 5等,使用jQuery-Compat 3.0.0包。我們推薦大多數站點使用這個版本,因為它為最多的網站訪問者提供了最佳的相容性。
  • 如果你的網站是專為領先的瀏覽器搭建的,或者是一個webview(例如PhoneGap或Cordova)容器中的HTML應用,並且你知道哪些瀏覽器引擎會使用它,那就使用jQuery 3.0.0包。
  • 除非我們宣佈,否則,在相同的主次版本中這兩個包將包含相似的公眾API。這樣開發者可以很容易在它們之間切換,並且會保持與第三方jQuery外掛最大的相容性。

當它們各自未來發布時,我們會確保這兩個包在npm和bower中都有。這兩個包也可仍舊會以單獨檔案的形式存在於jQuery CDN。從那裡使用它們很簡單,根據你的需要包含jquery-compat-3.0.0.js或jquery-3.0.0.js。我們與運維谷歌CDN的人談過交談,他們也會同時支援這兩個包。

我們對3.0版本的進一步發展,我們將更新程式碼的變化,細節都支援的瀏覽器等。敬請期待!

相關文章