Rails是使用Ruby语言,采用全栈,MVC式的web开发框架.这是个综合性的描述,下面一一来看一下这些概念:
全栈意思是框架里囊括了开发产品所需要的所有东西。这可能稍微有点夸张,因为大多数应用需要一个持久层(数据库)和一个web服务器。但是从应用层来讲,rails确实包含了大多数项目需要的东西,不需要额外的选择模板系统或者是数据库映射系统。
MVC代表Model View Controller,根据它们各自的职能来将应用程序组织在一起。
·Model是用来描述对象域(例如User,Company, Post等等)和对象与数据库交互的内容
·View处理用户界面:生成HTML,RSS feeds,Javascript代码等等
·controller处理用户输入,协调Model和view工作
web应用程序不一定非要按照MVC来组织在一起,许多开发者非常自由的将这三者混合在一起。但是当应用变的很庞大的时候,这种混乱的组织方式维护性会变得很差而且也伴随着很多错误的产生。代码有许多的组织方式,但是Rails使用的MVC框架却确实是一个久经考验的可以让你的程序保持可维护性的良方。
一种框架可以看做是对你编码的一个约束集。乍听起来好像这并不是什么好事情,但是这种约束集的特殊目的就在于,它可以使你更加集中精力和创造力去处理好问题本身。Rails框架就是这样一个可以使得web开发更有效的约束集。
在我上大学的时候,曾经在巴黎学习过一段时间,我经常去cyber cafes里发mail回信给我在美国的朋友。尝试到了没有英文键盘布局typing的滋味,一般都是法语布局,但是我也去过德国和西班牙,键盘布局都差不多,最多就是有些字母从这儿变到了那这么点不同而已,这让我的打字速度变慢了好多,有一天,当我mail给我一个朋友时,我居然找不到一种方式可以把字母m敲出来。
同时我也发现了这样一种乐趣,故意在写东西的时候省略一个或几个字母,而表达清楚意思,这种挑战的乐趣。所以那天我很勉强的写完了那封信,从此我就迷上了这种方式。像Ernest V.Wright的小说Gadsby中从始至终没有e这个字母。这是全书的第一句话:
If Youth, throughout all history, had had a champion to stand up for it; to show a doubting world that a child can think; and, possibly, do it practically; you wouldn't constantly run across folks today who claim that 'a child don't know anything.'
避讳某字母的文章是强加的人为约束。有趣的地方就在于它强迫你创造性的思考一些交流上的问题,当你拒绝让自己自由发挥去写东西的话,实际上会导致你更好的表达自己。Lipograms是一个比较极端的例子,但是歌词和诗句也是同样的方式写出来的。作者们有这么强大的表达能力通常原因就在于他们只局限在韵律或者节奏这个约束中。
在rails框架下也表现出了同样的矛盾。被约束其中放弃自由,你可能拥有更强大的创造力!
Ruby是一种优雅的,面向对象的,动态类型的编程语言,跟List,Perl和Smalltalk有同样的起源,它的创始人Matz曾经说过Ruby是为了编程变得更有乐趣而不断发展的。Ruby是在1995年开始出现的,但是在Rails的问世之前,西方对于Ruby并没有过多的关注。因为Rails的强大功能和Ruby的表现有很密切的联系,很难把这二者分离开来。DHH(David Heinemeier Hansson )创造了Rails。
全栈意思是框架里囊括了开发产品所需要的所有东西。这可能稍微有点夸张,因为大多数应用需要一个持久层(数据库)和一个web服务器。但是从应用层来讲,rails确实包含了大多数项目需要的东西,不需要额外的选择模板系统或者是数据库映射系统。
MVC代表Model View Controller,根据它们各自的职能来将应用程序组织在一起。
·Model是用来描述对象域(例如User,Company, Post等等)和对象与数据库交互的内容
·View处理用户界面:生成HTML,RSS feeds,Javascript代码等等
·controller处理用户输入,协调Model和view工作
web应用程序不一定非要按照MVC来组织在一起,许多开发者非常自由的将这三者混合在一起。但是当应用变的很庞大的时候,这种混乱的组织方式维护性会变得很差而且也伴随着很多错误的产生。代码有许多的组织方式,但是Rails使用的MVC框架却确实是一个久经考验的可以让你的程序保持可维护性的良方。
一种框架可以看做是对你编码的一个约束集。乍听起来好像这并不是什么好事情,但是这种约束集的特殊目的就在于,它可以使你更加集中精力和创造力去处理好问题本身。Rails框架就是这样一个可以使得web开发更有效的约束集。
在我上大学的时候,曾经在巴黎学习过一段时间,我经常去cyber cafes里发mail回信给我在美国的朋友。尝试到了没有英文键盘布局typing的滋味,一般都是法语布局,但是我也去过德国和西班牙,键盘布局都差不多,最多就是有些字母从这儿变到了那这么点不同而已,这让我的打字速度变慢了好多,有一天,当我mail给我一个朋友时,我居然找不到一种方式可以把字母m敲出来。
同时我也发现了这样一种乐趣,故意在写东西的时候省略一个或几个字母,而表达清楚意思,这种挑战的乐趣。所以那天我很勉强的写完了那封信,从此我就迷上了这种方式。像Ernest V.Wright的小说Gadsby中从始至终没有e这个字母。这是全书的第一句话:
If Youth, throughout all history, had had a champion to stand up for it; to show a doubting world that a child can think; and, possibly, do it practically; you wouldn't constantly run across folks today who claim that 'a child don't know anything.'
避讳某字母的文章是强加的人为约束。有趣的地方就在于它强迫你创造性的思考一些交流上的问题,当你拒绝让自己自由发挥去写东西的话,实际上会导致你更好的表达自己。Lipograms是一个比较极端的例子,但是歌词和诗句也是同样的方式写出来的。作者们有这么强大的表达能力通常原因就在于他们只局限在韵律或者节奏这个约束中。
在rails框架下也表现出了同样的矛盾。被约束其中放弃自由,你可能拥有更强大的创造力!
Ruby是一种优雅的,面向对象的,动态类型的编程语言,跟List,Perl和Smalltalk有同样的起源,它的创始人Matz曾经说过Ruby是为了编程变得更有乐趣而不断发展的。Ruby是在1995年开始出现的,但是在Rails的问世之前,西方对于Ruby并没有过多的关注。因为Rails的强大功能和Ruby的表现有很密切的联系,很难把这二者分离开来。DHH(David Heinemeier Hansson )创造了Rails。
本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/90359,如需转载请自行联系原作者