DataTables 1.10 beta 版
我非常高興在今天發布 DataTables 1.10.0-beta.1;這是下一代 DataTables 的第一個 beta 版本,它充滿了新功能、效能改進,以及為您(使用 DataTables 的開發人員)和您的最終使用者增強的易用性。
DataTables 1.10 歷時 15 個月開發,核心軟體有 468 次 git 提交,並以過去六年來我從 DataTables 使用方式中所學到的一切為基礎。這是 DataTables 自最初發布以來最重大的更新,我對此感到非常興奮!
在這篇文章中,我將重點介紹 1.10 中的一些新功能,並引導您開始使用它。在未來的文章中,我將提供更詳細的範例,說明如何使用 DataTables 的功能。
快速入門
如果您迫不及待想開始使用 DataTables 1.10,您可以在下載頁面下載完整套件。DataTables 1.10 的一個關鍵目標是向後相容性,因此如果您已經使用較舊版本的 DataTable,您可以直接將 1.10 放入您的應用程式中,它就會開始運作。但請務必查看升級說明,因為有兩個已棄用的功能已被移除 (fnRender
和 bScrollInfinite
)。
主要新功能
DataTables 1.10 的重點是讓您(使用 DataTables 的開發人員)更容易為您的最終使用者製作高品質的互動式表格。詳細的新功能列表可供查閱,但在此部落格文章中,我將涵蓋主要重點。
camelCase 命名法
DataTables 自成立以來,其公開 API 一直使用匈牙利命名法。這與 JavaScript 社群的其他部分非常不協調,是採用上的一大阻力。
在 1.10 中,DataTables 現在接受所有公開 API 的 camelCase 命名法和原始的匈牙利命名法,其中 camelCase 是首選和記錄的存取方法。此變更完全向後相容 - 如果您願意,可以繼續使用舊樣式,但未來所有文件和範例都將使用 camelCase 命名法。有關此變更的更多資訊,請參閱命名升級文件。
API
DataTables 1.10 提供一個全新的 API,它經過完整的文件說明,一致、簡潔、靈活且具有表達力。新 API 旨在反映表格中資料的結構以及您通常想要與表格互動的方式;儲存格、列、欄等。許多您過去需要外掛程式的功能現在也已內建於核心 API 中 (ajax.reload()
,例如,透過 Ajax 重新載入表格資料)。
若要存取新的 API,請使用建構函式
var table = $('#myTable').DataTable();
請務必注意 $().dataTable()
和 $().DataTable()
之間的差異
$().dataTable()
將傳回一個 jQuery 物件,其中選定的 HTML 節點位於其內容中。其運作方式與任何其他 jQuery 外掛程式相同,這也是 DataTables 1.9 及更早版本的工作方式。$().DataTable()
將傳回 DataTables API 實例,其中選定的表格位於其內容中。API 實例提供廣泛的方法,可用於操作表格。
有一個新的手冊頁面介紹了新的 API,說明了使用的術語、如何存取、使用它,並建立了一個複雜的範例。新 API 代表了 DataTables 自首次發布以來最大的單一變更,我非常高興看到它被使用。
新網站
文件是任何軟體函式庫的關鍵方面,我完全理解它對任何使用 DataTables 的人都非常重要,而且如果您想要的文件不可用,可能會讓人感到沮喪。DataTables 文件一直以來都「不錯」,但從未「出色」。隨著 DataTables 1.10 的發布,這種情況將有所改變。
DataTables 網站已進行全面改造,並新增了新手冊章節,概述 DataTables 的各個部分如何組合在一起,包括快速入門安裝指南,讓您立即上手使用 DataTables。新的參考章節提供您使用 DataTables 的選項、事件和 API 所需的詳細資訊。
除了改進內容之外,網站升級還著重於頁面速度。由於網站是從靜態頁面而非使用資料庫查詢提供服務,因此頁面載入時間將顯著加快。
許多文件頁面也具有新增註解的功能,因此您可以與其他開發人員分享有用的建議和提示;例如,您可能會發現使用給定 API 方法的特定方式很有用,並且想要與其他人分享。這些註解會受到審核,我會嚴格審核以確保它們與主題相關 - 例如,問題 (應該在論壇中提出) 將會被刪除,恕不另行通知。
新網站將在next.datatables.net 子網域上提供,直到 DataTables 1.10.0 發布,屆時它將取代現有的網站。當這種情況發生時,如果您需要存取 DataTables 1.9 的文件,現有的網站將移至 legacy.datatables.net。
CDN
隨著新的 DataTables 網站推出,現在有一個DataTables 專用 CDN。DataTables CDN 包括所有 DataTables 和擴充套件版本的封存,讓您無需在自己的伺服器上安裝任何軟體即可使用。內容傳遞網路 (CDN) 是一個不變檔案的儲存庫,它大量使用瀏覽器快取,並採用網路邊緣伺服器,以盡量縮短檔案的下載時間。
DataTables CDN 由 CloudFlare 提供技術支援,以確保它在您需要時始終可用,並盡快將檔案提供給您的最終使用者。
其他功能
DataTables 1.10 中還有許多其他新功能,例如改進的樣式設定、HTML 5 data-*
屬性用於正交資料、其他排序類型(貨幣、百分比、格式化數字)和增強的分頁控制。我不會在這裡一一介紹,但1.10 版本說明中提供了更多資訊。
邁向 1.10.0
DataTables 1.10 的第一個 beta 版本是邁向最終發布 1.10.0 的關鍵一步。它是 beta 軟體,因此建議您暫時不要將它用於生產網站,但請試用它並告訴我們您的使用情況,報告您可能發現的任何問題。
雖然 1.10.0-beta.1 的功能已完整,但在 1.10.0 發布之前仍有幾個項目需要完成
- 針對 1.10 更新單元測試
- 為新網站升級論壇
- 新網站的開發文件
- 縮減核心程式碼大小 (1.10.0-beta.1 比 1.9.4 大約 3KiB,儘管在縮減核心大小方面已經做了很多工作,但保持檔案大小在最小範圍內非常重要)。
預計 beta 週期將持續約一個月,DataTables 1.10.0 將在 3 月與 Editor 1.3 一起發布。
感謝
我要特別感謝幾位人士,他們在準備 DataTables 1.10 和新網站以供 beta 測試的過程中,為我提供了莫大的幫助
- NetaisLLC
- tangerine
- Patrik Lindström
- Andrew Howe
謝謝你們!