写点什么

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

评论

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

jTDS 驱动导致 cpu 100%

顾五木

cpu占用100% 线上程序问题

架构实战营 - 模块 8- 作业

泄矢的呼啦圈

架构实战营

yarn 的基本介绍和产生背景

大数据技术指南

YARN 7月日更

币安链智能合约Dapp系统开发方案

薇電13242772558

智能合约

FIL分币系统源码开发App

获客I3O6O643Z97

IPFS怎么挖矿 ipfs有什么用 质押挖矿 fil币

external-attacher源码分析(2)-核心处理逻辑分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

为什么搞一个副业项目如此之难?

张理查

趣玩吧EVO软件系统开发方案

Spring源码解析 -- SpringWeb请求映射Map初始化

Java spring 源码解析

完了,又火一个项目

程序员鱼皮

JavaScript GitHub Vue 大前端 React

Go 语言中一些不太常见的优化

Xargin

性能优化 后端 Go 语言

第八课作业

杰语

免费分享Java Web 开发的优秀图书

Java入门到架构

Java Java书籍推荐

Apollo配置中心如何实现配置热发布

慕枫技术笔记

微服务 后端 配置中心

🏆「作者推荐」【JVM 性能分析】精心准备了一套 JVM 分析工具的锦囊(中部)

码界西柚

JVM 性能分析 7月日更

Uranus天王星系统软件开发介绍

Python+OpenCV创建级联文件(Windows7/10环境)

不脱发的程序猿

Python OpenCV 目标对象识别 OpenCV创建级联文件

话题讨论| 帮朋友拼多多助力会导致银行卡被盗刷?

石云升

拼多多 话题讨论 7月日更

你有多少密码是123456

MySQL从删库到跑路

密码管理

TP钱包Defi挖矿系统开发【专业定制】

获客I3O6O643Z97

区块链 DeFi质押挖矿 质押挖矿

架构师实战营 模块八作业(设计消息队列存储消息数据的MySQL表格)

代廉洁

架构实战营

FIL币挖矿合法吗?FIL挖矿会叫停吗?

Redisson 分布式锁源码 08:MultiLock 加锁与锁释放

程序员小航

Java 源码 分布式锁 redisson redison

使用 Open Policy Agent 实现可信镜像仓库检查

张晓辉

Kubernetes 安全 OPA

【Flutter 专题】91图解 Dart 单线程实现异步处理之 Future (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

hive 与传统数据库对比

五分钟学大数据

hive 7月日更

Ubuntu Server 20.04搭建kafka集群

玏佾

kafka kafka配置 kafka数据 Ubuntu20.04

淘筱优软件开发|淘筱优APP系统开发

查找——HASH

若尘

数据结构 hash

学点项目管理,对咱程序员很重要~

后台技术汇

项目管理 项目管理工具

bzb矿机软件系统开发

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