【问题标题】:Node.js/Express.j or Ruby on Rails for an ABSOLUTE beginner [closed]绝对初学者的 Node.js/Express.j 或 Ruby on Rails [关闭]
【发布时间】:2013-02-13 01:06:38
【问题描述】:

我曾向question previously 询问有关使用 Javascript 或 Ruby on Rails 开发 Web 应用程序的问题,并从 maerics 那里得到了一些非常好的建议,这些建议基本上归结为 Javascript 用于前端/小型应用程序,RoR 用于服务-side/更大的应用程序(Groupon 范围)。

然而,经过一番挖掘,我发现了 Node.jsExpress.js 所以我的决定基本上回到了第一点。

我正在寻找一种可以用来将想法带到功能阶段的语言(同样,范围类似于 Groupon 或 Twitter)。我是一个绝对的初学者。我知道 HTML/CSS 和一点 jquery,但这就是我对网络技术的了解程度。

我听说 RoR 很容易学习,或者至少很容易上手,并且有很多社区/支持。但是 Javascript 无处不在,它不仅可以用于大型 Web 应用程序(如果我使用 RoR,我无论如何都会使用它),尽管它要复杂得多。鉴于我在这两个方面都没有经验,我想我现在应该选择一个,并在接下来的 6 个月内坚持下去,看看我会怎么做。

但是谁能推荐哪一个?

【问题讨论】:

  • Javascript 可用于客户端和服务器端。如果你懂一点 javascript,那么 node.js 肯定很容易学习。
  • 此时选择ror为企业级应用。两三年后,节点会是最好的

标签: javascript ruby-on-rails node.js express


【解决方案1】:

当您在上一个问题中询问 Javascript 和 RoR 时,您实际上询问了 Node.js 和 RoR。

如果您要构建商业/企业级应用程序,请坚持使用 RoR。有更多的资源、更大的社区、相对稳定的版本,你可以很容易地找到具有 RoR 经验的优秀开发者。

Express.js 就像 Ruby 的 Sinatra。两者都不像 Rails 那样先进,更喜欢更“基本”并提供最小的功能集,而不是像 Rails 那样尝试成为“一次性”的框架。

现在,Node.js 正在迅速改变它的 API,仍然没有达到版本 1 并且很难找到开发人员(你经常让人们声称他们知道节点并且有 1 年的经验,而实际上他们的意思是他们有使用客户端 javascript 的 1 年 exp)。此外,对于 99% 的网络用途,RoR 就足够了。大多数人只将 Node 用于他们的宠物项目,用于测试下一代超级动态接口或 websocket 与 Socket.io 的集成。如果您只是想为商业目的构建应用程序,请使用 RoR。

至于难度,刚开始时,Rails 会有点神奇,它在后台做了很多事情,做一些没有教程的事情会有点困难。但是看看一些流行的 gem 的源代码,甚至是 rails 本身,你很快就会跟上进度。 Ruby 是一门非常简单和优美的语言,您会发现它比 javascript 更简单,而且可能更有趣。

【讨论】:

  • 感谢您的信息!在 StackOverflow 上待的时间不长,但该死的,你们的帮助真是太棒了。我听说 Node/Express 的成熟度是个问题,严重缺乏文档可能会给像我这样的初学者带来问题。我认为让我将其视为理想解决方案的原因是我将学习 Javascript(显然),我只需要一种语言用于前端 后端。使用 RoR,我需要单独学习 Javascript/jQuery 才能与 RoR 的服务器端脚本交互,对吗?
  • 这样想:归根结底,更重要的是知道如何构建/架构/设计应用程序,而不是编码。 Rails 向您展示了一种出色的设计。现在 Node 的好处是只需要掌握一种语言,但是你将不得不在这门语言上有点挣扎。用 javascript 编写大量逻辑意味着处理“回调地狱”,同时学习语言的本质和围绕它构建应用程序是很困难的。
  • 使用 Rails,您可以以正常的命令式风格构建应用程序(这是您的大脑处理逻辑的方式;Node 是异步/函数式风格,对于没有经验的人来说不直观)。另一方面,如果您需要更多交互性,可以集成 Backbone.js 和 Underscore.js,并使用它们来提高您对 Node 的了解。毫无疑问,Node 是 Web 的未来,但这个未来还有很长的路要走,而且它肯定不应该是您开发结构化 Web 应用程序的第一步。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 2011-06-03
  • 2017-07-30
  • 2019-03-17
  • 1970-01-01
相关资源
最近更新 更多