我应该在Ruby on Rails或Node.js(meteor)中创build我的下一个应用程序吗?

我是冲突的。 在过去,我还没有使用Ruby on Rails或node.js(meteor.js / express.js),但主要使用PHP。 我逐渐远离它,但不知道我是否应该专注于与节点或ruby更多的工作。 任何想法/意见,如果我开始哪种语言将是未来或更突出,并更容易发展有成效? 我很抱歉,如果我似乎有点匆忙,但我正在寻找一般的networking应用程序,可以部署到移动以及。 我看到,meteor.js内置了这个function…但我显然是开放的重新编译轨道应用程序的ruby在iOS / Android的工作。 请不要批评我,我刚刚开始与这两个!

谢谢!

我会把它放到你想达到的目标上。

如果您的search引擎优化坚持RoR。 meteor还很年轻,在SEO方面并不可靠。 有一个选项可以使用PhantomJS来渲染网页,但是它不是很可靠,PhantomJS会经常崩溃。 另一种方法是服务器端渲染,但尚未正式支持。

这就是说,如果你的目标是制作一个公司的networking应用程序,或移动应用程序或其他任何东西真的meteor是肯定的路要走。

由于所有内容都基于一个页面,因此几乎可以实现与RoR相同的应用程序。 Npm包可以在Meteor上使用,也可以在atmospherejs库中使用,这样可以解决大部分限制。

它还表示,它快速在RoR上制作应用程序。 meteor也是如此,因为它更快(我用过)。 由于开发经验也比较顺利

  • 当您更改文件时,热码会重新加载
  • react native数据源(不需要插入ajax / get请求或套接字)
  • 同构代码 – 帮助您使用一个文件而不是ruby服务器文件和js客户端文件创build服务器和客户端数据模型。 相同的文件可以在客户端和服务器上共享
  • 同构的扩展:客户端和服务器之间的数据处理更容易,因为双方都是JavaScript。 没有序列化或反序列化数据来回。 非常有用的date(特别是与其他数据types一样)
  • 易于用户login系统由于气氛包。
  • 由于官方的cordova支持,可以轻松将Meteor应用程序转换为适用于Android或iOS的移动应用程序。
  • 在开发阶段设置数据库没有问题,因为它与每个应用程序的meteor开发环境一起运行
  • 由于免费的meteor deploy基础设施,更容易在协作环境中进行testing(可能认为Heroku在RoR上做的是相同的 – 但是它需要一些SSH密钥的设置,而meteor一个甚至不需要你访问一个网站来设置它)
  • 适用于Windows,Linux和OS X.如果您有团队项目,您可以轻松共享代码。 meteor也自动安装(没有gem install )的包及其依赖关系(yup没有寻找像某些gem头文件的libiconv)。 大多数二进制文件都是在大气层上预编译的。
  • meteor在服务器端没有'callback – 地狱',因为它使用光纤。 所以你可以有asynchronous或同步的代码。
  • build立在NodeJS上,这样您就可以使用NodeJS代码/社区支持,例如meteor应用中的Stackoverflow。 两全其美。

Ruby绝对是很好,干净,易于编写。 meteor也是如此。 RoR更成熟一点,所以更多的IDE支持自动完成。

我认为你应该尝试一下这两种方法,然后select一个对你来说更容易或更自然的方法。 另外,考虑一下,如果你周围有人可以帮助你。

(有一个笑话:最好的Linux发行版是在你最亲密的Linux粉丝朋友的电脑上运行的。)

我必须说Meteor比Rails年轻了很多,这意味着一个更小的社区(但仍然非常活跃和支持)以及更less的开发第三方模块(但是Meteor在Atmosphere上仍然提供了超过4000个第三方软件包)。

Meteor的开发环境非常充实。 另外,像WebStorm这样的工具也支持Meteor。 我个人也为Vim和Sublime Text开发了多个Meteor相关的扩展。

所以我对Ruby On Rails很有偏见,因为我已经开发了一段时间了,但是我相信我有一个很好的理由。

在我解释更多之前,我从来没有在Node.js中开发过,所以我把它们之间的一切都说出来。

首先,在未来的打样方面,RoR已经有一段时间了,并且在Web开发方面拥有一些薪水最高的工作。 Node.js也有高薪工作,但这是相当新的现场,所以RoR赢得高薪工作的可靠性。 RoR也被认为是一个专业,所以需要好的RoR开发者的人数是惊人的。 我一直在我的领域接触,因为我是与我这个年龄有很多经验的RoR开发者之一。 现在,这并没有说明我的技能,但是RoR开发者现在正在追求很多。

其次,RoR是一种编码的乐趣,需要一点点弄清楚,但一旦一切都开始落实,这是多么愉快的工作,真是太神奇了。 另外,RoR是关于deviseRoR方式的,所以一旦你得到了一些项目,代码重用是巨大的。 由于我有多less数据库设置和模型,我现在可以在几个小时内完成一个完整的网站。 这是RoR最喜欢的事情之一。

最后,在线RoR社区正在蓬勃发展。 它已经存在了一段时间,所以有大量的文件,但它也在创业世界获得牵引力,所以它开始变得重要了解一点。 这意味着现在有一个新的RoR开发者浪潮,可能会导致一个已经很棒的框架的一些奇妙的新发展。 只有时间会给出答案。

总而言之,我会build议RoR。

如果你想专注于移动应用程序,我一定会考虑使用MeteorJS。 它与Phonegap / Cordova理想地工作。