gpt4 book ai didi

ruby - 将 JRuby 用于 Ruby Web 应用程序?这值得么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:37:34 25 4
gpt4 key购买 nike

背景:我正在用 Ruby(不是 Rails)编写一个“标准”(没什么特别的)网络应用程序,我需要开始考虑部署。

所以我一直听到很多建议使用 JRuby 来部署 Ruby Web 应用程序,无论您是否真的需要 Java 库。这有多真实?是否值得仅仅为了速度而使用 Java 实现?这样做我还能得到什么吗?我会遇到任何问题吗?

PS:我不太了解 Java,所以“你可以用 Java 编写它的一部分”并不是很有帮助。

最佳答案

JRuby 是最完整的 ruby​​ 实现之一(还有很多其他实现,例如 IronRuby、Maglev、Rubinius、XRuby、YARV、MacRuby)。它非常全面,因此,除非您使用使用 native C 代码的 gem,否则您很可能在兼容性方面很好。

JRuby 比实际的 C 实现要快一点,但它支持实际的线程,而官方实现在获得它方面有点挣扎(它仍然使用 Green Threads )。使用 JRuby 中的 Java 线程非常简单,尽管它需要您将代码与 Java 耦合(虽然有一点 DI ,但这种耦合只会发生一次)。

另一个好处:运行时工具。 Java 作为一种平台,而不是一种语言,具有很多运行时工具来帮助您诊断问题和检查应用程序的状态(分析器、JConsole 等)上)。

Twitter工程师还提到,Ruby VM 有点难以成为长期存在的进程的环境,而JVM 在这方面非常擅长,因为它在过去十年中为此进行了优化 em>.

Ruby最近也出现了一点安全问题,但没有影响到JRuby的实现。

另一方面,您的项目需要更多工件(JVM、JRuby jar 等)。如果您使用的应用程序将长期存在,并且您想要更好的运行时支持,那么 JRuby 可能是一个很好的选择。否则,您可以放心地等到需要这些东西时再真正采取行动(很可能会顺利进行)。

关于ruby - 将 JRuby 用于 Ruby Web 应用程序?这值得么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/928739/

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