思考使用express.js而不是Ruby on Sinatra?

我正在开发一个社交应用程序,并考虑使用express.js / nodejs而不是我最初的select,Sinatra / Ruby。

我最担心的是Ruby中可用的开源项目,以帮助快速完成任务。 第二个主要问题是express.js的稳定性/成熟性和完整性。

任何反馈意见,欢迎。

希望这个答案会帮助你。 我本周末试图做类似的事情。 作为Rails的长期支持者( Rails 3.2.1相当不错,我决定在本周末跳槽并转向Nodejs ,作为一个普通的JavaScript编码器,我认为这会很有趣,也很有挑战性。

我甚至从Peepcode购买了Nodejs截屏video。 所以,我坐下来,启动Textmate,得到一个简单的nodejs项目,然后用Twitter Bootcamp调整,应用程序开始看起来惊人,恕我直言。

然后,我开始添加数据库支持。 然后BAM。 事情打我快。 我必须find一个非阻塞的Postgresql驱动程序。 精细。 find一个。 什么? 我必须手动创buildSQL查询? 但是我被宠坏了ActiveRecord? 好的,似乎有节点的AR型框架。 但是我使用的教程是Express。 但是等等,Nodejitsu推荐熨斗。 好吧,熨斗看起来很有前途。 但是等等,我开始看Flatiron用于数据pipe理的例子。 他们称之为“资源丰富”? 我发现了一个关于狼吃松鼠的数据pipe理的例子吗? 哪里has and belongs to many例子? 我如何告诉Flatiron我的Notes模型是多态的,它属于Trips and Expenses

我确定他们在外面,但我找不到。

但是它变得更好了。 射击。 我以为我讨厌迁移,直到我不得不启动pgAdmin和/或Navicat手动创build我的数据库。 然后,我不得不手动创build表…哦废话。 我搞砸了pgAdmin的一列。 但它不会让我改变它! 所以我不得不重新整个表的创build。 啊。 人,我缺less发电机和rake db:migrate在这一点上!

然后,我意识到我花了整个周末(呃,我花了很less的时间编码),所有我必须显示它是一个真棒静态HTML页面,是不起作用的。

要点是,如果你擅长Rails,Nodejs将会是一个重大转变。 也许你喜欢这个? 也许不会。

在周末结束时,我意识到了一些事情。 我的新应用程序将在UI上沉重,并将发送JSON来回/后端服务器。 Rails提供了一个很好的工具带来做到这一点。 Rails说JSON非常开心。 事实上,我的应用程序将是通过nginx提供的静态HTML页面,而Rails将用控制器驱动数据层。

我的build议是学习Express / Nodejs,如果你想在每一个开发过程中从头开始。 如果你想build立你自己的查询string。 如果你想手动做所有的事情。 也许你喜欢那样。 也许你有想法让世界变得更容易。 也许你想使用Tower.js或Flatiron.js或其他Nodejs框架。

或者,也许你是像我一样,你有一个该死的应用程序,你想完成。 然后使用Rails。

关于这个话题已经有了几个(类似的)问题:

  • node.js可以取代Ruby吗?
  • 未来,node.js能否完全取代Ruby on Rails?
  • 什么时候使用node.js vs sinatra vs rails?

我最担心的是Ruby中可用的开源项目,以帮助快速完成任务。

这是因为Ruby比node.js更早。 我认为比图书馆#更重要的是它们中有多less是用非阻塞的风格build造的。 如果你比较Ruby和node.js,那么后者中的大部分模块都是使用这种风格本身构build的,因为它是node.js的本质。

第二个主要问题是express.js的稳定性/成熟性和完整性。

虽然快递相对于RoR或Sinatra来说相对年轻,但已经有几个在快递上成功build立的应用程序 。