ROR学习笔记(2):Asp.Net开发者看ROR

ROR集成了诸多"先进"的理念,比如mvc,模板替换,orm,实体验证,ajax,数据库迁移,session的多种保存机制...等等,也许在今天看来,这些东西都是司空见惯的,但要知道ror框架是在几年前就发布的,所以ROR一出来就一路走红,甚至一度号称"web中小型开发效率天下无敌",也不是浪得虚名的。

但是随着Asp.Net的不断进步,ROR中的这些特性也慢慢都被MS吸收进来了,比如:

1.MVC

asp.net mvc已经发展到2.0了,如果ror开发者转换到asp.net mvc模式,也一定很容易上手

2.scaffold

网上曾经一度盛传的所谓"10分钟开发一个博客"的视频,很大程度上就是借助了这个玩意儿自动生成数据的基本CRUD操作,其实asp.net中的gridview也有类似的“开发”效率,只要设置datasource,一样不写一行代码,就可完成数据库的增删改,而且http://msdn.microsoft.com/en-us/ff183106(zh-cn).aspx 上也明确表示,asp.net mvc2.0中也将加入Auto-Scaffold UI Helpers

3.orm

asp.net中的orm太多了,抛开第三方的不谈,linq to xxx系列就已经很好用了

4.实体验证

MS开源企业库(Enlib)中的实体验证就不错

5.数据库迁移(rake)

这个虽然asp.net开发环境还没有,但是vs.net集成的数据库IDE环境用起来也是很顺手的,用熟悉了(比如把各个版本的sql语句合理组织好)速度上也不比rake慢多少

6.session的多种保存机制

从asp.net2.0开始,session就允许保存在数据库,或单独的session服务器上,这一点与ror也差不多了

7.集成ajax框架

ror默认集成的是prototype,但在各大ajax框架不断成熟的今天,这已经不是什么问题了,何况jquery也已经集成在asp.net mvc中了

8.单元测试

貌似asp.net webform/mvc一直就有,只是很多人不怎么用

Agile Web Development with Rails只看了一半,暂时就这么几点肤浅的体会 :)

后记:越来越发现很多技术上是相通的!学习了ruby后,发现对于javascript的理解也更容易了;学习了ror后,再看asp.net mvc也更有感觉了;学习了flex后,对于silverlight好象看着也更顺眼了...

个人建议:因为技术的发展总是有先有后,先出来的东西相对更成熟,学习资源更丰富(但同时也意味着更加不能适应未来的新需要),如果我们在学习微软的某项新技术感到困难时,不防看下其它阵营中有没有类似的成熟技术,透过它们其实更容易看到微软的进步。

时间: 2024-11-01 04:31:47

ROR学习笔记(2):Asp.Net开发者看ROR的相关文章

ROR学习笔记(1):Rails 2快速创建GRUD应用

机器上没安装ROR开发环境的朋友,请先参看 ruby on rails + mysql 开发环境搭建 架好环境 注:ROR的经典著作"Web开发敏捷之道--应用Rails进行敏捷Web开发"目前中文的只有第二版,作者写书的环境是rails 1.x,现在rails的版本已经更新至2.3.5,很多东西已经变了,如果参考第二版的书上一步步来做的话,根本做不下去.(目前该书已经出了第三版,只不过国内暂时尚无翻译版本,http://hlee.javaeye.com/blog/363605 这里可

那些年,我还在学asp.net(一) 学习笔记_基础应用

那些年到此,基本学习了前端的基本知识,那些年的第四课就是asp.net,当然那时看了很多教程,比如说:天轰穿,当然天轰穿说得比较多,如面向对象,C#知识,由于当时上过C++,所以就没有看这些,直接从asp.net开始,主要是学习一下asp.net用到的一些基本控件,后来感觉差不多了就不再看了,开始学习asp.net的数据教程(scott教程),那些年慢慢的走向web开发了.    先还是看一下asp.net中的一些基本的控件的使用. 一.GridView控件的使用 1.GridView 是asp

值得收藏的asp.net基础学习笔记_实用技巧

值得收藏的asp.net基础学习笔记,分享给大家. 1.概论 浏览器-服务器 B/S 浏览的  浏览器和服务器之间的交互,形成上网B/S模式 对于HTML传到服务器  交给服务器软件(IIS)  服务器软件直接读取静态页面代码,然后返回浏览器 对于ASPX传达服务器  交给服务器软件(IIS)   IIS发现自己处理不了aspx的文件,就去映射表根据后缀名里找到响应的处理程序(isapi,服务器扩展程序) 问题:IIS如何调用可扩展程序? 答:可扩展程序首先就是按照IIS提供的借口实现代码,所以

ASP.NET MVC Web API 学习笔记---联系人增删改查

本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系人          说明:为了方便数据不使用真正的数据库,而是通过内存数据模拟    1.       Web API中包含的方法 Action HTTP method Relative URI GetAllContact GET /api/contact GetContact GET /api/

一份ASP学习笔记(连载)

笔记 ASP学习笔记(一) 1. 突出显示文字 <em>要显示的文字</em>2. 根据用户选择,做出相应的反应(在客户端实现) SELECT CASE Document.Form1.card.options(selectedIndex).Text Case "value1" Option1 Case "value2" Option2 ...... END SELECT3. VBScript 的 Sub函数不返回值 Function 函数将返

thinkphp学习笔记10—看不懂的路由规则

原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂.   1.路由定义 要使用路由功能需要支持PATH_INFO,PATH_INFO是什么呢?手册中提到"要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能)," , url支持path_info,不是apache要支持path_info么,度娘讲的还算清楚一点,见下文: p

Javascript基础学习笔记(菜鸟必看篇)_基础知识

什么是变量? 变量是用于存储信息的容器 变量的声明 语法: var 变量名 变量名 = 值; 变量要先声明再赋值 变量可以重复赋值 变量的命名规则 变量必须以字母开头: 变量也能以$和_符号开头(不过我们不推荐这么做): 变量名称对大小写敏感(a和A是不同的变量). 语句 语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾. 有个好的编码习惯,都要以 ; 结尾 数据类型 在JavaScript中,一段信息就是一个值(value).值有不同的类型,大家最熟悉的类型是数字.字符串(strin

JQuery中attr属性和jQuery.data()学习笔记【必看】_jquery

用html直接data-key来存放,key必须全部小写. <div data-mydata="123"></div> consoloe.log($("div").data("mydata")); //output 123 二避免在key中使用短横线 <a id="bar" data-foo-bar-baz="fizz-buzz" href="#">f

JavaScript继承学习笔记【新手必看】_javascript技巧

JavaScript作为一个面向对象语言(JS是基于对象的),可以实现继承是必不可少的,但是由于本身并没有类的概念,所以不会像真正的面向对象编程语言通过类实现继承,但可以通过其他方法实现继承.实现继承的方法很多,下面就只是其中的几种. 一. 原型链继承 function Person() { //被继承的函数叫做超类型(父类,基类) this.name='mumu'; this.age='18'; } Person.prototype.name='susu';//当属性名相同时需就近原则,先在实