一场关于YUI3/jQuery的精彩辩论(2)
作者:拔赤 来源:taobaoued 发布时间:2010-11-11 12:50:00
YUI 主站上其实不应该提供 zip 文件,我甚至觉得根本不应当通过定制的方式来下载 YUI 文件。jQuery 官网只提供一份单独的 jQuery 文件,所有用户,包括手机用户都在使用这一个文件。这实在太简单了,文档也很简单,blog 文章同样简单,每个人都可以非常方便无障碍的参与 jQuery 的讨论。
YUI().use 沙箱外加 异步加载脚本的方法很帅,我非常推荐这种方式。我宁愿将我的代码段都压进一个紧凑的 “SimpleYUI” 中,通过他按需从 YUI CDN 上加载脚本。
我特别希望能重构 YUI 官方网站,让人们更快的找到他们想要的组件,包括那些社区提供的组件。我会重新定制首页,让访问者一眼就能看到 SimpleYUI,再从 YUI 组件库中挑选一些很酷的组件放在首页下方,并直接引导用户能进入到 YUI Gallery(或者不叫 YUI Gallery,YUI Gallery 听起来更像是专为 YUI 搞的插件库)。
所以我们可以看到,YUI 项目本身依然存在着诸多结构性问题。
一直以来,YUI 项目都有着一个庞大的全职全薪的开发团队,这是 YUI 独有的优势,这让其他 JavaScript 库项目非常垂涎。我想说,这实在是不赖,正是因为此,才让 YUI 整体受益匪浅。不过它也带来一些很严重的后果,YUI 的命运掌控在 YAHOO 的手中。这不是我们希望看到的,因为YUI自身独立、开源的特性,YUI 应当从 YAHOO 剥离出来独闯江湖。
据我所知,还没有非雅虎的 YUI 社区,很多非雅虎的开发者为 YUI 贡献了很多不错的代码,但他们都没有提交权限,这是一个严重的问题。反观 jQuery 的成功,则很大程度上得益于开发者的反馈和帮助,我们从社区中得到了大量的滋养。现在,让我们来看看我们的代码库和代码贡献模式吧。
将代码迁移到 github 上是漂亮的第一步(因为没有版本控制,项目早晚会死),然而,人们贡献代码的方式十分零散而分散,显然Git作为开放灵活的开源版本控制工具是我们不二的选择(相比于 YAHOO 内部循规蹈矩的版本发布)。而在 yuilibrary.com 上,几乎不可能实际上发起一个类似 pull request 操作,因为他有自己的一套提交代码机制,而且非常容易起冲突。我们需要 Git 能侵入开发者 coding 的各个习惯,拥抱 Git,你才能游刃有余的使用他。
时至今日,YUI 社区最大的问题就是“YUI已经成型”,或者说仅仅是 YAHOO 在为 YUI 贡献代码,而一个真正开源的项目应当具有完整的社区生态系统,只有 Yahoo 停止支持 YUI,社区开发者才能开心放心的搭建 YUI 开发环境,为 YUI 贡献代码,如果这个坎过不去,瓶颈就无法消除,我们应当快刀斩乱麻,从底层结构上修复 YUI 问题的根源。
我们需要建立一个持有 YUI 100%版权的非营利组织,并让非官方的开发者来负责项目的运作,这对 YUI 的发展和提升其在社区的活力有着非同一般的意义。
如果要给出终极改进方案,我想应该是这两点:
简单就是美,简化你的代码、你的站点、你的文档、和你组织库文件的方式。更简洁的代码才能被更多人读懂、并使用他。
开源社区是 YUI 可持续发展的关键所在,它会带来更多的反馈和热情的开发者,YUI 的影响力也在开源社区中潜移默化的影响这其中的每个人,Yahoo 不应是其唯一的维护者,维护者应当来自于更广阔的开源社区。
另外,我注意到这里很多人的回复都很悲观,不要忘了,jQuery 的流行才刚刚开始,而 jQuery 和 YUI 几乎是同时面世(他们分别在06年1月和06年2月发布正式版),jQuery 一直保持着其简洁易用,所以也拥有数量远超其他JS框架的开发者群体。实际上,简单比复杂更具挑战,这也一直都是YUI 所不能理解,但最应当反思的问题。


猜你喜欢
- 模块导入1.1 import导入模块所谓的模块其实就是一个外部的工具包,其中存在的其实就是Python文件,这些文件都实现了某种特定的功能,
- 按照ant design vue官方说明,使用日期选择器需要在入口文件(main.js)全局设置语言:// 默认语言为 en-US,如果你需
- 背景最近做项目开发出现一个需求,就是前端会发来用户对某一项内容的报错,报错信息中包含出错内容的id,为了方便管理,需要实现点击这个id直接转
- 本文源于一时好奇,想要弄清出python的staticmethod()这一builtin方法的实现,查了一些资料(主要是python官方手册
- CGArt®2008“贺岁刊”玉鼠闹春,700页再造巅峰本期CGArt杂志信息:下载地址:http://cgart.cgfi
- 对称二叉树的含义非常容易理解,左右子树关于根节点对称,具体来讲,对于一颗对称二叉树的每一颗子树,以穿过根节点的直线为对称轴,左边子树的左节点
- 本文实例讲述了Python3最长回文子串算法。分享给大家供大家参考,具体如下:1. 暴力法思路:对每一个子串判断是否回文class Solu
- python:simplified-chinese-menu:中文汉化(英文差的)代码高亮:Atom自带自动补全:autocomplete-
- 金额大小写转换的asp完全无错版本, 这个版本解决了小数位不能到分的问题,处理方式符合会计方式,值得推荐!<!--#inc
- MySQL 5.7安装、升级笔记分享:卸载当前的 MySQL查看当前 MySQL 版本:[root@coderknock ~]# mysql
- 之前用bash实现过(https://www.jb51.net/article/61943.htm),不过那个不能在windows下使用,所
- 今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。问题就是对一个list
- PHP扩展开发我准备在此系列博文中总结我有关PHP扩展开发的学习和感悟,力图简单清晰地描述在Linux系统下开发一个PHP扩展应该具备的最基
- Python 调用JS文件中的函数方法如下1、安装PyExecJS第三方库2、导入库:import execjs3、调用JS文件中的方法Pa
- 一、and:在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值
- 在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为
- 源码:#!/usr/bin/env python# -*- coding:utf-8 -*- import turtleimport tim
- 使用Scrapy爬取豆瓣某影星的所有个人图片以莫妮卡·贝鲁奇为例1.首先我们在命令行进入到我们要创建的目录,输入 scrapy startp
- 本文实例讲述了python日期相关操作。分享给大家供大家参考,具体如下:用 Python 做项目时,经常会遇到与日期转换相关,日期计算相关的
- 一、问题开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误:Incorrect string value: '