写点什么

Yahoo(雅虎)宣布停止开发 YUI

  • 2014-09-04
  • 本文字数:1537 字

    阅读完需:约 5 分钟

Yahoo(雅虎)刚刚宣布今后将不再继续开发开源JavaScript 工具库Yahoo User Interface(YUI)。Yahoo Presentation 的技术工程总监Julien Lecomte 在Yahoo 的官方博客 Yahoo Engineering Tumblr blog 上宣布了这一决定:“我们做出了一个艰难的决定,从现在起停止 YUI 新功能的开发,将研发力量集中在新的技术愿景上”。

从 Julien 的博文中可以看出该决定的端倪,Yahoo 公司之所以做出这个决定是由于近期 JavaScript 语言的激烈变革,以及越来越多的开发者对大型 JavaScript 库的忌惮并失去了兴趣所导致。也正因为这个原因,YUI 的大多数核心模块的活跃维护者已是凤毛麟角,开发者反馈的问题和功能需求也越来越少

2005 年,Thomas Sha 开发了 YUI 并得到了 Yahoo 联合创始人 Jerry Yang 的赞助。2006 年 2 月 YUI 首次对外发布并由 Yahoo 的工程师组建了一支核心团队开始维护 YUI。2009 年 9 月,Yahoo 发布了 YUI 的最新的一个主要版本 YUI3 。从 YUI 到 YUI3 是一个由库到框架的演变过程,YUI3 吸取了 YUI2 开发的经验教训,对当时还是开发库级别的 YUI 从底层进行了重构。在这期间,YUI 有了长远的发展和改进,比如为检索 DOM 元素增加了 CSS 选择器引擎、更加强调模块的粒度、根据开发需求可选择加载最小功能单位的模块、各种语法的改变使开发变得更加方便和快捷等。

YUI 的发展过程中也开创了很多深受 JavaScript 开发者喜爱的技术,比如功能模块化动态加载,它们使模块化开发和依赖管理变得更加容易。然而在过去的几年中,由于 Node.js 的出现使 JavaScript 的开发环境和开发趋势发生了革命性的变化,正如 Julien 在博文中所说:

我们都清楚的知道 IT 产业正朝着新方向发展。众所周知,在过去几年中,Web 平台已经发生了革命性的变化,JavaScript 史无前例的流行。Node.js 的出现让 JavaScript 可以在服务器端使用,为创建同构单页应用(isomorphic single page application)打开了大门。

正如 Julien 所描述的那样,JavaScript 的生态环境随着这些新技术的诞生发生了翻天覆地的变化:

新型包管理器(npm、bower)有效地刺激了第三方生态系统的发展,开源、单一目的的工具相辅相成,遵循着 UNIX 哲学理念,构建出极其复杂的开发用例。新型构建工具(Grunt 和它的插件生态系统、Broccoli、Gulp)使一个个小模块很容易就可以组装成大型的集成应用程序。新型应用框架(Backbone、React、Ember、Polymer、Angular 等)帮助我们用新的方式构建可扩展、可维护的 Web 应用程序。新型测试工具(Mocha、Casper、Karma 等)降低了持续保证产出物高可靠、高稳定性的技术难度。标准机构(W3C、Ecma)将近几年已被大家熟知的大型 JacaScript 框架内容进行标准化,使它们可以原生的兼容大量的设备。最后,浏览器厂商现在也都致力于不断改进其 Web 浏览器,逐渐向标准看齐。为了让用户在不知情或者只需进行极简操作的情况下就能使用支持最新标准的浏览器,所以出现了“自动更新浏览器(evergreen web browsers)”,就是可以在启动阶段就能在后台自动更新的浏览器,由此我们可以展望今后用户使用的浏览器差异会越来越小。

因为 JavaScript 语言的敏捷特征,Julien 在博文中这样说到:

在这种形势下,Web 技术发展的结果是:YUI 之类的大型 JavaScript 库已逐渐失去社区的青睐。许多开发者如今把大型 JavaScript 库视作束缚其发展的围墙。

虽然 Yahoo 停止了 YUI 新功能的开发,但还是会持续修复一些严重的缺陷:

此后 YUI 的新版本会越来越少,周期也会变长,并且只会修复对 Yahoo 利益有重大影响的针对性补丁。


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-04 03:533745

评论

发布
暂无评论
发现更多内容

高效学习C++基础部分&话题挑战赛

安然无虞

5月月更

ACK One 构建应用系统的两地三中心容灾方案

阿里巴巴云原生

阿里云 容器 云原生 容灾

快速删除 node_modules

HoneyMoose

八卦信息怎样传到吃瓜群众?这是一条正儿八经的技术科普

融云 RongCloud

在线TSV转SQL工具

入门小站

工具

这 BUG,绝了

AlwaysBeta

程序员

中原银行流量削峰平台

中原银行

高并发 流量 中原银行 削峰

整理了100个必备的Python函数,建议收藏

伤心的辣条

Python 程序人生 软件测试 软件自动化测试 测试 单元测试

Go语言入门很简单:如何在 Go 语言中使用 MySQL

宇宙之一粟

Go 语言 MySQL 数据库 5月月更

什么是数据资产?

奔向架构师

数据资产 5月月更

浅谈前端和后端的区别

工程师日月

5月月更

sealer 成为 CNCF Sandbox 项目,旨在构建分布式应用交付新标准

阿里巴巴云原生

阿里云 开源 容器 云原生

奉劝想把编程学好的学弟们 · 如何高效学习编程?

安然无虞

5月月更

测试人面试 常被问到的计算机网络题,高薪回答模板来了!

伤心的辣条

Python 程序人生 测试 自动化测试 测试 单元测试

计算机二级备考

工程师日月

5月月更

在线提取Sitemap中的URL工具

入门小站

工具

云原生×实战派:向业务聚焦,数字创新时代的最佳选择

阿里巴巴云原生

阿里云 云原生 实战 电子书 案例集

linux之history命令

入门小站

Linux

适合喜欢快速wiki和md的 vuepress

kcnf

Hoo研究院|区块链简报:以太坊创始人V神呼吁马斯克支持“非侵入式”抗新冠技术

区块链前沿News

区块链 Hoo

时不我待,TSDB崛起正当时

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Hadoop Java api操作hdfs(二)

Emperor_LawD

hadoop 5月月更

Zadig + Gitee:完美实现微服务架构持续交付

Zadig

DevOps 云原生 CI/CD 软件交付

Java 项目编译的时候提示 javax.xml.bind.annotation does not exist 错误

HoneyMoose

针对自动取款机优化需求的用例设计,应该挺全面了吧

伤心的辣条

Python 程序人生 软件测试 软件自动化测试 软件测试工程师

天翼云十年一诺,以普惠算力拥抱万里山河

脑极体

HTML的iframe使用

恒山其若陋兮

5月月更

PHP基础语法1

乌龟哥哥

5月月更

CMMI3级(低成熟度)与5级(高成熟度)到底有什么不同?

高山

CMMI CMMI高成熟度

看了它!你也能轻松部署vue3组件库

Jianmu

前端 持续集成 Vue 3 组件库 建木CI

九、高可用之弹性伸缩

穿过生命散发芬芳

5月月更 高可用设计

Yahoo(雅虎)宣布停止开发YUI_JavaScript_João Paulo Marques_InfoQ精选文章