热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2008年Dojo怎么样了?-WhathappenedtoDojoin2008?

ManyofyouhaveseenthisgraphofGoogleTrendsofpopularAJAXframeworks(Dojo,jQuery,YUI).许多

Many of you have seen this graph of Google Trends of popular AJAX frameworks (Dojo, jQuery, YUI).

许多人都看过流行的AJAX框架(Dojo、jQuery、YUI)的谷歌趋势图。

The graph seems to make it clear that interest in Dojo collapsed in the second quarter of 2008, falling by 80%; jQuery picked up the slack and ultimately grew to more than triple the size of Dojo.

该图表似乎表明,在2008年第二季度,对Dojo的兴趣下降了80%;jQuery弥补了这个不足,最终增长到Dojo的三倍多。

Why? What happened in Q2 2008 that demolished interest in Dojo?

为什么?2008年第二季度发生了什么事情,打消了人们对Dojo的兴趣?

(Note that I'm not really interested in a comparison of Dojo vs. jQuery; even if you can explain why one is better than the other, it's hard to see why that suddenly became clear to the world in April 2008.)

(注意,我对Dojo和jQuery的比较不是很感兴趣;即使你能解释为什么一个人比另一个人更好,也很难理解为什么在2008年4月这个问题突然变得清晰起来。

5 个解决方案

#1


145  

Disclaimer: I am a Dojo committer, but this is my personal view as a Javascript insider.

免责声明:我是一个Dojo提交者,但这是我作为Javascript内部人员的个人观点。

First of all: the graph is absolutely and completely incorrect. Look at the chart link closely, and read "events". This is the list of events "related" to Dojo:

首先,这个图是完全不正确的。仔细看图表链接,读“事件”。这是与Dojo相关的事件列表:

  1. "Declaring Dojo for Ajax" — ok, it may be relevant.

    “为Ajax声明Dojo”——好的,它可能是相关的。

  2. "IT Dojo: Stop programs from running when Windows Vista starts [video]" — irrelevant.

    “IT Dojo:当Windows Vista启动时停止程序运行[视频]”-不相关。

  3. "IT Dojo: Add Copy To and Move To commands to Windows XP Explorer with this registry hack" — not even close.

    “IT Dojo:添加拷贝到Windows XP Explorer中,并将命令移动到Windows XP Explorer中”——甚至不关闭。

  4. "Dragon Dojo Martial Arts® Named 'Official Small Business of NASCAR®, Courtesy of Office Depot®'" — nope, missed again.

    “龙Dojo武术®名为“纳斯卡的官方小企业®,由办公用品®’”——不,又错过了。

  5. "Hacker Dojo in Mountain View sparks ideas and tinkering" — nowhere near.

    “黑客道场在山景城的想法和修补”-远远没有接近。

Why? Dojo is a generic term used mostly outside of software development area, Yui (as YUI — the other Javascript toolkit in the chart) is an extremely popular Japanese singing celebrity, and only jQuery is a unique term.

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

So what does the graph show? Unfortunately nothing relevant.

那么这个图表显示了什么呢?不幸的是没有相关。

Hmm, déjà vu. Yes, I already said it once. So allow me to quote myself (adding minor annotations, and correcting the link):

嗯,似曾相识。是的,我已经说过一次了。所以请允许我引用我自己(添加小注解,并更正链接):

Regarding Google Trends. Out of 5 libraries in question [jquery, mootols, prototype, yui, and dojo] only two (jquery and mootools) have a fighting chance to be remotely relevant in the survey mostly due to their unique names. The rest use either a generic name (prototype and dojo) or alias to something else (yui => Yui, extremely popular Japanese singer/songwriter/actress). So if you want to explain sudden spikes try to Google for news stories of that time to see if ups and downs can be explained without superficial means.

关于谷歌趋势。在受到质疑的5个库中(jquery、mootols、prototype、yui和dojo)中,只有2个库(jquery和mootools)有机会远程参与调查,这主要是因为它们的名称各不相同。其余的使用一个通用名称(原型和dojo)或其他的别名(yui => yui,非常流行的日本歌手/歌曲创作者/演员)。所以,如果你想解释一下突然的尖峰信号,试着去谷歌看一下那个时候的新闻故事,看看是否可以不用表面的方法来解释起起落落。

Here is a link to another "scientific" study that proves without any doubt that jQuery is more popular than Marilyn Monroe, Elvis Presley, and even overtook Mickey Mouse recently: Google Trends: jquery, mootools, marilyn monroe, elvis presley, mickey mouse.

下面是另一项“科学”研究的链接,毫无疑问,jQuery比玛丽莲·梦露、猫王埃维斯·普雷斯利更受欢迎,最近甚至超越了米老鼠:jQuery、mootools、玛丽莲·梦露、猫王埃维斯·普雷斯利、米老鼠。

Now back to your question. The chart is wrong — nothing relevant happened in 2008. Everything was done in the second half of 2007:

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

  • 8/20/2007 — Dojo 0.9 is announced. This was the major break with the previous version: Dojo 0.4. Immediately your existing knowledge of Dojo was decimated by 70% or more.
  • 8/20/2007 -宣布Dojo 0.9。这是与先前版本Dojo 0.4的重大突破。您对Dojo的现有知识立即减少了70%甚至更多。
  • 11/5/2007 — Dojo 1.0 is announced. This release made Dojo 0.4 psychologically ancient.
  • 11/5/2007 -宣布Dojo 1.0。这个版本使Dojo 0.4在心理上显得很古老。

While technically the break was justified, psychologically it was a major blow to users (there are major Dojo 0.4 applications in production even now in 2010).

虽然从技术上来说,中断是合理的,但从心理上来说,这对用户来说是一个重大打击(即使在2010年,仍然有大量的Dojo 0.4应用程序在生产中)。

Some people started learning 0.9/1.0 API, some decided to migrate to something else — the cost of defecting was almost the same as the cost of learning new Dojo. The market at that time had all old players and a relative newcomer: jQuery. Majority of former Dojo users chose Dojo for a reason after sampling others. So most defectors went from Dojo to jQuery rather than to other toolkits, which was not available when they settled on Dojo in the beginning.

一些人开始学习0.9/1.0 API,一些人决定迁移到其他的东西——投稿的成本几乎与学习新Dojo的成本相同。当时的市场上有所有的老玩家和一个相对较新的玩家:jQuery。大多数以前的Dojo用户在对其他用户进行采样后选择Dojo是有原因的。因此,大多数叛逃者从Dojo转向jQuery,而不是其他工具包,这在他们刚开始选择Dojo时是不可用的。

But it is not the only reason. Somehow people like to compare Dojo to jQuery. Let's compare their communities and social aspects.

但这并不是唯一的原因。人们喜欢将Dojo与jQuery进行比较。让我们来比较一下他们的社区和社会方面。

jQuery was/is much better at marketing — just compare how many blog posts were produced by one John Resig vs. blog posts of all Dojo developers taken together, compare how many times John gave a talk at conferences vs. all Dojo talks taken together. The truth is Dojo is made by geeks who may be good at tech, but not good at marketing.

jQuery在市场营销方面做得更好——只需比较一下John Resig与所有Dojo开发人员的blog文章一起生成的博客文章的数量,比较一下John在会议上发言的次数与所有Dojo会话一起生成的次数。事实上,Dojo是由极客制作的,他们可能擅长技术,但不擅长营销。

Social features are important too because they help grow the community. Let's take a look at contributing some random code to both toolkits. Dojo has a place for odd projects: DojoX. jQuery has a somewhat equivalent jQuery Plugins. Anybody can contribute to both, but for DojoX the barrier of entry is much higher because a submission will be reviewed, and can be rejected if it doesn't meet strict criteria. In general it takes a lot of time, while in jQuery land anybody can submit any code as a plugin at any time and with any license. It makes it easier to "belong" to the jQuery community.

社会特征也很重要,因为它们有助于社区的发展。让我们看一下为这两个工具包提供一些随机代码。Dojo有一个用于零星项目的位置:DojoX。jQuery有一个类似的jQuery插件。任何人都可以对两者做出贡献,但对于DojoX来说,进入门槛要高得多,因为提交的内容会被审查,如果不符合严格的标准,也可以被拒绝。一般来说,这需要花费大量的时间,而在jQuery领域,任何人都可以在任何时候以插件的形式提交任何代码,并获得任何许可。它使“属于”jQuery社区更容易。

In my personal opinion the DojoX process produces better technical results: almost any random DojoX project is of better quality than many jQuery plugins. Obviously there are very well supported high quality jQuery plugins, but it is not the point. The point is that the jQuery Plugins process is better at building a community than the DojoX process.

在我个人看来,DojoX过程产生了更好的技术结果:几乎任何随机的DojoX项目都比许多jQuery插件具有更好的质量。显然,有非常受支持的高质量jQuery插件,但这不是重点。关键是jQuery插件进程比DojoX进程更擅长构建社区。

Targeted markets are different too. jQuery targets relatively simple things: add some Javascript magic to regular web sites, do some "progressive enhancement", "use this snippet" kind of things, and so on. Dojo with its modular system, the build/packaging tools, and OO/AOP provisions appeals to the web app crowd. Guess what market has more people. One of implications is simple: Dojo is used extensively in IT, which doesn't bring any public recognition ⇒ even the "secondary buzz" from developers of such systems is smaller than it should be for Dojo.

目标市场也不同。jQuery针对相对简单的事情:向常规web站点添加一些Javascript魔法,做一些“渐进式增强”,“使用这个代码片段”之类的事情,等等。Dojo及其模块化系统、构建/打包工具和OO/AOP条款吸引了web应用程序人群。猜猜哪个市场有更多的人。影响之一是简单:Dojo是广泛使用,不带任何公共识别⇒甚至从开发者的“二次buzz”这样的系统小于应该为Dojo。

Another bitter truth is that the Dojo Community dropped the ball back in 2007: documentation was in disarray, blog posts were rare and mostly about obscure technical stuff for advanced programmers, rather than tutorials "see how easy it is to do simple things". The forum was practically shut down by spammers. The 0.4/0.9 break hurt Dojo's search engine visibility — people looking for new stuff found mostly 0.4 stuff, which was of no use for them.

另一个痛苦的事实是Dojo社区在2007年又犯了错误:文档混乱,博客文章很少,主要是关于高级程序员的晦涩的技术内容,而不是教程“看看做简单的事情有多容易”。这个论坛几乎被垃圾邮件发送者关闭了。0.4/0.9的中断损害了Dojo的搜索引擎的可见性——寻找新内容的人发现的大多是0.4的内容,这对他们来说毫无用处。

So there you have it: Q2 2008 is the wrong place in time to study. Look at H2 2007. And see why jQuery has more mass appeal than Dojo or any other "competitor".

所以你就知道了:2008年第二季度不是学习的好时机。2007年看H2。看看为什么jQuery比Dojo或其他“竞争者”更具有大众吸引力。

But let's go to "now".

现在让我们进入“现在”。

In my unscientific experience Dojo has a sharp inflow of new users — I see much more people using Dojo, and I know of much more projects started with Dojo. It started somewhere in the middle of 2009. The reasons for that as I see it:

在我的非科学经验中,Dojo有大量的新用户——我看到更多的人使用Dojo,我知道还有更多的项目是从Dojo开始的。它开始于2009年年中。我认为原因是

  1. Many problems mentioned above are fixed or being fixed.

    上面提到的许多问题已经被解决或正在被解决。

  2. The #dojo channel on freenode is extremely vibrant, and other web-based resources are more relevant than ever.

    freenode上的#dojo频道非常活跃,其他基于web的资源比以往任何时候都更相关。

  3. Being a mostly American phenomenon Dojo finally started to go international.

    作为一个主要的美国现象,道场最终开始走向国际。

Special care is taken now to ensure that users of older Dojo versions are not left in the cold. For example, reacting to the last security advisory, all published versions of Dojo were updated: from 0.4 to the current 1.4. I am sure that the 0.4/0.9 split is not going to be repeated again, when Dojo goes to 2.0 in the future: evolution rather than revolution is more socially acceptable.

现在特别注意确保旧Dojo版本的用户不会被遗忘。例如,对于最后一个安全咨询,所有发布的Dojo版本都更新了:从0.4到当前的1.4。我确信,当Dojo在未来走向2.0时,0.4/0.9的拆分不会再次重复:进化而不是革命更能被社会接受。

I believe that Dojo technocrats finally understood social implications of their technical decisions, changes were made, the community is alive and well.

我相信,Dojo技术专家最终理解了他们的技术决策所带来的社会影响,做出了改变,社区依然活跃。

Is Dojo going to "beat" jQuery at numbers any time soon? While technically Dojo looks like a clean superset of jQuery and then some, and both can be used in the same "progressive enhancements" market, Dojo is unlikely to upset jQuery. See above about targeting different markets, and remember that fighting other toolkits is not even a goal for geeks, who work on Dojo, — they are focused on making Dojo even more useful in a broad spectrum of scenarios, and on building their own community. Ultimately it is up to users to make a decision on what they want based on their needs.

Dojo会很快在数字上“打败”jQuery吗?虽然Dojo在技术上看起来像一个干净的jQuery超集,但两者都可以在相同的“渐进式增强”市场中使用,但Dojo不太可能让jQuery失望。请查看上面关于针对不同市场的介绍,请记住,与其他工具包作斗争甚至不是从事Dojo工作的极客的目标——他们专注于使Dojo在更广泛的场景中更有用,并构建自己的社区。最终取决于用户根据他们的需要来决定他们想要什么。

Update: I hope nobody will make a conclusion that "Dojo dropped the ball and jQuery just happened to be here". Nothing like that. jQuery had a lot going for it especially on the conceptual level. We love jQuery and wish it the best. It is the benchmark to compare our efforts in building other toolkits.

更新:我希望没有人会得出这样的结论:“Dojo掉了球,jQuery刚好在这里”。什么也没有发生。jQuery有很多优势,尤其是在概念层面。我们喜欢jQuery,希望它最好。它是比较我们构建其他工具包的努力的基准。

#2


24  

Gamers got tired of playing "Super Smash Bros Dojo:"

玩家厌倦了玩“超级粉碎兄弟Dojo:”

http://www.google.com/trends/correlate/search?e=dojo&t=weekly

http://www.google.com/trends/correlate/search?e=dojo&t=weekly

enter image description here

#3


12  

Maybe job trend tells the real story: indeed job trend

也许工作趋势揭示了真相:

But Dojo jobs seem to be better paid. enter image description here

但是Dojo工作似乎报酬更高。

#4


4  

I'm also an occasional dojo committer, and even with a clarifying "Javascript" in the trends search, you get jquery leading:

我也是一个偶尔的dojo提交者,即使在趋势搜索中有一个明确的“Javascript”,您也会得到jquery的引导:

http://www.google.com/trends?q=jquery,dojo+Javascript,yui+Javascript&ctab=0&geo=all&date=all&sort=0

http://www.google.com/trends?q=jquery,dojo Javascript +,yui + Javascript&ctab = 0 geo =所有日期=各种= 0

That said, I believe they serve different audiences. Dojo (and now Google's Closure) are "full-strength" toolkits with tremendous depth and tooling, designed to be used by engineers for gmail-scale applications.

也就是说,我相信他们为不同的观众服务。Dojo(现在是谷歌的闭包)是“全功能”的工具包,具有极大的深度和工具,设计用于gmailscale应用程序的工程师。

JQuery is designed to be used by designers to spice up a page.

JQuery是设计人员用来为页面增添色彩的。

You can use dojo's selectors api to do JQuery-style coding, just as you can use JQuery facilities to do more "application-like" development.

您可以使用dojo的选择器api进行JQuery样式的编码,就像您可以使用JQuery工具进行更多“类似于应用程序”的开发一样。

My guess is that there are far more designers and web pages than there are engineers and web applications.

我的猜测是,设计师和网页的数量远远超过工程师和web应用程序的数量。

#5


3  

The Mikey Mouse chart linked above has a different range. Here it is without the YTD parameter, which paints a different view: jQuery still has not reached Elvis' pinnacle back in 2007. Additionally, comparing with a real generic term shows generic terms do not "lose". Cat dominates. (http://www.google.com/trends?q=jquery%2C+cat%2C+dojo%2C+elvis+presley%2C+mickey+mouse)

上面链接的Mikey鼠标图表有一个不同的范围。这里没有YTD参数,它描绘了一个不同的视角:jQuery在2007年还没有达到Elvis的巅峰。此外,与真正的通用术语相比,通用术语不会“丢失”。猫占主导地位。(http://www.google.com/trends?q=jquery%2C dojo % 2 +猫% 2 c + c +猫王普雷斯利% 2 c +米奇+鼠标)

That being said, I do love Dojo and jQuery. Thanks and gratitude are due to both project teams for making the rest of our lives so much easier. Eugene, thank you for taking this opportunity to provide useful insight into the Dojo project. Gavin, I agree with your perspective on the target audiences for each of the tools. There need not be just one.

也就是说,我确实喜欢Dojo和jQuery。感谢和感谢这两个项目团队让我们的生活变得更轻松。尤金,感谢您利用这个机会对Dojo项目提供有用的见解。Gavin,我同意你对每个工具的目标受众的看法。不需要只有一个。


推荐阅读
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文详细介绍了如何在Spring框架中设置事件发布器、定义事件监听器及响应事件的具体步骤。通过实现ApplicationEventPublisherAware接口来创建事件发布器,利用ApplicationEvent类定义自定义事件,并通过ApplicationListener接口来处理这些事件。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 本文作为“实现简易版Spring系列”的第五篇,继前文深入探讨了Spring框架的核心技术之一——控制反转(IoC)之后,将重点转向另一个关键技术——面向切面编程(AOP)。对于使用Spring框架进行开发的开发者来说,AOP是一个不可或缺的概念。了解AOP的背景及其基本原理,对于掌握这一技术至关重要。本文将通过具体示例,详细解析AOP的实现机制,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 为了应对硬件安装需求,我们对Android平板电脑进行了180度屏幕翻转处理,以确保界面在上下颠倒安装时仍能正确显示。通过深入研究Android系统的屏幕旋转机制,我们实现了屏幕内容的自动调整,从而保证了用户在任何方向下都能获得一致的视觉体验。此外,我们还优化了触摸事件的映射,确保操作流畅无误。 ... [详细]
author-avatar
丶玛骝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有