Rails案例研究

豆豆网   技术应用频道   2008年01月18日  【字号: 收藏本文

内容摘要:通过对竞争对手和项目的考察,我们了解到:我们希望能够每天给站点带来几百万次点击的通信量。而我们需要每天有几十万次成功的点击,因此可伸缩性也是一个考虑因素。这与 Java 部署思想相符。

  完全集成

  Java 框架往往是解决一个小问题(比如持久性或查看组织),而 Rails 则是一个集成环境。Rails 开发人员的优势在于不必解决与许多不同框架集成的问题。大多数 Hibernate 开发人员陷入了过早关闭与 Java Web 框架之间的连接的陷阱。Rails 视图框架是从头构建的,以便与 ActiveRecord 集成(Rails 持久性框架)。当您考察用于 Web 服务、配置和插件的 Rails 框架时也会发现类似的经验。Java 编程支持各种不同的框架,对于所有这些框架使用不同的集成策略。

  Java 开发人员的优势在于选择。如果您需要从头构建一个框架,则可能要考虑使用基于 SQL 的解决方案用于数据库集成(如 iBATIS 或 Java 编程中基于 JDBC 的包装框架之一)。反过来,如果要使用一种古老的模式进行编程,则可能要使用对象关系映射框架(如 Hibernate)。相比之下,如果您使用 Rails,则拥有一个主要选择:ActiveRecord。这意味着 Java 框架提供了更多的选择,有时能提供更好的集成开发项目的解决方案。但是由于我们要开发一个 green-field 项目,因此选择算不上是一个问题。

  一种动态语言

  Rails 原理的下一个主要部分是动态编程语言(请参阅文章 “Java 模型以外的类型策略”)。Java 工具往往可以有效地使用 Java 类型模型提供的额外信息。工具可以识别错误和有效地重构代码。Rails 还可有效地利用编程语言的优点。Ruby 是一种构建特定于域的语言(DSL)的理想语言(请参阅文章 “活动记录和 Java 编程中特定于域的语言”)。 Rails 集中使用 DSL 来完成从构建模型对象之间的关系到指定自定义组件(如状态机器或可上传的图像)的所有工作。动态语言常常更加简洁,因此 Rails 项目比 Java 项目要简练得多,可让用户更简练地表达代码和配置。在 ChangingThePresent.org 项目中,我们发现技术顶尖的程序员可达到更高的生产力,但是我们确实需要招募经验更丰富的开发人员。我对这种妥协非常满意。

责编:豆豆技术应用

正在加载评论...