是否有类似 .NET 开发的 Ruby on Rails 框架? [关闭]

Posted

技术标签:

【中文标题】是否有类似 .NET 开发的 Ruby on Rails 框架? [关闭]【英文标题】:Is there a Ruby on Rails framework like equivalent for .NET development? [closed] 【发布时间】:2010-06-04 18:31:32 【问题描述】:

像 ASP.NET MVC 或实体框架这样的答案确实是不可接受的,因为它们只解决了问题域的一个方面。

我正在寻找一个框架......一个真正的框架,它提供了与 Rails 相同的开箱即用功能。因此,它至少应包括:

    用于演示的 MVC ORM 能够为任何环境(开发、QA、生产等)提供简单的配置 类似迁移的功能 能够在所有层中生成代码(类似于脚手架之类的行为等...) 项目模板,以便创建与“rails my_app”命令类似的功能。

谢谢。

【问题讨论】:

***.com/questions/386950/… 【参考方案1】:

是的,有一个框架......它被称为 .NET 框架。

    ASP.NET MVC Linq to SQL / 实体框架 .NET 配置 API (web.config) ??? (什么是“类似迁移的功能?”) ASP.NET 动态数据 Visual Studio 项目模板

除了一组互操作以提供一整套功能的组件之外,究竟什么是“真实”框架?我认为 .NET Framework 的当前迭代已经完全符合您的要求,开箱即用。

【讨论】:

Rails 迁移本质上是更改数据库架构的一个方面的脚本,例如添加表或删除列。理想情况下,每次迁移都封装一个小更改,并有一种方法可以回滚。 & fwiw,坦率地说,我发现使用 NHibernate 或其他 ORM 进行数据库生成对于我所做的大部分工作来说要好得多。我可以将我的模型编写为模型,然后让 ORM 为我弄清楚如何将它们转换为 SQL。如果我在数据库中有一个模式因此结果不是我想要的那样,那么在进行负载测试等之后返回并修复它通常会更容易,并且你有更准确修复它的结果和原因;阻止早期优化。 你显然没有使用过 Rails Aaronaught 看过 .NET Java Spring 和 Rails 我可以说这三个 Rails 是迄今为止最好的框架,特别是如果你在一个中小型软件开发公司。 如果我基于经验的专业意见是火焰诱饵,那么你一定是微软***者。 @eagle 所以如果你不是***者,你就不能不同意吗?或者这会让你成为 Rails ***者?【参考方案2】:

我想你想要 Rob Conery 所做的。

看看他的博文。

http://blog.wekeroad.com/2010/05/24/mvc-starter-2

更新:详细回答,

    ASP.Net MVC(用于演示的 MVC) ORM(亚音速) 环境(是的。它具有开发、生产等环境) 迁移(是的。Subsonic Simple Repository 可以与您的模型同步数据库) (不确定) 您可以使用该初始站点中的大部分代码。

仅供参考,Rob Conery 曾是 ASP.NET MVC 团队的一员,现在也在 Rails Core 团队工作。

【讨论】:

【参考方案3】:

我所见过的最接近你所要求的东西是S#harp Architecture。据我所知,它真的符合你所说的一切。

也就是说,我认为正如 Soe Moe(对您 +1)所指出的,Rob 的 TekPub 更接近于它具有轻量级的“感觉”,只是还没有项目模板(虽然这是我有时间时倾向于纠正的事情)。

说了这么多,我要提醒你不要嫉妒功能。我喜欢 Rails 的一件事是你对他们的思维方式的束缚,坦率地说,这并不适用于所有项目。所以,只是深思。

【讨论】:

【参考方案4】:

嗯,在我看来,简短的回答是“不”。没有一个框架(我知道)。但是,您可以组合许多框架来获得大部分功能。

MVC Castle ActiveRecord 获取您习惯的 ActiveRecord 没有很好的配置选项(web.configs 在让您管理 Dev、QA 和生产 IMO 之间的差异方面确实不是那么好)。可能是你自己的。我打赌你能找到一个可靠的 yaml 解析器(毕竟,IronRuby 现在必须有一个) 迁移——我敢打赌有一些“.NET 迁移”解决方案,但我没有使用过。还没有人出名,但我不知道会不会。 对于“脚手架”,您确实应该查看动态数据。我听说过它的好消息(虽然没有第一手经验) 项目模板:Visual Studio 在这里有一些非常好的功能。最重要的是,Resharper 有一些优秀的 功能。使用这 2 个,您可以创建自己的模板。您可能会键入四个字母,然后看到它立即变成一个 for 循环,或者一个从您指定的基类派生的整个类,或者更多。可以对整个解决方案进行模板化,以便新项目从样板开始并准备就绪。

【讨论】:

【参考方案5】:

一年多来,我们一直将 NetTiers 用作 ORM,并取得了巨大的成功。这负责中间层和数据层。其他内容,如日志记录和异常,来自 Microsoft Enterprise Library。

将其与 CodeSmith 生成的前端模板以及 DevExpress 等优秀的 Ajax 组件套件相结合,您就可以开始使用了。

使用 CruiseControl 让一切自动化,您可以进行持续集成和一键式部署。

