热门标签 | 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,我同意你对每个工具的目标受众的看法。不需要只有一个。


推荐阅读
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • java ssm框架_Java SSM框架的简单搭建
    1.添加依赖包,可以通过properties统一框架版本UTF-81.71.75.0.8.RELEASEjunitjunit4.11testjavax.servlet ... [详细]
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社区 版权所有