最近,我遇到了Decaf。该实用程序将 Ruby 引入浏览器。基本上,据我阅读和理解,Decaf 在 Webkit 上有很多包装函数,可以让你操纵和玩耍它,而不是使用 Javascript。
为了实现在浏览器中安装 Ruby 的目标,已经进行了多次尝试。我知道的此类项目曾经是Opalrb。
但是,这些是否适用于较旧的浏览器。还是现有的?移动的?那些不使用 Webkit 的浏览器呢?
PS:我没有尝试过任何一个库
Decaf 不是图书馆,几乎可以肯定不是你要找的。Decaf 在浏览器级别为 ruby 提供本机支持,因此需要您的最终用户也安装 decaf。它也仅适用于 Mac。把它想象成一个新的浏览器(尽管是一个 webkit 分支),它将 ruby 视为一等公民。
Opal 是一种编译器,可将 ruby 代码(的子集)编译为可在所有浏览器中运行的 javascript。另外,蛋白石具有 jquery 的绑定和一个 mvc 框架,以简化开发。因此,如果您期待为大众创建 Web 应用程序,Opal 是您的最佳选择。
为了完整起见,我应该提一下,有许多比 Opal 更早的学术/实验项目都试图做类似的事情,例如。Hotruby、RubyJS 等。Opal 比这些项目开发得更加积极,并且在实际场景中投入了大量精力进行优化。
Decaf 是一个新项目,它嵌入了 ruby,并为 ruby 中的浏览器和事件提供 javascript 等效绑定。
它不适用于较旧的浏览器。
Opal 将 ruby 编译为 javascript 然后运行它,但 decaf 本地运行。