gpt4 book ai didi

ruby-on-rails - 在 linux 上运行的新应用程序的单声道还是 RoR?

转载 作者:行者123 更新时间:2023-12-02 13:53:00 26 4
gpt4 key购买 nike

我对 ruby​​ 本身几乎没有经验。我打算聘请某人编写一个基于 Web 的应用程序,我希望它用 RoR 编写,但我推荐使用 mono。我猜是因为他们喜欢单声道并且因为他们认为 RoR 很慢。

整个应用程序将是某种社交媒体元管理工具。将有前端基于网络的部分,然后后端做“真实的东西”。

我对单声道完全没有经验,也没有足够的经验可以轻松地说 RoR 是最佳选择。

我知道如果 RoR 配置正确,它可能会非常快。我读到 RoR 在可扩展性方面存在一些问题。我将开始小规模的应用程序,如果成功,我需要扩大规模。

你会推荐什么?

鉴于

  • 业绩
  • 可扩展性
  • 易于测试
  • 易于维护,开发代码/项目

  • (我喜欢 ruby​​,但我自己不会成为开发人员。如果该问题有这样的答案,我更愿意选择“更好”的选项)

    请随时提出其他建议...

    最佳答案

    如果你不打算自己写,你可能想和写它的人最舒服的方式一起去。

    全面披露:我现在使用 Mono 开发了几个网站,我喜欢它。我使用过 Ruby-on-Rails,但没有像我在 Mono 中所做的那样大。记在脑子里。

    快速回答:从更大的角度来看,Ruby-on-Rails 和 ASP.NET MVC 有更多的共同点。我的选择是 Mono 上的 ASP.NET MVC,但我怀疑您是否会后悔选择。

    架构:如果您想要一种开箱即用的方法,请选择 Ruby-on-Rails。如果您希望能够从一系列选择中选择您认为最好的技术,请选择 .NET (Mono)。

    Ruby-on-Rails 更像是一种交 key 解决方案,因为它提供了一种标准方式,可以开箱即用地完成几乎所有您需要的工作。 .NET (Mono) 提供了更多的功能(我认为可以这么说)但是有很多不同的部分可供选择,您必须自己选择一个技术堆栈。例如,RoR 具有访问数据库的标准方式,而 .NET Mono 允许/强制您从十几种不同的方式中进行选择。

    Mono 和 .NET 通常有更好的关注点分离,因此您的纯粹主义者可能会喜欢这一点。如果没有,您实际上会发现 Ruby 的卷起袖子并完成工作的态度更符合您的喜好。

    性能和可扩展性:这显然应该适用于 .NET 和 Mono。事实上,我认为运行 Ruby-on-Rails 的最快方法是使用 IronRuby 在 .NET 上运行它。 StackOverflow 是用 ASP.NET MVC 编写的,考虑到流量,它显然表现出色。证据就在布丁里。也就是说,性能瓶颈可能不是您选择的框架。

    测试:旧式 ASP.NET(现在称为 WebForms)被认为很难测试。较新的 ASP.NET MVC 旨在易于测试并且类似于 RoR。一个主要因素是,在 Mono 中,您可能会使用静态类型语言(如 C#),而 Ruby 当然是一种动态类型语言。您必须用动态语言编写更多测试(因为编译器/解释器不会捕获类型问题),但如果您不与编译器作斗争,编写测试也会更容易。我认为这是品味和风格的问题(我喜欢静态)但这是回答这个问题的主要因素。

    当然,由于 .NET/Mono 是一个多语言平台,你总是可以用动态语言编写你的 ASP.NET MVC 测试。你甚至可以在 Ruby (IronRuby) 中做到这一点。也许这将是两全其美的(静态检查您的真实代码和测试中的灵事件态)。我已经考虑过使用 IronPython 进行测试。

    维护开发:这是困难的一个。这取决于您正在编写什么、您可能需要哪些第三方库以及您将使用哪些工具。我会说 RoR 可能是更高级的 MVC 框架。我自己的想法是 Ruby-on-Rails 可能是一种更容易编写但更难维护的阴影。

    社区:我更喜欢 Ruby 社区而不是 .NET 社区,但我认为我最喜欢 Mono 社区。这让它有点困惑。 Mono 的核心人员(如在这里回答的 Michael Hutchinson)简直太棒了。我也非常喜欢 MonoDevelop 作为工具 (IDE)。它只会变得越来越好。 Michael,感谢您对 Git 的支持,如果您对此有任何帮助的话。 :-)

    工具:如果您正在为 Mono 编写代码,您可以使用整个 .NET 工具(VisualStudio、ReSharper、Reflector 等),因此这很难被击败。那当然是假设您在 Windows 上开发。在 Linux 或 Mac 上,Mono 的首选工具是 MonoDevelop。它直接在 IDE 中支持版本控制、软件调试器和 NUnit 测试,并且是完全跨平台的。

    似乎很多 Ruby 人只是使用一个简单的文本编辑器。这可能只是因为 IDE 提供动态语言的能力不如静态语言多。这是一个关于人们喜欢 Ruby 的问题:

    What Ruby IDE do you prefer?

    编辑:只是为了让事情变得困惑......还有另一个 .NET/Mono MVC 框架,它更像 Ruby-on-Rails; MonoRail甚至有一个 ActiveRecord 的实现。 MonoRail 实际上比 ASP.NET MVC 存在的时间更长,但我现在会坚持使用 ASP.NET MVC,因为这就是 future 所在。顺便说一下,ASP.NET MVC 是开源的,并且随 Mono 开箱即用(实际的 Microsoft 代码)。

    关于ruby-on-rails - 在 linux 上运行的新应用程序的单声道还是 RoR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644507/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com