2014 年 2 月 4 日星期二

DataTables 1.10 测试版

我很荣幸地宣布,今天发布了 DataTables 1.10.0-beta.1,是下一代 DataTables 的第一个测试版,里面包含了新功能、性能改进,还增强了各位的使用便利性和最终用户的易用性。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() 将返回一个处于其上下文中的选定 HTML 节点的 jQuery 对象。此操作方式与所有其他 jQuery 插件相同,且是 DataTables 1.9 及更早版本的操作方式。
  • $().DataTable() 将返回 DataTables API 实例,其中包含处于其上下文中的选定表格。该 API 实例提供 众多方法,这些方法可用于处理表格。

已提供一份 新操作手册页,该手册引入了新的 API,并解释了其中使用的术语、如何访问、使用该 API,以及如何构建一个复杂的示例。自首次发布以来,新 API 对 DataTables 而言是最大的单项更改,我真的很高兴看到它得到应用。

新网站

文档是任何软件库的重要方面,我完全认可对任何使用 DataTables 的人而言其重要性,如果缺少您想要的文档,其会造成多大的困扰。DataTables 文档一直是好的,但从没有达到精彩的程度。随着 DataTables 1.10 的发布,这种情况将发生改变。

DataTables 网站已经全面更新,并提供一个新操作手册部分,该部分概述了 DataTables 的各个组成部分如何组合在一起,其中包括一个快速入门安装指南,让您能立即开始使用 DataTables。一个新的参考部分提供了您需要的信息,以便使用 DataTables 的选项事件API

除了改善内容外,该网站升级还集中关注了页面速度。页面加载时间现在将显著减少,这是因为该网站是由静态页面提供服务,而不是使用数据库查询。

许多文档页面还具有添加注释的功能,以便您可以与其他开发人员分享有用建议和提示;比如,您可分享利用给定 API 方法的特定方式,而这种方式您自己发现很有用,并希望与他人分享。这些注释是受审核的,我会对接受这些注释以便发布持非常严格的态度,以确保它们具有相关性 - 例如,问题(应该在论坛中提出)将被删除,恕不另行通知。

新网站可以从next.datatables.net子域名获得,直到 DataTables 1.10.0 发布,届时它将取代现有网站。当这种情况发生后,现有网站将被移动至legacy.datatables.net,如果需要,您可以在该网站访问 DataTables 1.9 的文档。

CDN

除了新的 DataTables 网站外,现在还有一个特定于 DataTables 的 CDN。DataTables CDN 包括所有 DataTables 和扩展版本存档,以便您能够使用它,而无需在自己的服务器上安装任何软件。内容分发网络 (CDN) 是不变化的文件存储,它充分利用了浏览器缓存,并采用网络边缘服务器来将文件下载时间减至最短。

DataTables CDN 由 CloudFlare 提供支持,以确保在您需要时可以始终使用 CDN,并且可以尽快向您的最终用户提供文件。

其他功能

DataTables 1.10 中还有许多其他新功能,例如 改进的样式、用于 正交数据 的 HTML 5 data-* 属性、其他排序类型(货币、百分比、格式化的数字)和增强的分页控件。我不会在此处描述所有功能,但 可以在 1.10 发行说明中找到更多信息

面向 1.10.0

此次 DataTables 1.10 的首次内测版发行是一个关键步骤,以期实现 1.10.0 的最终发行。它属于内测版软件,因此建议您不要将其用于生产站点,但请试用并 告诉我们您的使用感受,并报告您可能发现的任何问题。

虽然 1.10.0-beta.1 功能完备,但在 1.10.0 得以发行之前,仍需完成几项工作

  • 为 1.10 更新单元测试
  • 升级新站点的论坛
  • 新站点的开发文档
  • 减少核心代码大小(1.10.0-beta.1 比 1.9.4 大约 3KiB,虽然已在减少核心大小方面做了大量工作,但务必将文件大小保持在最小值)。

预计内测周期约为一个月,DataTables 1.10.0 将在 3 月与 Editor 1.3 一起发布。

感谢

我要特别感谢以下几位人士,他们在我准备 DataTables 1.10 和新站点以进行内测的过程中给予了我大力帮助

  • NetaisLLC
  • tangerine
  • Patrik Lindström
  • Andrew Howe

谢谢!