【讨论】:

【参考方案6】:

你能再具体一点吗? Ruby on Rails 在 .NET 上运行,为什么你想要一个 Ruby-on-Rails-like 框架而不是 Ruby on Rails?

编辑:我不太理解反对票。我相信 Ruby on Rails 完全符合 OP 的每一项标准:

是否有类似的 Ruby on Rails 框架

检查:Ruby on Rails 绝对类似于 Ruby-on-Rails。事实上,在迄今为止给出的所有答案中,我认为 Ruby on Rails 是类似 Ruby-on-Rails 的框架,比目前投票率最高的答案要好得多。

用于 .NET 开发?

检查:Ruby 是一种 .NET 语言,Ruby on Rails 在 .NET 上运行,有一个用于 Internet Information Server 的 Rack adatper,有一个用于 SQL Server 的 ActiveRecord 适配器,Ruby on Rails 的所有意图和目的都是 100 % 本地 .NET 公民。

像 ASP.NET MVC 或实体框架这样的答案确实是不可接受的,因为它们只解决了问题域的一个方面。

不幸的是,问题没有具体说明“问题域”是什么,但似乎 OP 认为 Ruby on Rails确实解决了问题域,所以:检查。

我正在寻找一个框架......一个真正的框架

同样,问题并没有具体说明什么是“真正的框架”,但似乎 OP 认为 Ruby on Rails 一个真正的框架,所以:检查。

这为我提供了与 Rails 相同的开箱即用功能。

检查:Ruby on Rails 确实为您提供了与 Ruby on Rails 相同的开箱即用功能。

因此,它至少应包括:

用于演示的MVC

检查:Ruby on Rails 确实提供了 MVC 来表示。它具有用于模型层的 ActiveRecord、用于视图层的 ActionView 和用于控制器层的 ActionController,尽管如果您不喜欢它们,可以将其中的每一个都换成不同的实现。

ORM

检查:Ruby on Rails 确实带有一个称为 ActiceRecord 的 ORM,但如果您不喜欢它,那么您可以将它换成 DataMapper、Sequel 或任何您想要的 ORM。此外,Ruby on Rails 根本不需要关系数据库,它与分层数据库、文档数据库、键值数据库和图形数据库一样工作。

能够为任何环境(开发、QA、生产等)提供简单的配置

检查:Ruby on Rails 内置了几个环境(开发、测试和生产),但您可以添加自己的环境并为其中任何一个提供配置。

类似迁移的功能

检查:ActiveRecord 自带数据库迁移框架。

能够在所有层中生成代码(类似于脚手架之类的行为等...)

检查:Ruby on Rails 带有 Rails Generator 框架,它允许自定义生成几乎任何东西,它带有一大堆用于模型、控制器、视图、迁移、测试的预定义生成器……

项目模板,以便创建与“rails my_app”命令类似的功能。

检查:Ruby on Rails 带有 Rails 模板,它允许您创建可自定义的项目模板,这些模板可以使用单个命令生成整个骨架项目。它还带有一个预定义的模板,该模板生成一个项目,以 ActiveRecord 作为模型,ActionController 作为控制器,ActionView 作为视图,ERb 作为模板库,Prototype 作为 AJAX 库,test/unit 作为测试框架。

Ruby on Rails 符合问题中的每一项标准,恕我直言,它比迄今为止提出的任何其他框架都更符合这些标准,包括目前投票最高的答案。

【讨论】:

Ruby on Rails 不是 .NET 语言。您可以在 .NET 中使用 IronRuby [on Rails],但它只实现了几个版本(1.8.6,IIRC)的 ruby​​ 版本规范的大约 86%。 @codemonkey4hire:是的,Ruby on Rails 确实不是 .NET 语言。我从来没有声称它是。事实上,这是一个很无聊的说法,因为 Ruby on Rails 是一个 Web 应用程序框架而不是一种语言,因此,既然 Ruby on Rails 不是一种语言,那么说 Ruby on Rails 不是 .NET 语言的说法完全是没有任何有用的信息。 Toyota 也不是 .NET 语言,它是一家汽车公司。 quote:"检查:Ruby 是一种 .NET 语言,Ruby on Rails 在 .NET 上运行,有一个用于 Internet Information Server 的 Rack 适配器,有一个用于 SQL Server 的 ActiveRecord 适配器,Ruby on Rails就所有意图和目的而言,它都是 100% 原生的 .NET 公民。”这是错误的。 Ruby 不是 .NET 语言。它是自己的语言,比 .NET 本身更早。 IronRuby 是基于 1.8.6 版规范的 Ruby 实现,但它不完整,1.8.6 是几个版本之前的版本。

以上是关于是否有类似 .NET 开发的 Ruby on Rails 框架? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Faraday::ConnectionFailed, Connection denied - connect(2) for “localhost” port 9200 Error Ruby on Ra

从头开始 Ruby On Rails Web 应用程序开发?

ruby on rials (项目实战技巧)

在 ruby​​ on rails 中使用连接表

Ruby on Rails 3 发布日期 [关闭]

打造适合Ruby on Rails的Sublime Text 3开发环境[原创]