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

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

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好象看着也更顺眼了...

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

目录
相关文章
|
6月前
|
Java C# 开发者
【干货】Java开发者快速上手.NET指南
【干货】Java开发者快速上手.NET指南
|
6月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
162 0
|
6月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
88 0
|
6月前
|
JSON IDE 前端开发
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
|
3月前
|
SQL 开发框架 数据库
".NET开发者的超能力:AgileEAS.NET ORM带你穿越数据库的迷宫,让数据操作变得轻松又神奇!"
【8月更文挑战第16天】AgileEAS.NET是面向.NET平台的企业应用开发框架,核心功能包括数据关系映射(ORM),允许以面向对象方式操作数据库,无需编写复杂SQL。通过继承`AgileEAS.Data.Entity`创建实体类对应数据库表,利用ORM简化数据访问层编码。支持基本的CRUD操作及复杂查询如条件筛选、排序和分页,并可通过导航属性实现多表关联。此外,提供了事务管理功能确保数据一致性。AgileEAS.NET的ORM简化了数据库操作,提升了开发效率和代码可维护性。
51 5
|
3月前
|
机器学习/深度学习 人工智能 算法
【悬念揭秘】ML.NET:那片未被探索的机器学习宝藏,如何让普通开发者一夜变身AI高手?——从零开始,揭秘构建智能应用的神秘旅程!
【8月更文挑战第28天】ML.NET 是微软推出的一款开源机器学习框架,专为希望在本地应用中嵌入智能功能的 .NET 开发者设计。无需深厚的数据科学背景,即可实现预测分析、推荐系统和图像识别等功能。它支持多种数据源,提供丰富的预处理工具和多样化的机器学习算法,简化了数据处理和模型训练流程。
53 1
|
3月前
|
开发框架 JSON .NET
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
|
3月前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
52 0
|
3月前
|
开发者
在.NET 中进行并发编程,究竟隐藏着哪些让开发者头疼不已的挑战?又该如何破解?
【8月更文挑战第28天】在现代软件开发中,并发编程的重要性日益凸显,但.NET开发者们却常常遇到资源竞争与死锁等挑战。例如,多线程对共享资源的访问可能导致数据不一致。以上提供了一个因缺乏同步机制而导致计数器结果出错的例子,并通过使用锁解决了该问题。此外,还介绍了一个产生死锁的代码片段,展示两个线程因互相等待对方持有的锁而陷入僵局。通过对这些挑战的理解和应对,可以提高软件的稳定性和效率。
25 0
下一篇
无影云桌面