有没有类似于Groovy和Grails或Ruby on Rails的.NET替代品?

10

最近我开始玩一下Groovy和Grails,我必须说我对这个框架所能提供的简单性和生产力印象非常深刻。

过去我也用Ruby on Rails等方式打造了一些应用,获得了同样的感受,所以很明显,对于Web应用程序,DRY KISS绝对是正确的选择。

问题是,在我目前的工作中,人们比较倾向于微软,我猜想他们可能会有点不愿意接受这些宝石,所以我想知道是否有任何.NET项目实现了与Grails和Rails相同的原则?

非常感谢您的评论。


你有没有了解过ASP.NET MVC框架? - Marshall
1
这个问题有2014年的答案吗?我也在想同样的事情!(最好是在nhibernate或EF上使用asp.net/mvc) - Jonesome Reinstate Monica
9个回答

10

尝试使用ASP.NET MVC - 它受到Ruby on Rails的很大影响,它们都基于MVC模式。


10

1
这个问题有2014年的答案吗?我也在想同样的事情!(asp.net/mvc在nhibernate或EF之上,nhibernate更受欢迎) - Jonesome Reinstate Monica
@Jonesome 这是2014年的答案...这就是答案 - Don Cheadle

7
在我看来,没有任何一个框架能够接近 Grails。答案是不行的。在 .net 世界中,实际上没有任何东西能够提供像 Grails 一样的功能。Grails 不仅仅是一个“MVC”架构,它的功能远不止于此。我希望在这个时间点上,通过 IronRuby/IronPython 等技术,能够做更多的工作来创建这样的环境。Grails 值得称赞的一部分是它自带了所有你需要的东西——你不需要遵循 20 步才能完成安装。下面是一些 Grails 自带支持但 asp.net mvc 甚至无法接触到的例子:(1) 内置 Hibernate 支持 (2) 通过 Spring 实现内置依赖注入支持 (3) 所有使其便于使用惯例的 Grails 命令 (4) 构建测试支持。

使用过两者后,我会给Grails加1分。许多使Grails易于使用的东西也来自语言本身,而CLR则没有类似之处。此外,插件系统、服务器、Java兼容性、就绪的控制台命令和文档生成等等,还有更多的好处。 - Joel Peltonen
1
在我的经验中,Boo解决了许多Groovy的语言问题,并且与ASP.Net MVC相当兼容;Boo有时更加优雅,特别是当您遇到受益于语义明智的宏的问题时。在Asp.Net MVC中插入Spring或Ninject(比Spring.Net更好)并不复杂。SharpArchitecture减少了Asp.Net MVC中大部分多余的步骤,但它与Grails不完全相同。缺失的是一个完整的包(依赖管理、语言、框架、数据存储的默认假设等)。 - JasonTrue

7
如果你想在.NET环境中使用类似于Ruby on Rails的东西,你可以尝试以下组合:
- ASP.NET MVC - 实现MVC模式,并且像其他帖子提到的那样,受到RoR的强烈影响,包括通过T4模板的一些脚手架功能。 - Castle ActiveRecord - 实现了Active Record模式,这是Rails成功的核心。你会发现ActiveRecord类非常简洁和DRY。除了映射和验证属性之外,没有更多的东西。更好的是,Castle ActiveRecord在底层使用NHibernate,因此你可以随时转到NHibernate并使用像NHibernate Profiler这样的工具来理解和优化Castle ActiveRecord的输出。
有几件事情从RoR/Grails世界并没有真正转化过来。自动迁移(a'la Capistrano)和非常有价值的插件库不存在。如果有人对.NET世界中类似的替代方案有评论,我会很感兴趣。

3

另一个受欢迎的选择是SubSonic

该程序会检查您的数据库并构建具有强类型数据访问层。它还可以基于DB为您生成CrUD(create-update-delete)网站,并可与Visual Studio集成。

通过观看屏幕录像,可以很好地了解这个工具。

可以轻松地与其他框架(如ASP.NET MVC)配合使用。我已经非常成功地将其用于从F#维护MySql数据库。

强烈推荐。


1

对于 .Net 开发者来说,最好的方法是使用 ASP.NET MVC 和 Castle ActiveRecord,但对于真实世界的应用程序,您需要包含 NHibernate Query Generator,它是 Rhino Tools 的一部分,除非您有长期使用 Nhibernate 的经验。 您还需要激活第二级缓存作为第一个优化步骤,文档可在 ActiveRecord 网站上找到。

我认为这两个都是必要的,但不会“开箱即用”。


1

我认为 ASP.NET MVC 可能是最接近 Ruby on Rails 的框架。ASP.NET 动态数据也与其有相似之处。虽然我尚未尝试过,但我听说可以同时使用它们。


0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接