当前位置: 首页 > 面试题库 >

Dojo在2008年发生了什么事?

谭景明
2023-03-14
问题内容

你们中的许多人都已经看到了流行的AJAX框架(Dojo,jQuery,YUI)的Google趋势图。

该图似乎清楚地表明,对Dojo的兴趣在2008年第二季度下降了,下降了80%。jQuery弥补了这一懈怠,最终增长到Dojo的三倍以上。

为什么?在2008年第二季度发生了什么,这消除了对Dojo的兴趣?

(请注意,我对Dojo与jQuery?”)的比较并不十分感兴趣;即使您可以解释为什么一个比另一个更好,也很难理解为什么在2008年4月突然变得清晰起来。)


问题答案:

免责声明:我是Dojo提交者,但这是我个人的JavaScript内部观点。

首先:该图是绝对完全不正确的。仔细查看图表链接,然后阅读“事件”。这是与Dojo“相关”的事件的列表:

  1. “为Ajax声明Dojo” —好的,这 可能很重要

  2. “ IT Dojo:Windows Vista启动时停止程序运行[视频]” – 不相关

  3. “ IT Dojo:使用此注册表黑客将复制到和移至命令添加到Windows XP资源管理器中” — 甚至没有关闭

  4. “龙道场武术®被命名为’NASCAR®的官方小型企业,由OfficeDepot®提供’” – 不,再次错过了

  5. “位于山景城的Hacker Dojo激发了创意并进行了修补”- 距离不远

为什么?Dojo是一个通用术语,通常在软件开发领域之外使用,Yui(作为YUI-
图表中的另一个JavaScript工具包)是一个非常流行的日本歌唱名人,只有jQuery是一个独特术语。

那么该图显示了什么?不幸的是没有关系。

嗯,déjàvu。是的,我已经说过一次。因此,请允许我引用自己(添加次要注释并更正链接):

关于Google趋势。在有问题的5个库中(jquery,mootols,prototype,yui和dojo),只有两个库(jquery和mootools)有很大的机会在调查中遥遥相关,这主要是由于它们的独特名称。其余的使用通用名称(原型和dojo)或其他别名(yui
=>
Yui,非常流行的日本歌手/词曲作者/女演员)。因此,如果您想解释突如其来的突发事件,请尝试向Google询问当时的新闻报道,看看是否可以用肤浅的解释来解释跌宕起伏。

这是另一个“科学”研究的链接,该研究毫无疑问地证明 jQuery比玛丽莲·梦露,猫王,甚至超过米奇老鼠更受欢迎
:Google趋势:jquery,mootools,
玛丽莲·梦露,猫王,米老鼠

现在回到您的问题。该图表是错误的-在2008年没有发生任何相关的事情。一切都在2007年下半年完成:

  • 2007年8月20日-发布Dojo 0.9。这是以前版本的主要突破:Dojo 0.4。您现有的Dojo知识立即减少了70%或更多。
  • 2007年11月5日-发布Dojo 1.0。此版本使Dojo 0.4在心理上变得古老。

