kak*_*bei 1 activerecord sinatra padrino ruby-on-rails-3.1
我使用 Rails 编程已经大约 7 个月了。主要是一个管理数据库的应用程序,你知道,清理、更新、删除、查找孤立条目等。
我有一个 API 可以与我们用 PHP 编写的桌面程序进行对话。我们现在发现自己想要将所有内容都转移到 Ruby。该 API 需要快如闪电,并且不会有任何类型的视图或 HTML 页面,它只会通过 JSON 与我们的应用程序通信,发送和接收应用程序将显示和使用的数据。
所以,基本问题是,我应该学习 Sinatra 和 Padrino(使用 ActiveRecord)并用它们构建 API,还是在 Rails 中进行?
如果我使用 Rails,我可以保留很多我拥有的代码,甚至可以使用现有的代码,因为所有表都是相同的(数据库是相同的),只需为 API 编写更多方法。
我认为这样做的缺点是双重的:
学习 Sinatra 和 Padrino 可能需要更多工作,但会带来更清晰的代码和一个用于 API 的单独 Ruby 应用程序,以及另一个用于维护的应用程序,这听起来更好。
但我对Sinatra和Padrino一无所知,占用空间和速度真的比Rails好吗?
我非常感谢那些实际使用过 Rails 和 Sinatra 以及 Padrino 的人对此的意见。
干杯。
Sinatra 和 Padrino 并不自动比 Rails更快。它们只是比 Rails小(并且为开发人员提供了更小、更集中的工具包)。应用程序速度主要取决于您的代码(和算法)。对于优雅、可维护性和其他方面来说通常也是如此。
如果您已经拥有在 Rails 上运行的良好、可维护的代码,那么很可能您应该改进它。通过良好的托管/缓存解决方案使其速度更快,并通过重构保持优雅和可维护。
如今,Rails 和 Sinatra 都为 RESTful Web 服务的开发以及更广泛的无 UI API 的开发提供了非常好的支持。Rails 只是更大,需要更多时间来驯服,但幸运的是,您不必学习和使用所有这些庞然大物来完成您的工作。在 Rails 上运行的应用程序可以像在 Sinatra 上运行的应用程序一样快速且优雅,因为实际用于处理 REST 请求的 Rails 子集与整个 Sinatra 框架一样小而优雅。因此,应用程序速度主要取决于您的代码和托管/缓存选择。
另一方面,无论如何你都应该学习 Sinatra 和 Padrino。这些框架是我见过的两个最优雅、最迷人的软件。他们绝对值得您的关注。请记住,单独使用 Sinatra 通常不足以处理比无 UI RESTful API 更复杂的事情。真正的、成熟的 Web 应用程序很可能需要 Padrino。
归档时间: |
|
查看次数: |
1692 次 |
最近记录: |