我应该在这个网站应用程序中使用Rails或Ruby吗?怎么样?

时间:2010-01-21 19:38:12

标签: ruby-on-rails ruby sinatra drb

我对网络编程非常陌生(或者实际上,它已经很老了,因为我上次与网络混淆时是HTML 1.1),但现在需要快速部署Web应用程序。似乎每次我转过身,都有新的首字母缩略词和技术需要学习(JSON,XMLRPC,GWT,Javascript,Rails等)。

以下是我的应用必须执行的操作:

  1. 给定一个用户名和密码,进行身份验证(很简单,一切都是这样,显然)。
  2. 允许用户上传大量数据进行处理。
  3. 处理该数据。
  4. 允许用户下载已处理的数据。
  5. 我已经有了Java脚本和数据库来处理数据。在一台机器上,我可以运行一系列命令行程序来处理传入的数据块并将结果放回到mysql数据库中。这已经存在并且正在发挥作用。

    我想使用这些现有和经过测试的方法构建此任务的Web前端。我现在倾向于采用这种方法:

    1. 拥有两台计算机,一台数据库计算机和一台Web服务器。如果需要,该方法允许以后的可伸缩性,但也要求我不能假设我用来访问数据并操纵它的程序是本地存储的。
    2. 使用Ruby DRb应用程序创建服务器和客户端。客户端会将数据传递给服务器,服务器又会调用这些应用程序。
    3. 使用其他一些Ruby界面与Web前端的DRb进行交互。
    4. 这是我的问题:看起来大多数用于Web的Ruby应用程序都会自动尝试构建某种本地数据库。我发现的所有Rails tutorials都是从创建自己的数据库并与之交互开始的,这正是我不想做的。

      Rails对我来说是正确的技术还是使用Ruby DRb?我应该探索一些其他技术吗?

      如果Rails或Ruby是正确的东西,我应该看什么?我已经有了Programming Ruby书,并且已经将它用于一些后端内容以及让基本的DRb工作。

2 个答案:

答案 0 :(得分:16)

听起来像Rails可能对你的情况有点重量级。也许Sinatra可能更合适?它是一个超轻量级的框架:一个hello world应用程序可能看起来像:

require 'sinatra'
get '/' do
  "Hello World!"
end

答案 1 :(得分:1)

Rails很好。您可以在本地计算机上使用开发和测试数据库,也可以在远程计算机上使用生产数据库。它不必是Web服务器。获取Agile Web Development with Rails的副本。它会教你所有你需要知道的东西。