Daily Archives: 2010年08月16日

rubykaigi只是一个开始

8月26日我将前往日本筑波参加ruby大会,这也是我第一次出国。这次我的演讲能被选上,是对我过去一年多对于sinatra推广的一个奖赏。但是坦白的说,国内sinatra社区的发展并不好,我这次去日本也可以在这方面做一下交流。

首先先介绍一下这些名词,ruby是一种编程语言,是日本人松本行弘(まつもと ゆきひろ)在上个世纪90年代创建的。这种编程语言属于继承了shell和perl光荣传统的脚本语言(所以我不自称coder,转而自称scripter)。而且松本先生又在此基础上做出了伟大创新。这种语言的特点是编写快速,而且具有良好的扩展性。2004年,37singals公司的芬兰程序员在ruby基础上创立了ruby on rails框架,专门针对web编程。在这个框架中,富含了很多37singals对于初创公司的很多想法。伴随着ruby on rails的成功,ruby语言受到了很多关注。

sinatra得名自Frank Sinatra,他的<My Way>可谓家喻户晓。sinatra框架的发展和rails关系不太大,和rails的一个唱衰者Zed Shaw倒有着某种联系。Zed Shaw是早期rails社区的一个伟大贡献者,他编写的mongrel服务器在当初有很多创新。首先是他编写了一直沿用到现在的HTTP协议分析器。其次是mongrel的扩展性非常好,大家可以使用mongrel的扩展而不是rails来编写web应用,于是merb在之后创立了。而merb的最大贡献则是规范了ruby语言的web框架和应用服务器之间的通讯协议,就是rack。而sinatra丰富利用了rack特性,只用了1000多行代码就做好了一个web框架,而且只要一个文件就可以运行,与此对比的是,rails的代码总量是它的30倍,默认生成30多个文件。

我在2009年初对sinatra非常着迷,因为当时我对于rails有点厌倦,它不符合我的一个项目的要求:速度和简单性。我在去年3月份的一次开发者聚会上向大家介绍了sinatra。后来我在国内著名的javaeye论坛上创立了一个"ruby off rails"圈子专门讨论sinatra,可是在初期有点人气,后来就没什么人来光顾了。我在后来的公司也极力劝说主管让我使用sinatra编写项目,但是也没有成功。可以说,我对于sinatra的推广来到了一个低潮期。今年5月,我在从公司离职后,在台湾朋友张文钿(ihower)那里看到了rubykaigi的投稿消息,于是就继续以sinatra为题目填写了申请,结果我的演讲真的被选中了,这给了我很大信心。

从rubykaigi回来后,接下来我仍然想做这方面的推广工作。主要是sinatra确实带给我很多快乐,而且sinatra的几个作者都是非常有水平的人,看他们的博客能学到不少东西。

首先是想办法打破目前ruby社区对于"sinatra不能成事"的迷信。这方面的工作我可能主要会结合heroku的推广来做。heroku是一个革命性的web应用部署服务,只要更新代码,它就帮你做好剩下的所有事情。价格虽然高,但是如果使用了高效的sinatra,性价比仍然会很不错。

其次是多和国外的专家有交流。我准备建立一个英文网站,专门讨论sinatra和周边的事情。让国外的专家也知道中国也有人在做这个事情。

最后就是翻译一些sinatra相关的文档,能吸引到志同道合的人来帮忙就更好了。

下一个目的地:rubykaigi,筑波!