jQuery 维护人员继续现代化计划,弃用 jQuery Mobile

发布于 作者

作者:Michał Gołębiowski-Owczarek、Felix Nagel 和 jQuery 团队

编者注:以下博客文章最初发布在 OpenJS 基金会博客

jQuery 维护人员继续对其整体项目进行现代化,该项目至今仍是当今部署最广泛的 JavaScript 库之一。该团队宣布,其旗下的跨平台 jQuery Mobile 项目将于 2021 年 10 月 7 日正式弃用。自该项目于 2010 年推出以来,移动应用程序开发的新技术已经发展起来,因此我们鼓励开发人员规划此 jQuery Mobile 过渡。

请注意

  • 下载生成器将继续可用。
  • Mobile 1.4 与最新的 jQuery Core 不兼容。
  • 问题将被关闭。请通过电子邮件 security@jquery.com 报告严重的安全漏洞。

庆祝 jQuery Mobile 的历史

jQuery Mobile 于 2010 年构思并宣布推出,比 jQuery 推出晚三年。该项目令人兴奋且雄心勃勃。在宣布时,jQuery Mobile 承诺在多个平台、浏览器和版本之间兼容。包括 Palm 和 Mozilla 在内的几家移动浏览器供应商签署协议赞助该项目:


“jQuery 社区一直致力于使 Web 尽可能高效和有趣。当我们听到 jQuery Mobile 背后的使命时,我们想帮忙。凭借 webOS,我们已经证明了 Web 平台对开发人员来说非常棒,因此我们很高兴帮助使 jQuery Mobile 尽可能出色。” -Dion Almaer – Palm

当时,移动网络迫切需要一个能够跨所有浏览器工作的框架,让开发人员能够构建真正的移动 Web 应用程序。jQuery 已经改变了开发人员构建 Web 的方式,使其更轻松(更快)地创建安全、合规的应用程序。

借助 jQuery Mobile,该项目的目标是将 jQuery 的易用性带到支持 HTML 的移动设备浏览器,并使开发人员更容易构建渐进增强型 Web 应用程序。由 Filament Group 的 Todd Parker 带领,Filament Group 是一家以其跨平台和以无障碍为先的应用程序而闻名的开发工作室,jQuery Mobile 于 2010 年 10 月发布了其 alpha 版本。

Alpha 功能包括几个组件、布局和主题工具,这些工具简化了构建移动 Web 应用程序的过程。渐进增强和优雅降级是当时 Web 开发中的热门(且棘手)话题,jQuery Mobile 承诺为开发人员和用户提供其平台可以处理的最佳体验。无障碍是另一个关键功能,Mobile 承诺通过 ARIA 兼容组件提供可以通过触摸、键盘或屏幕阅读器导航的用户体验。其他功能如简洁性、文件大小以及能够通过应用商店部署 jQuery Mobile 应用程序进一步激发了人们的兴奋。

在接下来的一年中,jQuery Mobile 团队继续添加兼容的平台和浏览器、新组件和主题,以及最终的 themeroller 工具,该工具允许开发人员配置和下载主题,而无需编写任何 CSS。

社区的反应非常热烈——到 2011 年 11 月发布 1.0 版本时,jQuery Mobile 已经吸引了 125 多位贡献者、数十篇文章、教程和演示、8 本已出版的书籍以及网站、插件和扩展库,以欢迎新开发人员并向他们介绍该项目。

jQuery Mobile 在 2012 年和 2013 年继续每月发布,定期添加和改进组件,解决与移动浏览器之间的兼容性问题,并进行性能改进以加快页面渲染时间。开发团队还继续优先考虑并强调每次新版本中响应式 Web 设计和无障碍原则的重要性。

随着组件和小部件数量的激增——包括那些官方支持的或社区中广泛采用的组件和小部件,移动平台、浏览器和 jQuery 核心之间的性能和兼容性问题也加剧了。虽然该项目确实有一些自动化测试,但仍有许多项目需要手动测试,这减慢了开发过程。

