ruby - 使用 Ruby/Sinatra 和 JRuby 或 Scala 构建 REST API

标签 ruby api scala sinatra jruby

我正在构建一个新的 REST API,它将取代现有的 API。较旧的 API 被编写为使用 Java 构建的 SOAP API,这就是问题所在。 大多数数据访问层库都是用 Java 编写的,如果我们可以使用这些库,那将是一笔巨大的财富。

到目前为止,我们的两个选择是:Ruby/SinatraScala/Lift

我们还可以在 Ruby/Sinatra 堆栈上使用 JRuby,以便使用我之前提到的 Java 库。我们主要担心的是 JRuby-Java 库可能不兼容...

您认为最好的方法是什么?

最佳答案

过去 2 年我一直在使用 Ruby,最近尝试使用 Scala 和 Lift 开发一个应用程序。

我放弃了 Scala 而选择了 Ruby,原因如下。

与 Lift 相比,Ruby 社区非常庞大,你基本上可以得到一个 gem 来解决所有问题,有大量的文档和教程,当你遇到麻烦时很容易得到快速响应。 Lift SO 上的此处标签只有大约 500 个问题。

Lift 的处理方式完全不同,除非您已经了解 Scala,否则在掌握它之前会给您带来很多痛苦。

另一方面,Sinatra 非常简单而且显而易见。它很容易与其他基于机架的库集成,并且有大量关于 Sinatra 相关问题的文档和教程。

我不想听起来好像我认为 Lift 很糟糕,但从一开始它肯定要复杂得多。使用 Sinatra 制作原型(prototype)也非常简单,因为您可以将所有内容放入一个文件中。电梯要重得多。

所有这些归结为偏好问题。如果您不惧怕 Scala,请尝试一下 Lift。但是,如果您只想完成工作,Sinatra 会让您头疼的事情少得多。

关于ruby - 使用 Ruby/Sinatra 和 JRuby 或 Scala 构建 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8523628/

相关文章:

javascript - Angular中的http服务发送post数据作为请求正文的键,没有值

json - PlayFramework 2.2 - Scala - 读取混合数组

ruby-on-rails - 在 Windows、CentOS 和 Mint 上安装 Ruby on Rails 时出错

ruby-on-rails - 没有权限。 Rails 无法完成安装

ruby - 如何让 Sinatra 在每次更改后自动重新加载文件?

ruby - 此代码示例中的逗号是什么?

python - Flask - 嵌套的 rest api - 使用 methodview 以外的东西或者我做了一个糟糕的设计?

php - 使用 mailchimp api 发送电子邮件

scala - 从两个列表中创建所有对的列表

scala - 从 Scala 中的 mixin 访问覆盖的方法