【问题标题】:Rails or node.js for Restful API用于 Restful API 的 Rails 或 node.js
【发布时间】:2013-05-07 23:29:25
【问题描述】:

我有一个用 ASP.net 编写的现有网站,我最近全职切换到 Mac(在 Boot Camp 中使用 Windows),并且需要编写一个公共 API 来访问我网站的 MySQL 数据。我主要想使用 API 来构建 iOS 应用程序。

我有兴趣学习 Ruby on Rails 或 Node.js,我还没有使用过它们。

哪种语言更适合我学习?

【问题讨论】:

  • 你想在服务器端做什么?
  • 不确定你的意思。我可以同时访问 Windows 和 Linux 主机,因此两者都适用于操作系统。
  • @spaetzel 确切的意思是——这取决于你实际需要它做什么——因此我的“没有更好,只有更合适”。他们是非常不同的野兽,你问的这两件事。

标签: mysql ruby-on-rails api rest node.js


【解决方案1】:

Rails 是一个相对成熟的基于 Ruby 的 Web 框架,旨在处理关系数据库后端中的对象映射数据持久性。

Node.js 在现场更新得多,与 Rails 不同的是,它是一个更简单的包,它允许服务器端 Javascript 应用程序,这要归功于一个漂亮的紧密的 HTTP(S) API。 Node 应用程序本质上是事件驱动的,它可能适合也可能不适合您的应用程序。

由于您似乎需要数据持久性(您提到访问 MySQL 数据...),Rails 可能更容易上手,因为它包含了您在这方面所需的所有东西,并且经过精心设计为此类应用提供便利。

如果您真的不需要关系数据持久性,Node 可能是一个更好的选择,因为它不会妨碍您并让您决定如何处理事情。需要注意的是,Node 是一个比 Rails 更简单的“框架”——如果你想要一些比在 Node 上运行的 Rails 更高级但仍然更轻巧的东西,express 是一个不错的起点。

不过,如果您想尝试 Node(我承认:这很有趣!),完全可以以一种不错的、事件驱动(非阻塞)的方式访问 MySQL .以下是两个有用的模块:

【讨论】:

  • 我想我可能会选择 Node.js。我 99% 的请求都是只读的,所以我不太担心数据持久性。它看起来确实很有趣。感谢快递的链接,我也去看看。
  • 我很想知道这对你有什么影响;当您遇到问题时,您应该向 cmets 更新您的问题,了解您使用这些 MySQL 模块的经验。干杯!
【解决方案2】:

两者都不是语言;它们是框架。没有“更好”,可能有一个“更合适”(在这种情况下可能不是)。

您更喜欢使用 Ruby (Rails) 还是 JavaScript (node.js) 进行开发?

您是否希望将这些知识转移到其他工作而无需加速(Rails)?

您想学习一些更深奥的、事件驱动的(node.js)吗? (Ruby 有 Event Machine,但 IMO node.js 更进一步。)

【讨论】:

  • @Raynos 够公平的;环境?图书馆?
  • @Raynos Heh,有点罗嗦,但准确;)
【解决方案3】:

所以这个新应用程序只是您的 ASP.NET 和其他客户端之间的中间人。

在这种情况下,完全使用节点。 Node 擅长成为网络粘合剂。 Node 可与 IO 绑定应用程序(即作为网络中间人)很好地扩展。

如果您打算使用节点,那么您可能希望查看express 以使其更容易。

【讨论】:

  • 是的,它是我的网站和其他客户之间的中间人。数据在 MySQL 中,因此 API 根本不需要与 ASP.net 对话。
  • 哦,所以您希望节点与数据库通信。然后你可能想看看 ruby​​ on rails。 Node 更适合通过网络与远程连接进行通信,然后将通用 CRUD 与数据库通信
  • @Raynos:除非它必须是 faaaast。在这种情况下,节点可能会更好。
  • @thejh 不。我的节点上的 MySQL 在我的尸体上。把这个 mySQL 放到 rails 里。
  • @Raynos:你为什么讨厌 node-mysql? :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-13
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
相关资源
最近更新 更多