写点什么

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

评论

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

14. DeepMind--会打游戏的人工智能

Databri_AI

人工智能

模块7作业

柱林

模块七作业

袁小芬

架构实战营模块 7 作业-王者荣耀商城异地多活架构设计

蔸蔸

架构实战营模块 7 作业

zlz

深入了解Spring之ConfigurationClassPostProcessor

邱学喆

@Bean @ComponentScan @PropertySource @Import @ImportResource

模块七作业

VE

架构实战营

架构训练营 模块六

小卷儿

【架构训练营】模块七作业

zclau

手撸二叉树之二叉树的直径

HelloWorld杰少

九月

架构实战营 - 模块 7 - 王者荣耀商城异地多活架构设计

雪中亮

架构实战营 #架构实战营

C#多线程开发-任务并行库04

Andy阿辉

C# asp.net 多线程 多线程并发

模块七-游戏商城异地多活架构设计

babos

#架构实战营

模块七作业

河马先生

架构实战营

css中塌陷问题指的是什么,margin和padding应该怎么区分

你好bk

CSS html css3 大前端

架构实战营模块七作业

子豪sirius

架构实战营

王者荣耀商城异地多活分析-模块7

小牧ah

架构实战营

【Flutter 专题】52 图解可折叠状态栏

阿策小和尚

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

架构实战营 模块七 作业

脉醉

#架构实战营

《联想发布绿色智城解决方案,加速城市绿色低碳转型发展》

科技大数据

Kubernetes生态系统与演进路线

博文视点Broadview

月薪10K码农,跳槽到40K架构师,技术学习路线图汇总

小傅哥

Java 学习 运维 大前端 后端

springboot vue二手交易市场毕设源码

清风

毕业设计

特洛伊木马-图解VXLAN容器网络通信方案

Lance

【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数

OpenIM

架构训练营模块七作业

喻高咏        

架构训练营 模块七

【LeetCode】检查平衡性Java题解

Albert

算法 LeetCode 9月日更

聊聊 Jmeter 如何并发执行 Python 脚本

星安果

Python Jmeter 并发 文件上传

模块七作业

Mr.He

架构实战营

计算机中遇到的单位该怎么换算

耳东@Erdong

计算机 9月日更 单位换算

学读代码比学写代码更重要

baiyutang

编程 工程规约 9月日更

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