从技术上讲,这种突破是合理的,但从心理上讲,这对用户来说是一个重大打击(即使在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插件,但这不是重点。关键是,与DojoX流程相比,jQuery
Plugins流程在构建社区方面更好。

目标市场也不同。jQuery的目标是相对简单的事情:向常规网站添加一些JavaScript魔术,进行一些“渐进式增强”,“使用此代码段”之类,等等。Dojo的模块化系统,构建/打包工具以及OO
/
AOP规定吸引了Web应用程序人群。猜猜哪个市场有更多人。含义很简单:Dojo在IT中得到了广泛使用,这并没有引起任何公众认可⇒即使此类系统开发人员的“次要嗡嗡声”也比Dojo少。

另一个令人痛心的事实是,Dojo社区在2007年放弃了该文件:文档混乱不堪,博客文章很少见,而且大多是关于高级程序员的晦涩技术知识,而不是教程“看做简单事情有多么容易”。该论坛实际上已被垃圾邮件发送者关闭。0.4
/ 0.9的中断损害了Dojo的搜索引擎可见性-寻找新东西的人发现大部分是0.4的东西,这对他们没有用。

这样就可以了:2008年第二季度是错误的学习时间。看一下2007年下半年的情况。看看jQuery为什么比Dojo或任何其他“竞争者”更具吸引力。

但是,让我们转到“现在”。

以我不科学的经验,Dojo大量吸引了新用户-
我看到有更多的人在使用Dojo,而且我知道有更多的项目始于Dojo。它始于2009年中的某个地方。据我所知,其原因如下:

  1. 上述许多问题已解决或已解决。

  2. freenode上的#dojo频道异常活跃,其他基于Web的资源比以往任何时候都更具相关性。

  3. 作为一种美国现象,道场终于开始走向国际。

现在要格外小心,以确保旧版本Dojo的用户不会被冷落。例如,根据上一个安全公告,Dojo的所有已发布版本均已更新:从0.4更新到当前的1.4。我相信,当Dojo将来达到2.0时,不会再重复进行0.4
/ 0.9的划分:在社会上,进化而不是革命是可以接受的。

我相信Dojo技术官僚们最终了解了他们的技术决策所带来的社会影响,做出了改变,社区还活着并且生活得很好。

Dojo会很快在数字上击败jQuery吗?从技术上讲,Dojo看上去像是jQuery的干净超集,然后看上去像是jQuery的干净超集,并且两者都可以在同一“渐进式增强”市场中使用,但Dojo不太可能使jQuery失望。参见上文,了解针对不同的市场,并记住与从事Dojo的极客们争夺其他工具包甚至不是​​目标,他们专注于使Dojo在广泛的场景中变得更加有用,并致力于建立自己的社区。最终,用户需要根据自己的需求来决定需要什么。

更新:我希望没人能得出这样的结论:“ Dojo丢下了球,而jQuery恰好在这里”。
没有那样的事。jQuery尤其在概念层面上有很多发展。我们喜欢jQuery,并祝愿它最好。它是比较我们在构建其他工具包方面所做努力的基准。



 类似资料:
  • 问题内容: 早期的javadoc 这样表示有一个接口,它似乎有一个同样的关系作为必须的。 现在看来,我们固守在,这肯定是不一样的。 发生了什么事? 问题答案: 它已被删除前一段时间。布赖恩·格茨(Brian Goetz)提出了撤职的理由: 当前,唯一的实现者是Collection,所有其他支持流的方法都使用一种比“ stream”更合适的方法名称来提供特殊的流(chars(),codePoints

  • 问题内容: 假设我有一个实例: 然后,我使用ExecutorService提交上述任务: 现在,我可以通过取消任务。我了解的是将会中断正在运行此任务的工作线程,例如。但这 仅设置一个标志 来告知工作线程已中断。 我的问题是:如果Runnable已开始运行,实际上如何在继续执行其余代码时停止我的代码?是否在下面定期检查工作线程的中断标志?我的意思是我不明白如何仅通过将中断标志设置为true来取消ru

  • 问题内容: 它是在beta中,但不是在发布中? 问题答案: 对于后备甚至更好的是:

  • 问题内容: 我很惊讶 评估为。 这段代码中发生了什么?真正和语句在做什么? 问题答案: 是一个特殊运算符,它等效于。 如果a和b绑定到同一对象,则运算符返回True,否则返回False。当创建两个空列表时,您将获得两个不同的对象,因此返回False(因此返回True)。

  • 问题内容: 我一直在我的项目中使用它,而在JDK 6u17中我对此没有任何问题。现在,我刚刚更新为6u18,我发现它已被替换为。但是,如果导入此类并尝试编译我的类,则会收到错误消息: 我可以通过NetBeans代码完成功能访问此程序包,而NetBeans不会突出显示错误代码。 任何帮助,将不胜感激! 问题答案: 我不认为该类可以替代,该类已经存在很长时间了,根本 就不适合您使用 (因此包装)。 这