AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:533434

评论

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

shell脚本定时备份mysql数据库

乌龟哥哥

7月月更

zookeeper-认识zookeeper

zarmnosaj

7月月更

企业级容器安全风险与最佳实践

明亮安全观

网络安全 安全架构 容器安全

飙车资深老教练-手撸一个EventBus

芝麻粒儿

android EventBus 7月月更

Qt中 connect的多种方式

小肉球

qt 7月月更

Ark UI 中的问题汇总【系列 2】

坚果

HarmonyOS OpenHarmony Open Harmony 7月月更

到底应不应该使用 lombok

HoneyMoose

面试突击65:为什么要用HTTPS?它有什么优点?

王磊

Java 面试题

语音直播app源码

开源直播系统源码

直播系统源码 开源源码 语音直播系统源码

数据仓库分层——DWD DWS ADS傻傻分不清楚

怀瑾握瑜的嘉与嘉

数据仓库 7月月更

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

Xd

接口测试

jQuery

Jason199

jquery js 7月月更

iOS 中的 Protocol

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

《高绩效教练》:如何用提问激发潜能?

郭明

读书笔记

基于Qt设计的课堂考勤系统(采用RDS for MySQL云数据库 )

DS小龙哥

7月月更

斐波拉契数最小步数与合法括号序列判断

未见花闻

7月月更

查找——顺序表的查找和有序表的查找

乔乔

7月月更

Qt | 读取文件内容并删除文件 QFile

YOLO.

File 文件操作 qt 7月月更

不习惯的 Vue3 起步五 のapiHooks封装

空城机

Vue3 7月月更

读书笔记之数据密集型应用的可靠性

宇宙之一粟

读书笔记 7月月更

密码密钥硬编码检查

Tom(⊙o⊙)

密码 软件安全 信息泄露 静态代码检查 密钥管理

【萌新解题】两数之和

面试官问

LeetCode 哈希表 两数之和

记一次uniapp的经历

是乃德也是Ned

uni-app 7月月更

微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子

汪子熙

JavaScript microsoft 浏览器 前端开发 7月月更

重温算法之颜色分类

自由

算法刷题 7月月更

LeetCode第二题,裂开了..

为自己带盐

LeetCode 7月月更

自定义spring boot starter三部曲之一:准备工作

程序员欣宸

spring springboot 7月月更

OAI L3与L2接口分析

柒号华仔

5G 7月月更

3000字11张图硬核科普:什么是边缘计算?与云计算有什么联系和区别?

wljslmz

云计算 边缘计算 7月月更

Ceph分布式存储初步认识(一)

Lansonli

私有云 Ceph 云存储 7月月更

MySQL进阶(一)主外键讲解

No Silver Bullet

MySQL 数据库 7月月更 主外键

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