2013 年年中,Jasper de Groot 成为项目负责人,宣布了 jQuery UI 和 jQuery Mobile 团队之间更紧密的开发合作,共享目标、路线图和代码,以减轻两组人员的工作量。该团队继续提供维护版本和支持,但由于测试和支持如此庞大的社区的负担,进度继续放缓。

Alex Schmitz 于 2014 年 7 月接任领导职务,但到那时,项目规模加上移动浏览器功能的更新速度和可用性,使该项目找到一条可行的前进道路变得越来越困难。

最新稳定版本于 2014 年 10 月发布。Alex 和团队在 2017 年再次努力更新 jQuery Mobile,发布了 1.5 版本的 alpha 版本;此版本将支持与 jQuery 3.0 的兼容性以及 npm 支持等其他功能。

jQuery Mobile 于 2018 年成为 OpenJS 基金会荣誉项目,表明该项目的既定目标已经实现。

jQuery 现代化计划

jQuery Mobile 的弃用遵循了 jQuery 项目伞下另一个项目的谨慎过渡,即 jQuery UI

jQuery Core 仍然积极维护并广泛实施。作为其现代化计划的一部分,该团队今年还对其基础设施进行了一系列更新,包括迁移和改进其 CDN。

庆祝 jQuery Mobile 维护人员和贡献者

对 jQuery Mobile 的贡献为世界各地的人们和组织创造了机遇,我们感谢多年来的所有贡献。我们想特别感谢 jQuery Mobile 过去的维护人员:Alexander Schmitz、Jasper de Groot 和 Todd Parker。

jQuery 维护人员更新并过渡 jQuery UI,作为整体现代化工作的一部分

发布于 作者

作者:Michał Gołębiowski-Owczarek、Felix Nagel 和 jQuery 团队

编者注:以下博客文章最初发布在 OpenJS 基金会博客

jQuery 项目正在积极维护并广泛实施——它被 1000 万个最受欢迎网站中的 73% 使用。作为其持续的现代化工作的一部分,jQuery 维护人员采取措施通过谨慎过渡来结束其旗下的一个项目。

今天,jQuery UI 宣布发布 1.13 版本——这是该项目 5 年来的首次发布,也是该项目计划的最终版本[1]。也许最重要的更新是 jQuery UI 1.13 现在运行在最新版本的 jQuery Core 上,提供了以前版本中缺少的许多浏览器兼容性和安全更新,以及社区修复和改进。jQuery UI 下载生成器也已恢复并更新,以便开发人员可以继续下载 UI 以及他们喜欢的主题。该版本是所有 jQuery 项目中一系列持续更新的一部分。

jQuery UI 处于仅维护模式。用户不应期望有任何新版本,尽管可能会发布补丁来解决严重的安全问题、互操作性问题或回归错误。该项目的错误跟踪工具 Trac 已设置为只读模式,开发人员被要求在该项目的 GitHub 存储库 上提交任何严重问题。

jQuery UI 最初于 2007 年 9 月推出,是一套精心策划的用户界面交互、效果、小部件和主题,构建在 jQuery 库之上。它迅速流行起来,因为它当时是测试最完善且最易访问的 UI 框架之一。该工具帮助开发人员使用当时的最佳实践构建 UI 组件,例如表单控件和日期选择器。在鼎盛时期,jQuery UI 被大量企业采用,包括 Pinterest、PayPal、IMDB、赫芬顿邮报和 Netflix。

如今,jQuery UI 仍然是 jQuery Core 更新的重要测试平台,帮助维护人员团队发现随着 Web 平台的发展而出现的错误和互操作性问题。

庆祝 jQuery UI 的历史

