我知道这一直是一个热门话题,在论坛中产生了许多火焰战争和部落般的态度。几年过去了,Java已经发展了:我们现在几乎所有的东西都有更多的注释,像Appfuse或Spring Roo等好的脚手架工具等。
我想知道,如果您认为RnR中的开发速度仍然比Java快(这是RnR的主要资产,对于RnR和Java(任何框架)开发了真正的项目)很多人选择它的原因)在开发的第一个月之后
请注意,这不是关于执行速度,可扩展性等其他好处的问题。只有开发速度。
这也不是关于其他替代方案的问题(比如使用JRuby并结合两个世界,或Grails)这只是关于Java和Ruby。
本主题的诚意非常受欢迎:大多数博客似乎都是这两种技术中的顽固粉丝。
感谢您的任何见解!
答案 0 :(得分:4)
如果你不必考虑特定的Java框架就必须比较“Ruby on Rails”(一个特定的框架)和“Java”(一种通用的编程语言),这似乎是一个非常苹果和橙子的比较。例如,Grails在使用的概念和术语方面与Rails非常相似;但你明确地说这不是一个关于例如Grails,关于Java和Ruby。但是看起来你不仅仅是指Ruby这种语言,就像你在其他地方特别提到Ruby on Rails一样。
就开发速度而言,我会说在Ruby on Rails和Grails之间没有多少选择,因为它们都允许类似的快速开发。
更新:您说“Java框架和工具是免费的”,就好像其他人没有。但Groovy和Grails可以在开源许可下获得,也可以免费下载,AFAIK也可以免费下载啤酒/演讲。 Groovy也可以被视为Java之上的框架,因为您可以从Groovy中自由调用任何Java代码。
另一个有趣的平台是Django,它在Jython上运行,Jython在JVM上运行。 Django绝对提供高生产力和快速开发,Jangthon上的Django提供了在JVM上运行的功能。您是否也会对此进行折扣,因为它基于Python而不是Java? Grails和Django对纯Java框架的最大生产力影响是它们基于动态语言。如果你坚持使用SpringSource提供的Java + Java语言框架,那么你会失去Python和Groovy提供的很多敏捷性,尽管如果你想沿着那条路走下去,Spring也有很好的框架。
答案 1 :(得分:3)
您的问题的答案取决于所涉及的应用程序的复杂性以及所涉及的开发人员的知识;具有丰富Java知识的开发人员在Ruby应用程序上工作的速度要慢得多,反之亦然。
RnR的一个卖点是开发应该更快,因此在不考虑影响您的决策的所有其他变量的情况下,询问哪一个更快是一个加载的问题。 Java开发可能会有更高的开发成本,但人们有理由承担这些成本。
不应使用您利用的工具,因为如果开发与要求您的要求相冲突,则“更快”或“更容易”。
答案 2 :(得分:0)
Wicket或Play可能会将“直接java +某些框架”更接近RoR。