1. 程式人生 > >jQuery 3.0:下一代的 jQuery

jQuery 3.0:下一代的 jQuery

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版本的進一步發展,我們將更新程式碼的變化,細節都支援的瀏覽器等。敬請期待!

相關推薦

jQuery 3.0下一代jQuery

jQuery釋出已經快八年了,挺讓人難以置信。過去的這些年Web開發變了很多,jQuery也隨之變化著。在這個過程中,團隊一直在對確保過往程式碼的相容支援和獲取最好的Web開發實踐的現實之間努力著。 其中一個最好的做法是語義版本,或簡單稱之semver。在實踐中,semver給了開發者(以及構建工具)一個避免

【劉文彬】區塊鏈3.0擁抱EOS

原文連結:醒者呆的部落格園,https://www.cnblogs.com/Evsward/p/eos-intro.html EOS是當下最火的區塊鏈技術,被社會廣泛看好為下一代區塊鏈3.0。不同於以太坊的學習,EOS的主語言是C++,本文作為EOS研究的首篇文章,重點介紹EOS

通過實際部署應用程式來學習Web 3.0動手實踐(IPFS +以太坊)

“分散式網路”或“Web 3.0”現因其將給當今行業帶來的革命性變革已儼然成為流行語。但是我們中有多少人真正瞭解Web 3.0呢? 在本文中,我會對Web 3.0的顯著特點進行介紹。在獲得對Web 3.0的基本瞭解之後,我們將一起在IPFS上部署應用程式。該應用程式具有一份Solidit

Java-ORM-MyBatis-3.0MyBatis 3 簡介

ylbtech-Java-ORM-MyBatis-3.0:MyBatis 3 簡介   1.返回頂部 1、 簡介 什麼是 MyBatis ? MyBatis 是一款優秀的持久層

介紹 Scratch 3.0擴展編碼創造力

aaa any image 作品 包括 mfs The 創造性 one 在過去十年中,全世界數百萬兒童使用Scratch編寫自己的互動遊戲,故事,動畫等。 這種磅礴的創造力激勵我們繼續擴展和改進Scratch,讓世界各地的孩子都有新的機會用新技術創造性地表達自己。今天,我們

介紹 Scratch 3.0擴充套件編碼創造力

在過去十年中,全世界數百萬兒童使用Scratch編寫自己的互動遊戲,故事,動畫等。 這種磅礴的創造力激勵我們繼續擴充套件和改進Scratch,讓世界各地的孩子都有新的機會用新技術創造性地表達自己。 今天,我們推出了Scratch 3.0,它擴充套件了孩子們建立程式碼的方式,內容和來源。 當我們測試Scrat

ASP.NET Core 3.0將會擁有更少的依賴

在ASP.NET Core專案中,我們使用一個叫做Microsoft.AspNetCore.App的綜合包。它也被稱為ASP.NET Core Shared Framework,在ASP.NET Core Shared Framework之中包含了很多依賴項,它能滿足一般應用的需求。但是如果你檢視它的依賴項,

React v16.3.0新的生命週期和上下文API

官方提供:在React 16.3.0中, 我們正在新增一些新的生命週期方法來輔助遷移。我們還為長期被要求的功能引入了新的API: 一個官方的context API,一個轉發的ref API和一個更符合人類使用的ref API. 官方 Conte

學習jQuery第一天演示jQuery層次選擇器

body{ font: 0.8em "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, sans-serif; color: #4F4A4A background: #F4FFDF;

推薦書單3.0軟體工程師蛻變之路

每年年末都會將自己閱讀過的覺得不錯的書,整理一份清單並推薦。內容較雜,有技術、產品、社科、管理、心理學、認知成長等型別。 跳轉門:2017年-推薦書單1.0:測試工程師成長之路、2018年-推薦書單2.0:測試工程師進階之路。 19年接觸了很多新的東西,也思考了很多,所以這次的書單,時間跨度會比較長,且內容更

最細的實現剖析jQuery 2.0.3源碼分析Deferred

func RF 匿名函數 鏈式 rejected sde 所有 現在 on() Deferred的概念請看第一篇 http://www.cnblogs.com/aaronjs/p/3348569.html **構建Deferred對象時候的流程圖** **源碼解析** 因為

jQuery.2.0.3源碼分析01-整體架構思想

true 哪裏 this bool 知識 立即執行 n) https some 一、jQuery($)命名空間 為了避免聲明了一些全局變量造成變量汙染,使用立即執行函數形成jQuery($)獨立的命名空間; (function(window, undefined){

Google 的 QUIC 華麗轉身成為下一代網路協議 HTTP/3.0

HTTP/2.0 還沒有普及,HTTP/3.0 標準就要被制定了。 據 IETF 透露,HTTP-over-QUIC 實驗協議將被重新命名為 HTTP/3,併成為 HTTP 協議的第三個正式版本。 IETF 是 Internet Engineering

jQuery 2.0.3 原始碼分析 Deferred概念

      JavaScript程式設計幾乎總是伴隨著非同步操作,傳統的非同步操作會在操作完成之後,使用回撥函式傳回結果,而回調函式中則包含了後續的工作。這也是造成非同步程式設計困難的主要原因:我們一直習慣於“線性”地編寫程式碼邏輯,但是大量非同步操作所帶來的回撥函式

jQuery 2.0.3 原始碼分析 鉤子機制

jQuery提供了一些快捷函式來對dom物件的屬性進行存取操作. 這一部分還是比較簡單的. 根據API這章主要是分解5個方法 .attr()   獲取匹配的元素集合中的第一個元素的屬性的值  或 設定每一個匹配元素的一個或多個屬性。 .prop() 獲取匹配的元素集

jQuery 2.0.3 原始碼分析 回溯魔法 end()和pushStack()

瞭解了jQuery對DOM進行遍歷背後的工作機制,可以在編寫程式碼時有意識地避免一些不必要的重複操作,從而提升程式碼的效能 從這章開始慢慢插入jQuery內部一系列工具方法的實現 關於jQuery物件的包裝 var $aaron = $("aaron"); 通過對sizzle的分析呢,jQue

jQuery 2.0.3 原始碼分析 Deferred(最細的實現剖析,帶圖)

Deferred的概念請看第一篇 ******************構建Deferred物件時候的流程圖************************** **********************原始碼解析********************** 因為callback被剝

jQuery 2.0.3 原始碼分析 資料快取

歷史背景: jQuery從1.2.3版本引入資料快取系統,主要的原因就是早期的事件系統 Dean Edwards 的   帶來的問題: 沒有一個系統的快取機制,它把事件的回撥都放到EventTarget之上,這會引發迴圈引用 如果EventTarget是window物件,又會引發全域性汙染 不同

jQuery 2.0.3 原始碼分析 回撥物件

jQuery.Callbacks()是在版本1.7中新加入的。它是一個多用途的回撥函式列表物件,提供了一種強大的方法來管理回撥函式佇列。 那麼jQuery.Callbacks使用場景在哪裡? 在很多時候需要控制一系列的函式順序執行。那麼一般就需要一個佇列函式來處理這個問題 我們看一段程式碼

jQuery 2.0.3 原始碼分析core

     宣告:本文為原創文章,如需轉載,請註明來源並保留原文連結Aaron,謝謝!      開啟jQuery原始碼,一眼看去到處都充斥著正則表示式,jQuery框架的基礎就是查詢了,查詢文件元素物件,所以狹隘的說呢,jQuery就是一個選擇器,並這個基礎上構建和執行查詢過濾器! 工欲善其事,必先利其器