JavaEye是RoR的Web应用在国内的典范,现在正处理着每天好几十万次的请求。经过实践,发现RoR确实有其独到之处。
1、Ruby语言特性:纯面向对象动态语言,方法与属性的完美结合,使用block更方便编写算法级别的函数。Ruby语言有深厚的哲学内涵,而不仅仅是一个玩具语言。
2、Rails框架的严格MVC划分以及视图helper模块,WEB开发思路清晰简洁。
3、集成敏捷思想,天生TDD支持。和动态语言Ruby以及lighttpd+fastcgi结合将敏捷发挥得淋漓尽致。
4、ActiveRecord对ORM的实现,使用Migration编写可迁移数据库应用。提供数据库事务支持,但仅限于单数据库,不支持分布式的数据库事务(两阶段提交)。
5、连接池:Rails 应用程序部署为独立的服务器进程池,并且对于每个 rails 请求均按进程维护和重用一个数据库连接。在 ActiveRecord::Base 中将一个连接池作为按模型类名索引的散列。当请求连接时,retrieve_connection 方法会向上遍历类层次结构,直到在连接池中找到一个连接。
http://www.oracle.com/technology/global/cn/pub/articles/fernandez-rails-connections.html
6、REST风格支持,Resource & Web Service,更加简洁的结构和调用流程。
7、Layout管理,网页结构化设计与编程。
8、使用插件实现身份验证、分页显示等功能。