随着 2006 年 jQuery 的推出,Web 开发人员能够比以往更快更容易地访问和操作 DOM 和 CSS。创建了数千个开源 jQuery 小部件和插件来处理以前棘手的问题,例如显示和隐藏元素、旋转图像轮播或在日历上选择日期。jQuery 生态系统成为了一个充满工具的游乐场,可以使 Web 上出现新的有趣的交互成为可能。

“新颖有趣”并不总是转化为“优秀有用”——虽然有很多优秀的插件可用,但并不总是很容易区分哪一个性能最好或提供最佳用户体验。开发人员可能需要搜索合适的工具,或者更糟糕的是,花费大量时间在多个插件之间切换,以确定哪个最适合。此外,Web 上的用户体验最佳实践示例很少,因此访问一个网站的访问者在另一个网站上执行类似任务时可能会遇到截然不同的(因此令人困惑的)交互。

jQuery Core 团队的成员希望帮助开发人员为他们的网站和应用程序编写高性能、高质量且可重用的 jQuery 组件。经过一番讨论,人们萌生了创建第二个库的想法,该库对编码、文档和主题有严格的标准。该项目的愿景和目标包括:开发协作的设计流程;提供灵活的样式和主题;创建优雅的视觉和交互设计;提供强大的 API;以及优先考虑渐进增强、无障碍、国际化和本地化支持。

jQuery UI 于 2007 年 9 月正式发布,它是一套基于 jQuery 的用户界面交互、效果、小部件和主题。不久之后,该团队将重点转移到提供一套完整的 API 和方法,以使开发人员能够创建灵活且功能齐全的小部件,并满足高质量标准。添加了缓动和动画等 CSS 效果,帮助开发人员创建更现代、更增强的体验。Filament Group 的团队后来添加了 ThemeRoller,允许开发人员通过提供可自定义的主题样板快速入门。ThemeRoller 如今仍然在运行。  

到 2008 年底,jQuery UI 拥有一个不断壮大的用户、开发人员和交互设计师社区,他们定期为该项目提供更新和改进,以适应最佳实践和风格偏好的演变。在 2009 年至 2016 年之间,社区提供了各种新的官方和非官方主题和插件、互操作性和其他错误修复、稳健的测试流程以及对多个版本的 jQuery 的支持。 

jQuery UI 上一次正式发布是在 2016 年 9 月,距离它开始已经近十年了。在这段时间里,jQuery 社区帮助激发了数十个其他开源项目、模式和组件库。但是,更新的 CSS 框架和方法正在流行起来,社区也逐渐转向其他项目。UI 团队和 jQuery Mobile 团队合并,该团队更加专注于维护和与 jQuery Core 的兼容性。  

jQuery UI 于 2018 年成为 OpenJS Foundation 的荣誉项目,这表明它正在逐步停止运营,同时承认了它对 JavaScript 生态系统的重要意义。

致敬jQuery UI维护者和贡献者

该项目的范围和社区的包容性帮助无数 Web 制作者对用户体验、本地化、国际化、可访问性和干净、可重用代码产生了热爱和欣赏。虽然许多工作时间和贡献都投入到了使 jQuery UI 成为一个成功的库,但 jQuery UI 核心团队应该获得额外的认可,因为他们在十多年来一直辛勤工作,在整个项目的生命周期中指导着工作和社区。 Alex SchmitzJörn ZaeffererFelix NagelMike SherovRafael Xavier de SouzaScott González 领导了一个由许多核心贡献者和超过 300 位其他作者 组成的团队

还要感谢 Michał Gołębiowski-Owczarek 准备了 1.13 版本,并在过去的一年中负责维护存储库。 

OpenJS Foundation 将永远感谢这些开源开发人员的工作,以及他们通过工作对生态系统的影响。请与我们一起向这些开发人员和 jQuery UI 致敬!

参考资料

1. jQuery UI 1.13 并不是最终版本,有关新计划,请参阅博客文章 jQuery UI 1.14 的计划,在下载构建器中停止支持 UI <1.12

