Rails 的相关感想
哪种框架将来有前途
继续上一章的哪种编程语言将来有前途,这章想探讨一下关于 Web应用程序框架的趋势。
当然还是拿我们的 Ruby on Rails 作为比较的中心。
比较的对象如下(括号内是框架记述的语言):
- Apache Struts (Java)
- JSF (Java)
- Spring Framework (Java)
- JSF (Java)
- .NET Framework (C# 等)
- Zend Framework (PHP)
- Symfony (PHP)
- CakePHP (PHP)
- Mojavi (PHP)
- Django (Python)
- Catalyst (Perl)
- Merb (Ruby)
- ColdFusion (CFML 等)
Merb将在接下来的2.0版本里,和Ruby on Rails合并。
这章像TIBOE一样的标准是不存在的。
首先从 Google Trends 开始吧。
Google Trends
使用'ruby on rails' 作为Ruby on Rails的关键字。
实际上一般都用 'rails' 或 'ror' 等进行搜索的,所以我认为结果稍微偏低。
要注意一下框架名称也会与普通名词或人名相重,所以有时候光比较绝对的数值是没有意义的。
vs. Apache Struts

用'struts' 比较搜索量。
strut ,也有意思是“支柱”的普通名词,也许这个出现的也有点多,但误差不会太大的吧。
2004年以后,搜索量有长期下降的趋势。
vs. Spring Framework

Spring Framework 1.0的发布是在2004 年 3 月,我想图表主要显示了查找Spring Framework的人数。
以2006年为顶点,搜索量开始一点点下降。
但是,随着这个框架的普及,仅仅与 'spring' 相关的网页也应该出现热潮,也许会有影响。
vs. JSF

JSF (JavaServer Faces) Specification 1.0的发布是在2004 年 3 月。
因为没有其它的广为熟知的'jsf' 的略语,我想图表是非常可信的。
2006-2007年是顶点,到了2008年搜索量有所减少,是和Rails 十分相似的曲线。
但是,新闻参考数比Rails多出很多。
vs. .NET Framework

2004年以后,搜索量飞速上升。
Microsoft好像取得了巨大的成功啊。
到2008年末,搜索量是Ruby on Rails 的6 倍,但是这恐怕是因为用 '.net' 检索的人很多,用绝对值比较是没有意义的。
而且,也应注意到.NET Framework 在Web开发以外也能被使用。
vs. Zend Framework

Zend Framework是和后面要说的Symfony以及 CakePHP同时问世的,基于PHP的web 框架的一种。
搜索量在接近2008年的时候缓慢的上升。
vs. Symfony

2006年问世以来就飞速发展着。
Symfony是从 symphony 构词而来的,因此图表作为绝对值来说也是很据可信度的。
vs. CakePHP

和Symfony差不多的轨迹。
vs. Mojavi

这个框架好像就没出现过热潮。
vs. Django

django 这个词是从吉普赛人的爵士乐Django Reinhardt而来的。
作为漫画《ONE PIECE》中的一个人物名称,本来就具有一定的搜索量。
作为Web开发框架的Django是在2005 年 7 月发行的。
图表1.00上面的部分如果对应搜索框架的人数的话可以假定。
在这个假定下,可以说2006年以后是飞速增长的。
而且,要特别注意从2007年开始新闻参考数也在增加。
vs. Catalyst

catalyst 有“触媒”的意思,自然被搜索的很频繁。
因此,我用'catalyst framework' 进行搜索。
绝对值的比较没有意义。
图表数据过低甚至不能看清楚,但至少可以看出2006年面世后,2007年开始搜索量便逐渐下跌了。
vs. Merb

现在用merb 搜索的话,相关的网页便大量涌现出来。
但是,考虑到Merb0.5是在2008年1月后发行的话,就要考虑2005-2007 年的搜索是针对其它语言的。
按国家的搜索量调查了了一下,加拿大大大超出其它国家,这在加拿大大概是一个意思的词吧。
在2008年第4个半期,新闻参考数激增。
考虑和Rails合并的消息是在2008 年 12 月,结果未必就是这样。
Merb1.0在11月的BubyConf 的发表是个契机吗?
但是,仅看图表的话是可以说势头迅猛的。
vs. ColdFusion

最后说Adobe的框架ColdFusion。这是老一代的框架了。
有长期衰退的趋势。
需求人数的趋势(indeed.com)
接下来根据indeed.com的 Job Trends 来分析对人才的需求。
Struts, Spring, JSF

只输 'spring' 的话出来太多无关信息,所以我用 'spring framework' 进行搜索
对Struts人才的需求涨停了。
其它三个则沿着差不多的轨迹,顺利地发展着。
.NET Framework

'.net framework' 与 'ruby on rails' 比较。
Zend Framework, Symfony, CakePHP、Mojavi

指定PHP框架的需求似乎还是很少。
并不是一定意味着在PHP业界不使用框架,但是与Rails的差别还是给人留下了深刻印象。
为了突出框架间的差异显著,下面的图表去掉了Rails。

大概是2007年的夏天,指定PHP框架的招聘急速上升。
从这个图表来看,可以知道PHP方面这3个框架在激烈地竞争。
Catalyst

用catalyst framework 做了图表。
基本上没有和Rails作比较,为了参考,我试着和 zend framework 作了比较。
产业界需要有限。
Django

与Rails相比有些落后,但是Django的劳动市场也正在缓缓上升。
ColdFusion

虽然ColdFusion在Google Trends上有长期低落的倾向,但也维持着稳定的需求人数。
但是,到了2008年末,Rails开始反超。
结论
给我很深印象的是.NET Framework的成功。
编程语言C#的人气在这些年被证实有了很大的提高。
但是,因为.NET Framework也被使用在了客户端程序和嵌入式设备的开发中,作为Web框架取得了怎样的成功,并不是很清楚。
在Java业界中,JSF和Spring Framework等新的框架斗志昂扬,但还达不到“席卷”这样的程度。Struts可能太成功了。或者说是,后继者的杂乱突出了它的成功。
在轻量级语言(Perl, PHP, Python, Ruby)的框架中,果然还是可以说Ruby on Rails的人气最高。
但是,从搜索量的变化来看,通常所说的hype结束了。我有点担心。
另一方面,从需求人数的变化来看,感觉已开始被产业界接纳。
在PHP业界,Web框架才刚开始正式被采用。
Zend Framework, Symfony以及CakePHP展开着不分胜负的赛跑。
PHP业界内部的竞争,既有好处也有坏处不是吗。
它成为提升品质的原动力,但是产业界的工程师们可能都等着看结果。
关于Perl 的Catalyst,还没有看到形成热潮的迹象。
Python 的框架 Django在短时间内发展迅速。
Python在程序员的数量方面比Ruby有利,今后也可能会威胁Rails。
(2009/01/11)
- 前言
- Rails是否能成为企业领域的主流 (2008/03/29)
- Rails 2.0 测速 (2008/03/30)
- 测试驱动开发和调试代码 (2008/04/07)
- Git or Mercurial (2008/04/22)
- RESTful Ruby on Rails -- 美丽与复杂 (2008/04/23)
- RESTful Ruby on Rails -- 单数与复数 (2008/04/24)
- 读 Rails 的源码 (2008/05/02)
- sudo: no passwd entry for app! (Capistrano 2.3.0) (2008/05/12)
- Rails on GlassFish (2008/06/18)
- 怎样回答“Ruby 没有类型声明,在规范的系统里能使用吗?”这样的问题 (2008/11/23)
- 怎样回答“Ruby是脚本语言,不是有点慢吗”这样的问题 (2008/11/24)
- 哪种编程语言将来有前途 (2009/01/10)
- 哪种框架将来有前途 (2009/01/11)
- 框架 VS CMS (2009/01/12)
- Rails 2.3 spawner/reaper 变为 DEPRECATED (2009/03/25)
- db/seeds.rb (2009/06/08)
- LESS与Sass (2009/08/03)
- Rails 2.3.4 与 I18n (2009/08/15)

