虽然我讲了很多目前rails技术落后的话,但是回过头看看,不得不
感慨rails当初横空出世真的是时事造就英雄。
04年是web 2.0的时代,你只要会Ajax,会UGC(用户创造内容),就能创立一个网站。在
中国的
网络创业史上,洪波(keso)也总结了一个”05年现象“。现在回过头看看,rails和<
Getting Real>就是37signals为web 2.0精心打造的两个产品,一个是工具,帮助你实现创业梦想,一本是圣经,帮助你
坚定创业信念。
Rails首创或者虽不是首创但推广的技术有:
Ajax: prototype.js库,对象侵入现在
人人喊打,但是在jQuery 1.3.2之前,仍然是最好用的库。jQuery 1.3.2的live()和1.4.0的速度提升才让jQuery在最近两年全面超过prototype.js。
新的ORM技术:虽然Sequel有着易用的优点,DataMapper的速度无人能及。可是在Java盛行的时候,创业者只需要一个不用写配置文件的ORM。于是CoC(Convention over Configuration)被吹上了天,虽然现在这个原则对快速推出产品仍然有指导原则。还有在ActiveRecord里面不需要对应数据库的字段,这个Sequel也提供,但是Sequel得到普及也要等到08年了。
RESTful:当年Rails引入了这个概念以后,引发了RESTful
大讨论。现在回过头,可以认为是37 signals配合Ajax的一门技术。这方面现在sinatra的DSL更加易读。
Session in Cookie:这个可能是唯一DHH没有参与的技术。把session数据放入cookie,从此你的服务器再也不需要使用数据库或者nfs
同步恶心的session了!速度提升那是刚刚的,你也不用动不动cron来清理session了。
回过头看这些项目,rails的支持已经不如新来者了,可是独创精神仍然值得敬仰。
如果以上的创新我们可以整体
理解为37signals的为了web 2.0而对于rails这个产品的功能做一个布局的话,那么下面这个东西借助rails得到普及则是匪夷所思的事情。这个东西就是git。git也是出身名门,Linux之父的作品。可是直到rails开始采用git,才引发了风潮。用过以后不得不承认,git的没有中心的特性确实是
开源项目的最佳伙伴。
这两年rails的光环也在散去,其实这是因为Ruby社区的其他项目吸收了rails长处的结果。可是我今天看到洪波的文章,07年以后web 2.0就开始降温了。你不得不怀疑DHH是不是早就置身事外,否则这两年rails怎么光顾着和merb合并了,而没有搞出来个大动作呢?