jQuery UI 1.13.0 发布

发布日期: 作者:

经过长时间的休整,我们很高兴地宣布发布 1.13.0 版本。此版本的重点是提高与最新 jQuery 版本的兼容性,因此我们将大多数重大更改(如删除弃用 API 和删除对旧版浏览器的支持)推迟到未来版本。

已删除对弃用 jQuery API 的使用。jQuery UI 1.13 在针对 jQuery 3.6.0(使用 jQuery Migrate 3.3.2,即在发布此版本时最新的版本)运行其测试套件时,不会触发任何 jQuery Migrate 警告。

已修复一些安全问题

已删除对 jQuery 1.7 的支持;jQuery 1.8 及更高版本仍然受支持。

在此版本中,所有单独的模块文件以及下载构建器生成的捆绑 jQuery UI 副本,其所有代码都以严格模式运行。对于大多数用户来说,这应该不会有什么影响,因为 jQuery 自 2016 年发布的 3.0 版本以来一直在严格模式下运行。

除此之外,还添加了两个小功能

  1. Accordionheader 选项现在不仅可以接受匹配标题元素的选择器,还可以接受一个函数,该函数将手风琴元素作为参数,并返回标题元素;更多详细信息请参阅 header 选项的文档
  2. Datepicker 选项现在包括可选的 onUpdateDatepicker 回调,当 datepicker 小部件的 DOM 更新时调用。

为了简化 jQuery UI 的维护,我们将在 https://bugs.jqueryui.com(我们将以只读模式保留它)中停用旧的错误跟踪器,转而使用 GitHub 问题。

jQuery UI 在过去几年中一直难以找到贡献者;我们的目标是将其更多地转变为维护状态:我们将确保该库与新的 jQuery 版本兼容,并修复安全问题,但没有计划新的重大功能工作。我们还将尝试修复 jQuery UI 1.12.1 中的重要回归问题;较旧的长期存在的错误可能无法修复。当我们发布 1.13 最终版本时,我们将发布一篇更长的博客文章,介绍 jQuery UI 的现状。请注意,这不会影响仍然积极维护的 jQuery Core。

下载

文件下载

Git(包含源文件,@VERSION 替换为 1.13.0,仅包含基本主题)

通过bower安装

  • bower install jquery/jquery-ui#1.13.0

jQuery CDN

Google Ajax Libraries API(CDN)

Microsoft Ajax CDN(CDN)

自定义下载构建器

变更日志

有关从 1.12.x 升级时可能影响您的更改列表,请参阅 1.13 升级指南。有关此版本中包含内容的完整详细信息,请参阅 1.13.0 变更日志

致谢

感谢所有帮助发布此版本的人,尤其是:A. Wells、Albert Johansson、Alexander Schmitz、c-lambert、claudi、Eirik Sletteberg、Evelyn Masso、Fatér Zsolt、Felix Nagel、Florian Wegscheider、Gez Quinn、GitHub、Horus68、Hrvoje Novosel、Jeremy Mickelson、jigar gala、Jo Liss、Jérémy Munsch、Jörn Zaefferer、Kevin Cupp、Konstantin Dinev、Kyle Rosenberg、Luke Brookhart、Maksymenkov Eugene、Micah Miller、Michał Gołębiowski-Owczarek、Mikolaj Wolicki、milk54、OskarNS、pallxk、Patrick McKay、Paul Capron、Petri Partio、Robert Brignull、Robin、Ryan Oriecuia、sakshi87、Scott González、Sergei Ratnikov、Simon Asika、Szabolcs Szabolcsi-Toth。

评论

注意:请将 bug 报告到jQuery UI Bug Tracker;支持问题应发布到Stack Overflow,并加上 jquery-ui 标签。请不要使用评论报告 bug。

如果您对我们发布 jQuery UI 1.13.0 有任何反馈意见,请随时在下面留言。谢谢。