2011年6月4日,星期六

DataTables 1.8

我很榮幸地宣布 DataTables 1.8.0 的發布。此更新顯著提升了 DataTables 的功能,重點在於讓開發人員在使用 DataTables 時更加輕鬆且完善。這次沒有特別針對終端用戶的新功能,一切都是為了開發人員!

1.8 版本的主要新功能如下:

  • 擴展的資料來源選項:
    • 使用物件的伺服器端處理示範 | 使用物件的 Ajax 來源示範 | 使用子陣列的物件示範 | 深層資料來源示範
    • 先前在使用 Ajax 時,DataTables 需要表格的簡單 2D 資料陣列,對長度有嚴格的要求。現在 DataTables 1.8 允許您提供物件陣列(或仍然是陣列),其中包含您想要的任意數量屬性。要存取某個欄位的屬性,請使用目標欄位的 mDataProp 選項。這可以是陣列索引的整數(預設值)或物件屬性的字串。此外,您可以在字串中使用點號物件表示法來指定巢狀物件(任何深度) - 例如 "object.prop"。這對於儲存中繼資訊(例如詳細資料列 (fnOpen) 或資料庫 ID)非常有用。有一篇部落格文章討論了這項新功能。
  • 延遲渲染(效能)
    • 延遲渲染示範
    • 當使用 Ajax 或 Javascript 來源資料時,現在可以選擇延遲(bDeferRender 設定為 true,預設值為 false)建立表格列和儲存格 DOM 元素,直到實際需要它們以繪製特定頁面時。因此,由於您的瀏覽器不需要為表格建立節點,這在初始化期間提供了巨大的速度提升。這允許 Ajax 來源表格輕鬆處理數千行。請注意,這對 DOM 來源資料沒有影響,而伺服器端處理更適合處理數百萬行。
  • 複雜標頭:
    • 具有隱藏欄位的 Colspan 示範
    • 1.8 引入了超級靈活的欄標頭和表格頁尾支援。先前,具有 colspan/rowspan 的標頭不支援欄位可見性,但現在您可以群組欄位並根據需要顯示/隱藏它們。這與核心緊密整合,因此允許 ColVis 擴充功能和其他功能在複雜的標頭中「正常工作」。
  • 漸進式增強(表格主體中的 TH 元素)
    • 在 DataTables 1.8 中,現在可以在表格的 TBODY 中使用 TH 元素,這從漸進式增強的角度來看非常重要,因為 TH 元素具有語義含義。此外,它還可以使使用 CSS 選取器更容易設定表格樣式。
  • 新功能的完整列表

為了確保此 DataTables 更新盡可能向後相容於 1.7.x,我們投入了大量工作,因此升級過程應該就像放入新的 Javascript 原始碼檔案一樣簡單。如果您的外掛程式開發人員,則可能有一些內部更改您可能會感興趣;此處記錄了這些更改,以及 DataTables 的新初始化選項的完整列表。

數據統計

1.8.x DataTables 功能集的開發工作於 3 月 6 日開始,並在 6 月 4 日達到 1.8.0 版本 - 將近 3 個月的開發時間。總共有

  • 新增了 28 項新功能
  • 5 項變更更新
  • 41 個錯誤修正
  • 97 次個別提交
  • 縮小後比 1.7.6 大 3KB
  • 在 DataTables 中新增了 1034 行程式碼,刪除了 574 行
  • 封裝中變更了 304 個檔案

DataTables 的第一個版本是在 2008 年 3 月編寫的,而 DataTables.net 是在一年後推出 v1.4 的時候啟動的。自那時以來,該網站的使用率穩步成長。

Site usage

DataTables.net 目前每天(在工作日)大約有 6,000 次訪問,並且我們每月快接近 100 萬的頁面瀏覽量。DataTables 享有非常自然的成長,並且我想向整個社群表示衷心的感謝,感謝您對 DataTables 的支持!

未來工作

1.8 版本建立在之前的所有版本之上,並且在論壇上提供了關於如何改進它的出色回饋。DataTables 及其外掛程式現在提供的功能集為在網路瀏覽器中使用表格提供了非常強大且可擴展的開發環境,並且我們在論壇和更廣泛的網路中擁有一個很棒且樂於助人的社群。

展望 1.8 之後,與所有軟體開發人員一樣,我永遠不會完全滿意(!),並且我意識到 DataTables 有許多可以改進的地方。早在 2008 年,我對 DataTables 的架構做了一些決定,我現在認為這些決定有些限制,但要變更它們將需要對 API 進行重大變更。因此,我計畫在不久的將來開始開發 DataTables 2.0。這基本上是對核心軟體的重寫,提供與 DataTables 1.8 相同的功能集,同時 1.8 將被分支並支持,並且在需要時提供 1.8 系列的錯誤修正版本。

2.0 的主要目標將是:

  • 顯著改進的文件
  • 速度
  • 開發人員和外掛程式的整合更加容易
  • 簡化的 API 和選項
  • 簡化的 CSS 類別
  • 透過事件等方式增強可擴展性

盡可能地,顯然這不能一夜之間發生,因為這需要相當多的努力,而且我能夠花在專案上的時間有限,但我真的很期待在 1.8 的基礎上發展,並推進 2.0 的發展。

1.8

我希望大家都能享受 DataTables 1.8 的使用,並發現此更新中提供的新功能很有用!請記住,開發和支援 DataTables 需要大量的時間和精力,因此如果您喜歡使用 DataTables 並發現它很有用,請考慮捐款以幫助軟體的未來發展。

在論壇中有一個關於 DataTables 1.8 的討論串。請隨時對此版本留下一些回饋(如果您想回報錯誤,請在新的討論串中發文)。

祝您使用愉快!