Saturday, March 11, 2006

Ruby on Rails

1. 什么是RUBY ?
Ruby 是由日本人松本行弘发明的一种面向对象的脚本语言.声称,更快,更通俗易懂的面向对象的语言,本人接触这段时间,感觉到关于面向对象的确做得不错.一些特点:

1)一切都是对象,例如:
数据类型转换提供如 to_ary,to_i,to_s 等方法,
@i = "2".to_i //字符串转数值类型
puts @i+1
不再象java中的诸如:
Integer.parseInt()
String.valueOf()
那样难看与及难以理解

Time.now.strftime(fmt) 
Time.now对象通过strftime格式化日期类型  
再如koalant在它那本ruby on rails实践中说到 -166.abs 可以直接取其-166绝对值 ………………

2)代码块非强制用{} ,无需 ; 作分行标识;

3)语法灵活,一种可以功能可多种实现,随个人爱好;

4)语法简洁等,做一个应用只要用到几行代码,这也是脚本语言的优势所在

更详细可参考 http://www.ruby-lang.org/ 以及下面提供的些文档资料.

2. 什么是Rails
RAILS是丹麦的小伙子David用RUBY开发的一个web框架. 也叫Ruby On Rails(ROR),它采用模型/视图/控制器(model/view/controller,MVC)架构。
实现一站式开发. http://www.rubyonrails.org/ 有比较详细的介绍.
声称用更少的代码实现web applications。
此框架主要包括三部分
Active Record 一个ORM实现 , 是 Rails 的一个核心组成部分,它将关系型表映射为 Ruby 对象,应用程序的 app/models/ 目录中的 Ruby 文件能够调用 ActiveRecord 的多种验证方法。
Action Pack View 以及controller
控制器以其抽象形式执行应用程序的逻辑。也就是说,应用程序的 app/controllers/ 目录中的 Ruby 脚本能把模型数据导入为变量,保存回去,或对其进行修改和处理。不过,控制器不关心用户如何适当地显示或者输入数据。
视图是我们编写 Ruby 代码的地方。Rails 包含有一门用于 .rhtml 的非常好的模板语言,它将纯粹的 HTML 与嵌入的 Ruby 代码组合起来。 Rails 应用程序界面的最表层外观通常是由 CSS 样式表单控制的。.rhtml 格式是一种增强的 HTML。
Action Mailer 应该是关于mail方面的东西

3. ROR设计思想: 新兴的Web Application快速开发框架
和Python, PHP, VBScript类似, Ruby也是一种动态脚本语言, 但相比Python有更广泛的应用范围, 同时Python有一大特性:Python能够与C无缝集成,现在IronPython又能够与C#集成.
在Python下类似ROR的开发框架有:CherryPyKarrigellTurboGearsDjango, 它们的比较可以看这里http://perhaps.cnblogs.com/archive/2005/10/14/254670.aspx, 和中国的Pathon社区中的一篇文章[Karrigell学习]我为什么选择了Karrigell .
.Net阵营中,CASTLE就是.Net里的ROR设计思想的实现, 主页看这里http://castleproject.org/index.php/ActiveRecord.

一些资料
Really Getting Started in Rails
Rolling with Ruby on Rails Part1 Part 2
Ajax on Rails
Top 12 Ruby on Rails Tutorials
[rails] 我的订餐系统 -- 小试ruby on rails
http://www-128.ibm.com/developerworks/cn/linux/l-rubyrails/#resources 使用 Ruby on Rails 快速开发 Web 应用程序
http://www-128.ibm.com/developerworks/cn/java/wa-rubyonrails/ Ruby on Rails 和 J2EE:两者能否共存?
http://www.rubycentral.com/book/index.html Programming Ruby

No comments: