我希望在Rails上试用JRuby和JRuby.我很难找到关于JRuby on Rails和Ruby on Rails的区别的信息.

我需要注意的区别是什么?

推荐答案

JRuby是在JVM上运行的Ruby实现,而Matz的Ruby是C实现.

需要注意的关键功能包括:

  1. JRuby运行在Java虚拟机上,它要么被编译,要么被解释为Java字节码.
  2. JRuby可以与Java代码集成.如果你有Java类库(.jar),你可以通过JRuby在Ruby代码中引用和使用它们.在另一个方向,您也可以从Java内部调用JRuby代码.JRuby还可以使用JVM和应用服务器功能.
  3. JRuby通常托管在Java应用服务器中,比如Sun的GlassFish,甚至Tomcat web服务器.
  4. 虽然不能将原生Ruby gems与JRuby结合使用,但大多数流行的Ruby库都有JRuby实现.

JRuby wiki上还列出了其他差异:

Ruby-on-rails相关问答推荐

active_storage.resolve_model_to_route的不同值代表什么意思?

Rails 使用多个外键创建/构建

使用嵌套属性时如何自动将父 ID 分配为外键?

组织和/或存储我一直在 RSpec 中使用的模拟对象的最佳方式是什么?

Rails 7 - has_many_attached 在加载新附件时删除旧附件

在 Rails 6.1 升级后,作业(job)规范使用 Minitest::UnexpectedError 包装错误

URL 中的 Rails slugs - 使用 Active Record Model Post 的 Title 属性而不是 ID

如何在 to_json 中获取回形针图像的 url

Ruby on Rails 中的消息队列

Rails:删除级联与依赖销毁

从 before_action 中排除控制器

Rails:仅当值存在时如何验证格式?

如何获取包含表的列名的数组

如何拯救 OmniAuth::Strategies::OAuth2::CallbackError?

按周/月/等和 ActiveRecord 分组?

设计/Rails - 如何删除特定的 Flash 消息? (登录成功)

反编译开发assets资源 管道

向 Rails 模型添加外键

在任何来源中都找不到 thread_safe-0.3.0

rails 3,如何在 Settings.yml 文件中使用 ENV 配置变量?