ruby的web框架
24 December 2014
前言
在学校时,在陈老师的指导下,做了一年的软件测试的研究之后,最大的收获就是:信息搜集能力变强了。由一个点扩展下去,进行 范式搜索。当初,决定从事Rails和web开发时,就对Ruby的web框架搜索了一番,发现了Rails,Camping; 时至今日,我看到了更多, 特别总结一下。
正文
起初,是看到这张图,萌生了想总结一下的欲望:
注:其中,我认为Web Layer层中,因该是ActionPack(包含ActionController和ActionView)而不是ActionController。
上述这张图,将web框架分隔成这样的几个组件: Web Layer, Templating, ORM , HTTP Client , Test framework , Web Server以及Rack。
以下,结合个人的搜集和整理(ruby方面):
- Web Layer : ActionPack,Sinatra
- Templating : Erb, Haml, Slim, Liquid, Markdown, textile
- ORM : ActiveRecord, DataMapper, Sequel
- HTTP Client: ActiveResource , RestClient , HTTParty
- Test framework(Tests/Specs) : Test::Unit, RSpec , Shoulda, Cucumber,
- Web Server : Mongrel, Thin, Puma, Unicorn以及mod_ruby
- ruby的实现: REE, MRI, JRuby, Rubinuis
- 以及Rack : 类似CGI,使用HTTP协议,提供通用的接口
关于web框架的组件分类,可以映射到其他的其他的脚本语言的框架,这样也起到对比学习的目的。
此外,时常看到,“Full Stack”web框架。Rails就是一个全栈式的web框架,Padrino是一个基于Sinatra的全栈式框架。但,全栈式意味着什么??不甚了解。
Sinatra本身足够轻巧,但是真正开发起来,确实少些东西。功能上,Padrino 介于 Rails 和 Sinatra之间。
Padrino相关的信息:
后记
留个Flag,以后,等经验充足了,再来研究这个话题。
参考文献
傲娇的使用Disqus