免责声明:我是一名 Dojo 提交者,但这是我作为 JavaScript 内部人员的个人看法。
首先:该图是绝对且完全不正确的。仔细查看图表链接,并阅读“事件”。这是与 Dojo“相关”的事件列表:
“为 Ajax 声明 Dojo”——好的,它可能是相关的。
“IT Dojo:在 Windows Vista 启动时停止程序运行 [视频]”——无关。
“IT Dojo:使用此注册表 hack 将复制到和移动到命令添加到 Windows XP 资源管理器”——甚至没有关闭。
“Dragon Dojo Martial Arts® 被评为 'NASCAR® 官方小型企业,由 Office Depot® 提供'”——不,再次错过。
“山景城的黑客道场激发了创意和修补”——还差得很远。
为什么? Dojo 是一个通用术语,主要用于软件开发领域之外,Yui(作为 YUI — 图表中的另一个 JavaScript 工具包)是一个非常受欢迎的日本歌星,只有 jQuery 是一个独特的术语。
那么图表显示了什么?不幸的是,没有什么相关的。
嗯,似曾相识。是的,I already said it once。所以请允许我引用自己的话(添加一些小注释,并更正链接):
关于谷歌趋势。在 5 个有问题的库 [jquery、mootols、prototype、yui 和 dojo] 中,只有两个(jquery 和 mootools)有机会在调查中与远程相关,这主要是由于它们的独特名称。其余的使用通用名称(原型和道场)或其他名称的别名(yui => Yui,非常受欢迎的日本歌手/词曲作者/女演员)。因此,如果您想解释突然的峰值,请尝试在 Google 上搜索当时的新闻故事,看看是否可以不用肤浅的手段来解释起伏。
这是另一个“科学”研究的链接,该研究毫无疑问地证明 jQuery 比玛丽莲梦露、猫王埃尔维斯普雷斯利更受欢迎,甚至最近超过了米老鼠:Google Trends: jquery, mootools, marilyn monroe, elvis presley, mickey mouse。 p>
现在回到你的问题。图表是错误的——2008 年没有发生任何相关的事情。一切都在 2007 年下半年完成:
虽然从技术上讲,中断是合理的,但从心理上讲,这对用户来说是一个重大打击(即使在 2010 年,生产中的主要 Dojo 0.4 应用程序也是如此)。
有些人开始学习 0.9/1.0 API,有些人决定迁移到其他领域——背叛的成本几乎与学习新 Dojo 的成本相同。当时的市场上既有老玩家,也有一个相对较新的人:jQuery。大多数以前的 Dojo 用户在对其他用户进行抽样后选择 Dojo 是有原因的。所以大多数叛逃者从 Dojo 转向 jQuery,而不是转向其他工具包,而这些工具包在他们刚开始选择 Dojo 时是不可用的。
但这不是唯一的原因。不知何故,人们喜欢将 Dojo 与 jQuery 进行比较。让我们比较一下他们的社区和社会方面。
jQuery 在营销方面做得/现在要好得多——只需比较一个 John Resig 与所有 Dojo 开发人员共同撰写的博客文章的数量,比较 John 在会议上发表演讲的次数与所有 Dojo 演讲的次数一起服用。事实上,Dojo 是由可能擅长技术但不擅长营销的极客制作的。
社交功能也很重要,因为它们有助于社区发展。让我们看看为这两个工具包贡献一些随机代码。 Dojo 有一个用于奇怪项目的地方:DojoX。 jQuery 有一个有点等价的 jQuery 插件。任何人都可以为这两者做出贡献,但对于 DojoX,进入门槛要高得多,因为提交的内容会被审核,如果不符合严格的标准,可能会被拒绝。一般来说,这需要很多时间,而在 jQuery 领域,任何人都可以随时以任何许可证的形式提交任何代码作为插件。它使“属于” jQuery 社区变得更容易。
在我个人看来,DojoX 过程产生了更好的技术结果:几乎所有随机的 DojoX 项目都比许多 jQuery 插件质量更好。显然有很好的支持的高质量 jQuery 插件,但这不是重点。关键是 jQuery Plugins 流程比 DojoX 流程更适合构建社区。p>
目标市场也不同。 jQuery 的目标是相对简单的事情:向常规网站添加一些 JavaScript 魔法,做一些“渐进式增强”,“使用这个 sn-p”之类的事情,等等。 Dojo 以其模块化系统、构建/打包工具和 OO/AOP 条款吸引了 Web 应用程序人群。猜猜哪个市场的人多。其中一个含义很简单:Dojo 在 IT 中被广泛使用,但并没有带来任何公众认可 ⇒ 甚至此类系统开发人员的“次要嗡嗡声”也比 Dojo 应该小。
另一个残酷的事实是,Dojo 社区早在 2007 年就放弃了:文档杂乱无章,博客文章很少,而且主要是针对高级程序员的晦涩技术内容,而不是教程“看看做简单的事情是多么容易”。该论坛实际上已被垃圾邮件发送者关闭。 0.4/0.9 中断损害了 Dojo 的搜索引擎知名度——寻找新东西的人发现大多是 0.4 的东西,这对他们没有用处。
所以你知道了:2008 年第二季度是错误的学习时间。看看 H2 2007。看看为什么 jQuery 比 Dojo 或任何其他“竞争对手”更具大众吸引力。
但是让我们转到“现在”。
在我不科学的经验中,Dojo 有大量新用户涌入——我看到越来越多的人在使用 Dojo,而且我知道有更多的项目是从 Dojo 开始的。它始于 2009 年年中的某个地方。在我看来,原因是:
上面提到的很多问题已经修复或正在修复。
freenode 上的#dojo 频道非常活跃,其他基于 Web 的资源比以往任何时候都更加相关。
作为一个主要是美国现象的道场终于开始走向国际。
现在特别注意确保旧 Dojo 版本的用户不会被冷落。例如,针对上一个安全公告,Dojo 的所有发布版本都进行了更新:从 0.4 到当前的 1.4。我确信 0.4/0.9 的分裂不会再次重演,当 Dojo 在未来进入 2.0 时:进化而不是革命更能被社会接受。
我相信 Dojo 技术专家们终于明白了他们的技术决策的社会影响,做出了改变,社区生机勃勃。
Dojo 会很快在数字上“击败”jQuery 吗?虽然从技术上讲,Dojo 看起来像是 jQuery 的一个干净的超集,而且两者都可以在同一个“渐进式增强”市场中使用,但 Dojo 不太可能让 jQuery 失望。参见上面关于针对不同市场的内容,并记住,与其他工具包竞争甚至不是在 Dojo 上工作的极客的目标,他们专注于使 Dojo 在广泛的场景中更加有用,并建立自己的社区。最终由用户根据自己的需求来决定他们想要什么。
更新:我希望没有人会得出这样的结论:“Dojo 丢球了,而 jQuery 只是碰巧出现了”。没有那样的事。 jQuery 有很多用途,尤其是在概念层面上。我们喜欢 jQuery,并祝愿它一切顺利。它是比较我们在构建其他工具包方面的努力的基准。