我是java开发人员,听过很多关于ruby的内容。我真正的问题是我们可以在ruby中开发大规模企业(Web)应用程序吗?因为我听说ruby对小应用程序有好处,但是像java一样,我们无法在ruby中开发大规模的可伸缩(web)应用程序。
答案 0 :(得分:6)
在Ruby中?当然 - 对于“企业”的大多数含义。当你谈论ruby和web应用程序时,很可能你在谈论Ruby On Rails或Merb(从v3.0开始就是同样的事情)。无论使用哪种框架,都可以很好地理解可扩展性的方法。
我怀疑对于使用Java解决方案的给定硬件配置,您可能仍然可以实现更高的吞吐量水平。使用Ruby框架提供解决方案的成本降低可以抵消额外硬件的成本 - 作为一种语言,它通常比Java更简洁。
您需要应用程序的“企业”和“可扩展性”越多,您就越需要努力消除瓶颈 - 就像使用Java应用程序一样。
New Relic在这个主题上有很多有用的项目,而Google搜索“缩放轨道”会产生更多。
答案 1 :(得分:1)
这实际上取决于“大规模”和“企业”的含义。
有一本书“Enterprise Integration with Ruby”介绍了您在企业设置中要做的很多事情。这本书推荐低礼仪解决方案和开箱即用的思维。我喜欢它。
答案 2 :(得分:1)
在“大规模可扩展(Web)应用程序”大小中,您(几乎)总是依赖于数据库扩展和高速缓存,而不是框架本身,因此您使用的语言无关紧要。
答案 3 :(得分:1)
你真的在这里问两个问题:
1)与Java相比,Ruby企业是否已做好准备?
如果需要,Ruby可以使用JRuby访问所有Java库,但Ruby肯定缺乏适当的“纯”Ruby托管应用服务器环境,如JBoss,Weblogic或Websphere。 (Java为+1)
2)Ruby与Java相比如何扩展?
大多数可扩展性与更快地发现瓶颈有关,而在Ruby中,您的开发速度比Java快得多,因此可以更快地达到瓶颈,从而可以更快地优化应用程序。例如,与Java应用程序相比,使用Ruby on Rails应用程序可以更快地优化数据库。 (Ruby为+1)
答案 4 :(得分:0)
是的,这只是谣言。我不会太担心它。它过去常常不那么稳定,但在过去的几年里它已经变得更好了。
答案 5 :(得分:0)
我们在网上找到的大多数答案都是FUD,很难找到适当背景的答案。许多人将他们的马车安置在一个生态系统或另一个生态系统上,并且可以使用他们可以使用的任何逻辑和统计数据来证明他们的决定。你能做的最好的事情就是组建一支聪明/有动力的人,他们会选择最能使他们获得成功的软件堆栈。如果我们看一下过去10年取得很大成功的网站,我们会发现各种语言都是多种多样的。话虽如此,每个创业公司的首要任务,甚至是在大型企业组织工作的时间都是上市时间。虽然许多人正在考虑可扩展性并根据他们的发现采取行动,但是一些使用所谓的低于企业级软件的人正在为市场提供解决方案。如果你有片刻,请查看Paul Grahams的文章。他对这个主题提供了一些很好的见解。他使用Lisp非常成功,现在谁会在这次讨论中考虑到这一点?他在论文中提出的观点是速度和对变化的反应。即使Twitter已经变得流行,它也是Scala和Ruby的混合体。我的感觉是,在硅谷,许多团队都试图只使用一种语言进行交付,而应该发生的事情是使用适合特定团队的语言和手头的问题。如果您正在将产品开发到企业实体中,那么您的软件堆栈将会非常有限,但如果您正在开发面向客户的Web应用程序,那么世界就是您的牡蛎!您想要选择能让您和您的团队尽快从概念走向现实的堆栈!祝好运!。 OVER。