2014年2月4日 星期二

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 放入您的應用程式中,它就會開始運作。但請務必查看升級說明,因為有兩個已棄用的功能已被移除 (fnRenderbScrollInfinite)。

主要新功能

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

謝謝你們!