Rack 1.0 于几周前发布,其中有些地方已经不再向后兼容了,同时还有几处更新和 bug 修复。
Rack 已经成为 Ruby Web Server 和 Ruby Framework 的一个重要基础。在 Rack 之前,我们需要在框架和服务器之间进行适配才能使之协同工作。Rack 提供了一些 API 对 HTTP 请求和响应进行包装,这使得框架、服务器以及应用开发者之间能更好地协同彼此。
Rack 已经在 Ruby 社区得到了广泛的应用,这从下面支持的服务器列表就能看出来:
- Mongrel
- EventedMongrel
- SwiftipliedMongrel
- WEBrick
- FCGI
- CGI
- SCGI
- LiteSpeed
- Thin
- Ebb
- Fuzed
- Phusion Passenger (which is mod_rack for Apache and for nginx)
- Unicorn
下面这些框架已经将 Rack adapters 加到了其分发包中:
- Camping
- Coset
- Halcyon
- Mack
- Maveric
- Merb
- Racktools::SimpleApplication
- Ramaze
- Ruby on Rails
- Rum
- Sinatra
- Sin
- Vintage
- Waves
- Wee
Rack 还为其他软件打下了良好的基础以提供独立于框架的特性,比如说 Rack::Cache 。
我们有幸采访到了 Rack 的最初开发者 Christian Neukirchen 以了解 Rack 的未来发展规划。
最近我们的主要任务就是修复 bug,同时对规范进行一些细小的改进。稳定以及值得信赖始终是 Rack 的头等大事。
其他框架有没有一些好的东西可以加到 Rack 中呢?
我尽量保持 Rack 的小巧和专注,最好将面向特殊需要的那些库和中间件剥离出来作为独立的项目,有专门的人维护,有自己的社区。Rack 也不会限制框架的做事方式。
可以在 Rack 的站点和 Rack 1.0 的发布说明中找到关于其的更多信息。
查看英文原文: Rack 1.0 Released
评论