Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中你不能做什么,而在另一个框架中你可以做什么? 我想知道我应该考虑使用一个框架而不是Rails的情况。< / P > >哇,开始一场火战吧!p>_Ruby On Rails_Ruby_Frameworks - Fatal编程技术网

Ruby on rails 在Rails中你不能做什么,而在另一个框架中你可以做什么? 我想知道我应该考虑使用一个框架而不是Rails的情况。< / P > >哇,开始一场火战吧!p>

Ruby on rails 在Rails中你不能做什么,而在另一个框架中你可以做什么? 我想知道我应该考虑使用一个框架而不是Rails的情况。< / P > >哇,开始一场火战吧!p>,ruby-on-rails,ruby,frameworks,Ruby On Rails,Ruby,Frameworks,我首先要说的是,Rails将适用于大多数应用程序。然而,如果您需要执行许多异步类型的工作,如系统间的消息传递,例如获取请求、将其放入队列并在不同的线程甚至另一台机器上处理,那么Rails可能不是您的最佳选择。至少在目前,Ruby在多线程代码方面并不强大 放过侮辱吧 哇,真是一场火战 我首先要说的是,Rails将适用于大多数应用程序。然而,如果您需要执行许多异步类型的工作,如系统间的消息传递,例如获取请求、将其放入队列并在不同的线程甚至另一台机器上处理,那么Rails可能不是您的最佳选择。至少在目

我首先要说的是,Rails将适用于大多数应用程序。然而,如果您需要执行许多异步类型的工作,如系统间的消息传递,例如获取请求、将其放入队列并在不同的线程甚至另一台机器上处理,那么Rails可能不是您的最佳选择。至少在目前,Ruby在多线程代码方面并不强大


放过侮辱吧

哇,真是一场火战

我首先要说的是,Rails将适用于大多数应用程序。然而,如果您需要执行许多异步类型的工作,如系统间的消息传递,例如获取请求、将其放入队列并在不同的线程甚至另一台机器上处理,那么Rails可能不是您的最佳选择。至少在目前,Ruby在多线程代码方面并不强大


放过侮辱吧

rubyonrails并不是试图成为一个完美无缺的web开发框架。如果您要构建一个主要使用CRUD操作构建的应用程序,您需要使用大量AJAX,并且您可以完全控制数据库,那么Ruby on Rails就是其中一个很好的选择。如果您正在做其他事情,那么可能还有另一个框架更适合您的需求。

RubyonRails并不试图成为一个全方位的web开发框架。如果您要构建一个主要使用CRUD操作构建的应用程序,您需要使用大量AJAX,并且您可以完全控制数据库,那么Ruby on Rails就是其中一个很好的选择。如果您正在做其他事情,那么可能有另一个框架更适合您的需求。

两件事。首先,Ruby是一种相对年轻的语言,当你试图做一些更为深奥的事情,比如连接到非主流或旧类型的数据源时,你可能会遇到困难。它还具有较差的GC,并且没有内核线程,这两者对于高性能平台都非常重要。主要的代码库MRI相当粗糙,有许多聪明的模糊编程技巧,比如宏,还有一些编写得很糟糕的gc部分和线程调度。同样,这是一个非常年轻的平台,非常迅速地流行起来

其次,虽然ruby语言和rails的思想/范式都是非凡的,但ruby和rails平台却不是。ruby和rails中都有很多非常丑陋的东西,与其他平台php/asp/jsp的正常情况相比,部署解决方案处于黑暗时代

我被指控在这里乱逛,所以我会解释一下。由于线程模型,Rails无法同时处理请求,除非您启动Rails应用程序的多个完整实例。要做到这一点,您有两种选择,一种是相对年轻且仍在开发中的passenger mod_rails,另一种是经过测试的apache负载平衡器,其背后有多个mongrel实例

不管是哪种方式,仅仅生成worker的能力的缺乏意味着你需要运行5-10个完整的应用程序实例,这会产生非常大的开销,每个应用程序的开销很容易达到300-500兆欧,具体取决于你的gems和你的应用程序有多大。正因为如此,为rails服务所需的基础设施比大多数其他东西要复杂得多

话虽如此,情况一直在好转,乘客现在可以使用了,这已经不是我最后一次需要部署rails应用程序了。如果rails在接下来的几年里没有赶上,我会非常惊讶


此外,rubinius/jruby正在以正确的方式做事,并且正在以很快的速度前进。如果MRI在未来几年被放弃,转而支持主流rails工作中的一种实现,我不会感到惊讶。

两件事。首先,Ruby是一种相对年轻的语言,当你试图做一些更为深奥的事情,比如连接到非主流或旧类型的数据源时,你可能会遇到困难。它还具有较差的GC,并且没有内核线程,这两者对于高性能平台都非常重要。主要的代码库MRI相当粗糙,有许多聪明的模糊编程技巧,比如宏,还有一些编写得很糟糕的gc部分和线程调度。同样,这是一个非常年轻的平台,非常迅速地流行起来

其次,虽然ruby语言和rails的思想/范式都是非凡的,但ruby和rails平台却不是。ruby和rails中都有很多非常丑陋的东西,与其他平台php/asp/jsp的正常情况相比,部署解决方案处于黑暗时代

