用于Restful API的Rails或node.js

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

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

哪种语言对我来说会更好?

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

Node.js 在场景上更新颖 ,与Rails不同的是,由于HTTP(S)API非常紧密,它是一个更简单的包,允许服务器端的Javascript应用程序。 节点应用程序本质上是事件驱动的 ,对于您的应用程序来说可能是也可能不是理想的。

由于看起来您需要数据持久性(您提到访问MySQL数据…),Rails可能更容易入门,因为它包含了您在这方面需要的所有东西,并且旨在为此提供便利某种应用程序。

如果你真的不需要关系数据持久性,那么Node可能是一个更好的select,因为它可以让你决定如何处理事情。 需要注意的是Node是一个比Rails更为简单的“框架” – 如果你想要稍微高一点但比在Node上运行的Rails轻一些的东西, express是一个很好的开始。

不过,如果你想尝试Node(我会承认:这很有趣!), 完全可以通过事件驱动(非阻塞)的方式访问MySQL 。 这里有两个有用的模块:

  • 节点dbslayer
  • 节点的MySQL

也不是一种语言; 他们是框架。 没有“更好”, 可能会有“更适合”(可能不是这种情况)。

你更喜欢用Ruby(Rails)还是JavaScript(node.js)开发哪个?

您是否想将这些知识转移到不同的工作而不需要加速时间(Rails)?

你想学习一些更深奥的事件驱动(node.js)吗? (Ruby有事件机器,但IMO node.js需要更多一点。)

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

在这种情况下,完全使用节点。 节点是伟大的networking胶水。 节点与IO绑定应用程序(即networking中间人)成比例。

如果你打算使用节点,那么你可能想看看明确 ,以使其更容易。