2011 年 6 月 4 日,星期六

DataTables 1.8

我非常荣幸地宣布发布 DataTables 1.8.0。此更新对 DataTables 的功能提供了重大的更新,重点在于让开发者使用 DataTables 来工作变得更加容易和更完整。没有特别针对终端用户的任何新特性,这一切都是为了开发者!

此 1.8 版本的主要新特性是

  • 扩展数据源选项:
    • 使用对象进行服务器端处理的演示 | 使用对象的 Ajax 源的演示 | 使用子数组的对象的演示 | 深度数据源的演示
    • 之前使用 Ajax 时,DataTables 需要一个简单的表格二维数组数据,并且长度需要严格要求。DataTables 1.8 现在允许您提供一个对象数组(或仍然是数组),其中包含您希望存在的任意数量的属性。要访问某列的属性,请使用目标列的 **mDataProp** 选项。这可以是数组索引的整数(默认值)或对象属性的字符串。另外,您可以在字符串中使用带点的对象符号,以指定嵌套对象(任意深度) - 例如“object.prop”。这对于存储元信息非常有用,比如详细行(fnOpen)或数据库 ID。这里有一篇博客文章来讨论此新特性。
  • 延迟呈现(性能)
    • 引用呈现演示
    • 当使用 Ajax 或 Javascript 来源的数据时,现在可以选择延迟(将 **bDeferRender** 设置为 true,默认值为 false)创建表格行和单元格 DOM 元素,直到实际需要它们进行指定的页面绘制。因此,在初始化期间提供了巨大的速度提升,因为您的浏览器不需要为表格创建节点。这使得 Ajax 来源的表格可以轻松地处理数千行。请注意,这对 DOM 来源的数据没有任何影响,并且服务器端处理更适合数百万行的处理。
  • 复杂的表头:
    • 带有隐藏列的列跨度演示
    • 1.8 引入了超级灵活的列头和表格尾支持。以前不支持对带有 colspan/rowspan 的标头的列可见性,但现在您可以对列进行分组,并按需要显示/隐藏它们。这与核心紧密结合,因此允许 ColVis 扩展和其他扩展与复杂标头“正常工作”。
  • 渐进增强(表格主体中的 TH 元素)
    • 借助 DataTables 1.8,现在可以在表格的 TBODY 中使用 TH 元素,这从渐进增强角度来说很重要,因为 TH 元素具有语义含义。此外,还可以使用 CSS 选择器更轻松地设置表格样式。
  • 新特性的完整列表

投入大量工作,确保此 DataTables 更新与 1.7.x 向后尽可能兼容,因此升级过程应与引入新的 Javascript 源文件一样简单。如果您是插件开发者,可能会对一些内部变更感兴趣;在此处记录,其中还有 DataTables 的所有新初始化选项的完整列表。

以数字形式

从 3 月 6 日开始在 1.8.x DataTables 特性集上进行工作,并在 6 月 4 日以 1.8.0 版本告终 - 几乎 3 个月的开发时间。已经有了

  • 已添加了 28 个新特性
  • 5 次更新更改
  • 41 个错误修复
  • 97 次独立提交
  • 缩小后比 1.7.6 大 3KB
  • 在 DataTables 中增加了 1034 行,删除了 574 行
  • 包中的 304 个文件已更改

DataTables 的第一个版本发布于 2008 年 3 月,DataTables.net 于一年后推出 1.4 版。从那时起,该网站的使用一直平稳增长

Site usage

DataTables.net 目前每天(在工作日)的访问量约为 6000 次,我们正接近每月 100 万次页面浏览量。DataTables 已经获得了非常有机的增长,我要向整个社区表示衷心的感谢,感谢你们对 DataTables 的支持!

未来工作

该 1.8 版本基于之前的所有版本构建,在论坛中获得了有关如何改进的极佳反馈。DataTables 及其插件现在提供的功能集为在 Web 浏览器中使用表格提供了非常强大且可扩展的开发环境,我们在论坛和更广泛网络上拥有一个出色且乐于助人的社区。

展望 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 的讨论主题。请随时对该版本发表一些反馈(如果您希望报告错误,请在新建的主题中发布)。

享受!