什么是Ruby on Rails
来源:百度文库 编辑:神马文学网 时间:2024/05/16 18:16:10
作者:Curt Hibbs 日期:10/13/2005
译者:吴海燕 日期: 7/12/2005
Ruby on Rails
Ruby on Rails是一套用Ruby写的Web应用程序框架,Ruby是一个与Python,Smalltalk和Perl相似的动态语言。
什么是Ruby on Rails. 1
本文内容:... 1
高生产力... 1
Rails是怎么做到这些的?... 2
Ruby. 2
完全的MVC架构... 2
约定高于配置... 2
更少的代码... 3
自动生成... 3
Zero turnaround time. 3
Scaffolding. 3
从2004年7月25日Ruby on Rails到现在已经有了一年多了,在这短短的时间里面,Rails已经从0.5版本快要升级到1。0版本了,在保留了易用性和高生产力的同时,又增加了许许多多令人惊叹的特性。这篇文章将描述1.0版本里面各个令人感叹的组件。
我并不教你如何去用Rails来写Web程序,如果你想那样的话,你应该去看看Rolling with Ruby on Rails。这篇文章只是讲述了Rails的各个特性。
高生产力
Ruby on Rails并没有引入什么新的功能,以前的Web框架都已经很好的具备各种需要的功能,那么Rails是靠什么东西取胜的呢?区别就在于Ruby是如何的来实现的。当你花了数天而不是数周实现了一个简单的Web程序,花了几周而不是几个月实现了一个复杂的Web程序的时候,你就会注意到这一点了。
当然了,如果开发出来的程序最后复杂而且难以维护的话,那么我们刚刚注意到的优点也就毫无意义了。幸运的是,Ruby on Rails促使人们使用好的编程习惯,这也就导致编写出来的代码结构好而且容易维护。
如果ruby没有深度的话――也就是说,如果你尝试做任何稍微复杂一些的Web程序的时候,你发现遇到了障碍,由于Rails固有的一些缺陷导致了无法完成那样的程序。不过一些资深的开发人员已经尝试并且报道了Rails不存在这样的缺陷,比如,Tomcat,Ant和Servlet API的作者James Duncan Davidson最近写道:
Rails is the most well thought-out web development framework I‘ve ever used. And that‘s in a decade of doing web applications for a living. I‘ve built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before. That‘s not to say they got it all right. It‘s by no means "perfect". I‘ve got more than a few nits and picks about how things are put together. But "perfect" isn‘t the point. The point is that it gets you up and going fast and has plenty of depth to keep you going. And Rails does that very well.
如果没有足够的证据的话,你也许很难相信他所说的话。不过幸运的是,你不需要相信我的(或者任何其他人的)话,你可以自己用一天或者更短的时间来看看Ruby on Rails tutorial并且做一个适当的Web程序出来。毕竟,眼见为实!如果你不想要自己去尝试,那么你也可以看new Rails video,看看别人是怎么做到的。
Rails是怎么做到这些的?
就好像一个好的药方一样,Rails通过整合适量的正确手段来达到前面所说的样子。下面就是Rails为什么能够如此高效的一部分原因
Rails的很多强大的功能都是来自于Ruby的。Ruby独特的设计使得我们可以轻松的创建domain-specific languages 和做metaprogramming。
架构
Rails是一个MVC(model,view,controller)的框架,他提供了所有的这些层次并将他们无缝的结合在了一起。其他的一些框架一般都只是提供了一部分的解决方案,需要开发者自己去整合多个框架到一个应用程序里面去。比如说,一个Java开发人员就需要使用Hibernate,Struts和Tiles来实现MVC的目标。
约定高于配置意味着XML配置文件的终结—在Rails里面,没有任何的xml配置文件!代替xml的是使用一些简单的约定,让程序可以通过反射和查找来获得所需要的配置信息。比如,Rails使用反射来自动的将Ruby对象映射到数据库表里面去。你的程序代码和正在运行的数据库里面已经包含了Rails所需要的一切。
通过遵循一些简单的编程约定不仅仅可以减少配置文件的使用,同时还可以让Rails自动的去处理很多的底层的细节问题,这意味着你可以写更少的代码来实现你的程序。保持你的代码的精简意味着更快的开发速度和更少的bug,它可以让你的代码更加容易理解,维护和扩展。
Rails通过运行时反射和元程序来减少本来你必须要编写的代码。你通常可以通过内置的自动生成脚本来生成一些原本需要通过手工编写的代码,这就让你可以集中精力在你的业务上面,而不是在处理一些无关的细节方面。
一般的Web程序的开发都需要经过一下几个步骤:配置,编译,部署,重设和测试。这非常的耗费时间,Rails开发环境不需要经过这些步骤。你做了一个修改,然后你就可以看到这个修改的效果了。我们无法描述这对于提高生产力会有多大的帮助,但这确实很有帮助。
Rails可以自动创建完整的用来操作数据库表的CRUD(Create,Retrieve,Update和Delete)操作和相应的视图。这个功能可以让你很快的就可以实现用来操作数据库表的功能。随着开发的进行,你可以慢慢的使用自定义的CRUD方法和视图来代替自动生成的程序,从而让程序更加美观,更加的功能强大。
译者:吴海燕 日期: 7/12/2005
Ruby on Rails
Ruby on Rails是一套用Ruby写的Web应用程序框架,Ruby是一个与Python,Smalltalk和Perl相似的动态语言。
什么是Ruby on Rails. 1
本文内容:... 1
高生产力... 1
Rails是怎么做到这些的?... 2
Ruby. 2
完全的MVC架构... 2
约定高于配置... 2
更少的代码... 3
自动生成... 3
Zero turnaround time. 3
Scaffolding. 3
从2004年7月25日Ruby on Rails到现在已经有了一年多了,在这短短的时间里面,Rails已经从0.5版本快要升级到1。0版本了,在保留了易用性和高生产力的同时,又增加了许许多多令人惊叹的特性。这篇文章将描述1.0版本里面各个令人感叹的组件。
我并不教你如何去用Rails来写Web程序,如果你想那样的话,你应该去看看Rolling with Ruby on Rails。这篇文章只是讲述了Rails的各个特性。
高生产力
Ruby on Rails并没有引入什么新的功能,以前的Web框架都已经很好的具备各种需要的功能,那么Rails是靠什么东西取胜的呢?区别就在于Ruby是如何的来实现的。当你花了数天而不是数周实现了一个简单的Web程序,花了几周而不是几个月实现了一个复杂的Web程序的时候,你就会注意到这一点了。
当然了,如果开发出来的程序最后复杂而且难以维护的话,那么我们刚刚注意到的优点也就毫无意义了。幸运的是,Ruby on Rails促使人们使用好的编程习惯,这也就导致编写出来的代码结构好而且容易维护。
如果ruby没有深度的话――也就是说,如果你尝试做任何稍微复杂一些的Web程序的时候,你发现遇到了障碍,由于Rails固有的一些缺陷导致了无法完成那样的程序。不过一些资深的开发人员已经尝试并且报道了Rails不存在这样的缺陷,比如,Tomcat,Ant和Servlet API的作者James Duncan Davidson最近写道:
Rails is the most well thought-out web development framework I‘ve ever used. And that‘s in a decade of doing web applications for a living. I‘ve built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before. That‘s not to say they got it all right. It‘s by no means "perfect". I‘ve got more than a few nits and picks about how things are put together. But "perfect" isn‘t the point. The point is that it gets you up and going fast and has plenty of depth to keep you going. And Rails does that very well.
如果没有足够的证据的话,你也许很难相信他所说的话。不过幸运的是,你不需要相信我的(或者任何其他人的)话,你可以自己用一天或者更短的时间来看看Ruby on Rails tutorial并且做一个适当的Web程序出来。毕竟,眼见为实!如果你不想要自己去尝试,那么你也可以看new Rails video,看看别人是怎么做到的。
Rails是怎么做到这些的?
就好像一个好的药方一样,Rails通过整合适量的正确手段来达到前面所说的样子。下面就是Rails为什么能够如此高效的一部分原因
Rails的很多强大的功能都是来自于Ruby的。Ruby独特的设计使得我们可以轻松的创建domain-specific languages 和做metaprogramming。
架构
Rails是一个MVC(model,view,controller)的框架,他提供了所有的这些层次并将他们无缝的结合在了一起。其他的一些框架一般都只是提供了一部分的解决方案,需要开发者自己去整合多个框架到一个应用程序里面去。比如说,一个Java开发人员就需要使用Hibernate,Struts和Tiles来实现MVC的目标。
约定高于配置意味着XML配置文件的终结—在Rails里面,没有任何的xml配置文件!代替xml的是使用一些简单的约定,让程序可以通过反射和查找来获得所需要的配置信息。比如,Rails使用反射来自动的将Ruby对象映射到数据库表里面去。你的程序代码和正在运行的数据库里面已经包含了Rails所需要的一切。
通过遵循一些简单的编程约定不仅仅可以减少配置文件的使用,同时还可以让Rails自动的去处理很多的底层的细节问题,这意味着你可以写更少的代码来实现你的程序。保持你的代码的精简意味着更快的开发速度和更少的bug,它可以让你的代码更加容易理解,维护和扩展。
Rails通过运行时反射和元程序来减少本来你必须要编写的代码。你通常可以通过内置的自动生成脚本来生成一些原本需要通过手工编写的代码,这就让你可以集中精力在你的业务上面,而不是在处理一些无关的细节方面。
一般的Web程序的开发都需要经过一下几个步骤:配置,编译,部署,重设和测试。这非常的耗费时间,Rails开发环境不需要经过这些步骤。你做了一个修改,然后你就可以看到这个修改的效果了。我们无法描述这对于提高生产力会有多大的帮助,但这确实很有帮助。
Rails可以自动创建完整的用来操作数据库表的CRUD(Create,Retrieve,Update和Delete)操作和相应的视图。这个功能可以让你很快的就可以实现用来操作数据库表的功能。随着开发的进行,你可以慢慢的使用自定义的CRUD方法和视图来代替自动生成的程序,从而让程序更加美观,更加的功能强大。
什么是Ruby on Rails
什么是Ruby on Rails
Ruby on Rails
Ruby on Rails Cheat Sheet - Ruby On Rails - ILoveJackDaniels.com
[Ruby on Rails]Vim 开发 ruby on rails 完全配置
What Is Ruby on Rails
Ruby on Rails 学习资料
Ruby on Rails 学习资料
ONLamp.com -- Rolling with Ruby on Rails
Vim 开发 ruby on rails 完全配置...
Ruby on Rails有用的插件
Vim 开发 ruby on rails 完全配置...
通过JavaEye2.0网站看ruby on rails性能-rails-Ruby -Ja...
在Linux平台上安装和配置Ruby on Rails详解-rails-Ruby
ruby on rails:web2.0世界新生的创造力
ruby on rails:web2.0世界新生的创造力
RoR历险记:一个Java程序员的Ruby on Rails体验
Integrate FCKEditor with your Ruby on Rails application
RUBY ON RAILS:WEB2.0世界新生的创造力
利用Radrails开发Ruby on Rails程序入门指南
修改默认主页---Ruby on Rails:Welcome aboard
Ruby On Rails 项目时间小结-yueguangyuan -JavaEye技术社...
跨越边界: Ruby on Rails 的秘笈是什么?
一个.NET程序员为什么学习Ruby on Rails?(转 InfoQ)