被指控在这里乱逛,所以我会 我有点害怕。由于线程模型,Rails无法同时处理请求,除非您启动Rails应用程序的多个完整实例。要做到这一点,您有两种选择,一种是相对年轻且仍在开发中的passenger mod_rails,另一种是经过测试的apache负载平衡器,其背后有多个mongrel实例

不管是哪种方式,仅仅生成worker的能力的缺乏意味着你需要运行5-10个完整的应用程序实例,这会产生非常大的开销,每个应用程序的开销很容易达到300-500兆欧,具体取决于你的gems和你的应用程序有多大。正因为如此,为rails服务所需的基础设施比大多数其他东西要复杂得多

话虽如此,情况一直在好转,乘客现在可以使用了,这已经不是我最后一次需要部署rails应用程序了。如果rails在接下来的几年里没有赶上,我会非常惊讶

此外,rubinius/jruby正在以正确的方式做事,并且正在以很快的速度前进。如果MRI在未来几年内被放弃,转而支持主流rails工作的其中一种实现,我不会感到惊讶。

编辑:Matt优雅地修改了他的答案:我删除了自己的评论,指出了他已经修复的东西

是的,Ruby肯定有一些缺点。绿色的线是一个巨大的。但正如马特所说,事情正朝着更好的方向发展

其他的帖子都是关于钱的。非常简单的CRUD应用程序最适合rails,不过您也可以在Ruby中尝试其他提供更大灵活性的框架

这里有一个很好的例子,我可以添加一个不使用rails的客观例子:

编辑:Matt很有品味地修改了他的答案:我已经删除了我自己的评论,指出了他已经解决的问题

是的,Ruby肯定有一些缺点。绿色的线是一个巨大的。但正如马特所说,事情正朝着更好的方向发展

其他的帖子都是关于钱的。非常简单的CRUD应用程序最适合rails,不过您也可以在Ruby中尝试其他提供更大灵活性的框架



这里有一个很好的例子,我可以添加一个不使用rails的客观例子:

Downvote。这个标题纯粹是煽动性的。更不用说它比问题本身还要长。?这似乎是个明智的问题。投反对票。这个标题纯粹是煽动性的。更不用说它比问题本身还要长。?似乎是个明智的问题。嗯,黑暗时代的部署解决方案?罗尔沃特?有用于部署到服务器的capistrano和用于运行应用程序的passenger。实际上,你甚至不需要使用capistrano,只需上传就可以了。有一点,我实际上并不是在玩游戏,我说的话确实有原因;-是从1.9开始的新Ruby VM,它对速度进行了一些改进。它甚至开始改进线程!Rails是线程安全的。我认为你的信息有点陈旧和/或道听途说。@Chuck:你说得对,我是在利用旧信息。我在那一部分所说的大部分仍然有效,所以我只是将其改写为更准确的,在黑暗时代的部署解决方案?罗尔沃特?有用于部署到服务器的capistrano和用于运行应用程序的passenger。实际上,你甚至不需要使用capistrano,只需上传就可以了。有一点,我实际上并不是在玩游戏,我说的话确实有原因;-是从1.9开始的新Ruby VM,它对速度进行了一些改进。它甚至开始改进线程!Rails是线程安全的。我认为你的信息有点陈旧和/或道听途说。@Chuck:你说得对,我是在利用旧信息。不过,我在那一部分所说的大部分内容仍然有效,所以我只是将其改写为更准确的内容。我对我的回答作了一些阐述。我在动态语言方面没有专业经验,但这并不意味着我有偏见或错误。我最近对rails做了大量的研究,希望能更具体地说明这一点。不过,这基本上是典型的火焰战,我听腻了。你们阵营的微软/太阳/静态语言的人说,我们阵营的每个人都在搞砸,我们还有很长的路要走,哈哈。这让我很恼火,因为我看得太多了。尽管如此,你所说的事情是对的,虽然我认为支持你论点的外部链接/底层代码片段会让它看起来更像是一篇经过充分研究的帖子,而不是一篇文章,告诉其他人你学到了什么。实际上,我是那种比我的阵营更关注我如何获得报酬的人;-我曾经因为发表这样的评论而陷入困境,但通常通过表明我的观点是有根据的来摆脱困境。实际上,我提出这些观点是为了弄清ruby神话到底是真是假
四处飘荡。很难指出具体的事情,因为这是一个月或两个月的阅读和听播客/看会议录像的结合。我在动态语言方面没有专业经验,但这并不意味着我有偏见或错误。我最近对rails做了大量的研究,希望能更具体地说明这一点。不过,这基本上是典型的火焰战,我听腻了。你们阵营的微软/太阳/静态语言的人说,我们阵营的每个人都在搞砸,我们还有很长的路要走,哈哈。这让我很恼火,因为我看得太多了。尽管如此,你所说的事情是对的,虽然我认为支持你论点的外部链接/底层代码片段会让它看起来更像是一篇经过充分研究的帖子,而不是一篇文章,告诉其他人你学到了什么。实际上,我是那种比我的阵营更关注我如何获得报酬的人;-我曾经因为发表这样的评论而陷入困境,但通常通过表明我的观点是有根据的来摆脱困境。事实上,我提出这些观点是为了弄清ruby神话中到底什么是正确的,什么是错误的。很难指出具体的事情,因为这是一两个月的阅读和听播客/观看会议录像的结合。