Ruby 前端和后端

Ruby both on front end and back end

我正在尝试弄清楚是否可以完全在 Ruby 堆栈上构建 Web 应用程序。

我正在寻找以下架构:

Frontend <--- Websockets with Pub/Sub ---> Backend

最重要的是,我真的很喜欢 Rails 和 "convention over configuration" 的方法。因此,我正在寻找一些 "opinionated" 框架来处理这种情况。

我知道使用 Javascript 堆栈更容易实现。例如使用 Sails.js.

但是,这是实验。所以,我不是在寻找最有效的解决方案。

有人建造过类似的东西吗?什么是一套合理的 libraries/frameworks 来构建类似的东西?

既然你说这是一个实验,我建议你试试 Volt. It uses Opal,它将 Ruby 转录为 JS,并具有 Meteor.js 著名的反应式同步。还有很多 Railisms,你会很快发现自己熟悉的水域。

这两种技术还不完全成熟,但围绕它们进行了大量炒作,它们肯定会在 Ruby 不久的将来发挥重要作用。

如@ndn 所述,Volt is interesting... But, it seems to me that the part I would adopt would be the Opal 前端核心。

Volt 对我来说太固执己见了。

我想把自己的pet项目加到table,Plezi,既可以是一个独立的框架,也可以运行一起在一个Rails ] 使用 Iodine 服务器的应用程序。

我觉得 Plezi 在 'convention over configuration' 和代码自由之间取得了更好的平衡。它通过自动将 websocket broadcasts/unicasts 映射到它们各自的控制器和方法 (broadcast :method, arg1, arg2...) 来管理后端,并自动将 Redis 通道映射到控制器(或全局多播)以便于扩展。

同时,Plezi不为前端做任何事情,也不为前端做任何假设。这是设计使然,既是为了更好的安全性(不自动信任传入的网络数据),也是为了允许各种可能的客户端,例如本机应用程序(iOS、android)、浏览器、脚本等'...这将是 Opal 可以发挥作用的地方(或 RubyMotion)。