适用于Restful API的Rails或node.js.

时间:2011-10-31 18:42:46

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

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

我有兴趣学习Ruby on Rails或Node.js,我还没有使用它们中的任何一个。

哪种语言对我来说更好?

3 个答案:

答案 0 :(得分:12)

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

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

由于您似乎需要数据持久性(您提到访问MySQL数据......),因此Rails可能更容易入门,因为它包含了您在这方面需要的所有内容并且已经设计好了促进这种应用。

如果你真的不需要关系数据持久性,那么Node可能是一个更好的选择,因为它不会让你不知所措并让你决定如何处理事情。重要的是要注意Node是一个比Rails更简单的“框架” - 如果你想要比在Node上运行的Rails更高级但仍然更轻的东西,express是一个很好的起点。< / p>

但是,如果你想尝试Node(我会承认:这很有趣!),完全有可能以一种漂亮的,事件驱动的(非阻塞)方式访问MySQL 。以下是两个有用的模块:

答案 1 :(得分:2)

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

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

您是否希望将这些知识转移到其他工作而不需要增加时间(Rails)?

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

答案 2 :(得分:2)

因此,这个新应用程序只是ASP.NET事物和其他客户端之间的中间人。

在这种情况下,完全使用节点。 Node非常适合作为网络胶水。节点使用IO绑定应用程序(即作为网络中间人)可以很好地扩展。

如果您打算使用节点,那么您可能希望查看express以便更轻松。