sinatra和他的朋友们

花花公子 2010-08-14
这里的sinatra还指的是sinatra框架啦,不是Frank Sinatra。最近在准备要去日本做的演讲,已经做了两次了,第一次着重于介绍符合Restful的路由,不成功。第二次加上了介绍使用sinatra的网站和一些可以代替rails相应插件的库,仍然不成功。可是成功是失败的孩子,最新的想法虽然不知道能不能成功,但是肯定比前两次要和谐。

所谓“在家靠父母,出门靠朋友”,我准备介绍一下sinatra的朋友们。其实sinatra最大的朋友是HTTP,是Restful,不过这个概念离实际有点远,而且和ruby关系也不太密切,所以很可能要忍痛割爱了。这个“朋友”和我的标题"What's ready"很符合,你在开发sinatra的时候一样可以找到可以信赖的朋友们。

sinatra的朋友分以下四种:

1. 实现特定功能的库,比如持久层,邮件,基础扩展包等等。sinatra原来有一句口号,叫ORM无知,现在随着NOSQL盛行,也可以叫持久层无知。邮件则可以选择pony,active_support也不是必须的,当然可能会被其他的gem引入,有洁癖的话就一一干掉吧。

2. rack中间件。sinatra爱rack,而且Sinatra::Base本身也是一个rack中间件。用sinatra来做一个rack中间件也不是不可能,但大多数情况都是在Sinatra中'use'别的rack中间件来实现一些功能。

3. sinatra插件,sinatra 1.0花了很长时间才发布的一大目的是保证1.x系列的向后兼容性。这意味这sinatra插件的稳定期会比rails插件要更长。但是毕竟Rack中间件更加通用,sinatra插件寥寥无几。

4. rails。rails可以用sinatra,sinatra也可以用rails中的组件来实现功能。这个看上去有点讽刺,”用了sinatra为什么还要用rails?“,原因自然是,时间紧,任务重,rails可以解决这个问题就用嘛。不喜欢的话,就再花点时间,或者索性自己写一个解决方案了。

这只是一个简单介绍,既然rails有了bestpractices专用的网站,sinatra是不是也应该建立一个friends专用网站呢?

P.S. 我以后在这里的宣传可能会减少,javaeye的SEO做的很不错,但是我正在考虑转用英文来写文章,中文ruby用户关注sinatra的实在太少了。
花花公子 2010-08-15
减少宣传的意思是,以前我有文章就会发在这里,现在我会想办法在英文博客中宣传一圈,然后到这里说,这篇文章受到了洋大人的追捧,你们也快来瞧一瞧。
lysuzz 2010-12-19
很独到。。。需要消化下。。。
coolesting 2011-06-29
lysuzz 写道
很独到。。。需要消化下。。。

同感, 新接触这个东西, 太多概念词要去慢慢理解,
coolesting 2011-07-01
我正准备用sinatra了, web随便着应用的变化和需求的激增, ror的mvc模式有瓶颈
Global site tag (gtag.js) - Google Analytics