我的公司正在着手启动 圣杯 小路。究其原因,是目前开发商的重心 爪哇 但感觉需要一个 MVC风格的语言 对于一些未来的网络开发项目。就我个人而言,我来自设计/可用性领域,但随着我承担更多的“前端”职责,我开始感觉到需要更深入地学习一门语言,这样我就可以编写一些逻辑,尤其是前端我的用户界面和其他东西的代码。

我一直在努力进入 Python/Django 就我个人而言,但从未投入太多时间。现在我的公司正在“跳入”Grails,我购买了“使用 Rails 进行敏捷 Web 开发(第 3 版 - 测试版)“我开始进入 回报率. 。我还是想学 Python 未来或侧面,但我最大的问题是:

  • 我是否应该学习 RoR,并在我的“组合”中拥有一种更通用的语言,因为我知道我的 RoR 知识也能满足我的 Grails 需求?

-或者-

  • 我是否应该跳过 RoR 并专注于学习我很快工作中需要的 Grails,然后再学习 RoR/Django (Ruby/Python)?

基本上,问题围绕着 Grails 在非公司环境中的有用性以及 Rails 和 Grails 之间的相似之处。(同时试图避免 Python 与 Ruby (on Rails) 的百年讨论:))

有帮助吗?

解决方案

嗯,我不知道该怎么说。有些人可能会因此而攻击我。

语言(Groovy 和 Ruby)

作为一种语言,我认为 Ruby 比 Groovy 更时髦。Groovy 的存在只是为了方便 Java 程序员,因为您不需要学习太多新语法。但总的来说,我认为它不像 Ruby 那么时髦。根据今年 JavaOne 与会者的投票,Groovy 并不是值得学习的 JVM 语言,但 Scala 才是值得学习的语言。除此之外, Groovy 的原始创建者本人对他自己创建的语言没有信心 首先。

社区和职位空缺

至于社区,Grails 社区没有 Rails 那么大,尽管自从被 Spring 收购以来越来越多的人在严肃的应用程序中使用它。与 Grails 相比,Rails 在市场上有更多的职位空缺(也就是说,如果您想投资寻找新工作)。

框架(Grails 和 Rails)

但是,作为一个框架,如果您真正关心可维护性并且需要访问 Java 框架和遗留 Java 系统,Grails 就是您的最佳选择,因为它提供了对 Java 的更清晰的访问。Grails 本身是基于几个流行的 Java 框架(Spring 和 Hibernate)构建的。Rails 本身恕我直言,就像 Ruby 本身一样时髦,但它的时髦会让你失去可维护性。 Matz 本人更喜欢 Merb 而不是 Rails 2 因为 Rails 在 Ruby 之上创建了 DSL,这确实违背了 Ruby 哲学。我认为,因为 Rails 本身是有意见的,反过来,如果您与创建者的意见不同,它可能不符合您的需求。

结论

因此,就您而言,如果您仍然想保住工作,请学习 Grails,因为这是公司的共识(您需要尊重共识)。但是,如果您想在未来获得新工作的机会,也可以花一些时间学习 Rails 和 Ruby。

其他提示

只是一个问题,他们选择 Grails 的原因是因为 Groovy 在语法上比 Ruby 更接近 Java,还是因为他们想要访问 Java?

如果是前者,那么我会说尝试专注于 Grails,因为这就是您将要使用的。如果是后者,您可能想了解开发团队是否愿意使用 JRuby。

我以前从未使用过 Grails 或 Rails,但我以前使用过 Groovy 和 Ruby,而且作为一种语言,我认为 Ruby 更干净、更一致,团队可能更喜欢生产。作为一个平台,Rails 推出的时间更长,也受到了很多关注,所以我认为它是一个更稳定的平台,具有更充实的功能。

JRuby 可以完全访问用 Java 编写的类,所以这就是为什么我会说考虑尝试 Rails。如果在做出决定时考虑它为时已晚,那么我想您可以忽略这篇文章。

基本上,如果您只是想与 Java 挂钩,那么 JRuby 是您应该考虑的一个选择,但如果团队害怕非 Java 之类的语法,也许可以继续保持原样。

我两个都会学。它们都是新兴技术。学习 RESTful 编码对于任何语言来说都是真正的好处。

我在工作中使用 GRAILS,在业余项目中使用 RoR。我可以说 RoR 社区要大得多(我说的是 RoR 与 Grails,而不是 RoR 与 Java)并且非常有帮助。

简短回答:他们很相似......它会伤害什么?

我一直在学习 RoR 和 Grails,后者更容易学习。

这两个框架共享相同的原则(敏捷、kiss、dry、鸭子类型等......),但 Groovy 语法......嗯,简直太棒了,你可以在眨眼间学习和使用它。

我真心觉得Grails 比RoR 有更光明的前景。

PD:以防万一您发现它很有用,我的一所大学正在全职使用 Grails,并且有一个包含一些技巧的博客:

http://dahernan.net/search/label/grails

只需跳过 RoR。类似的东西确实不多(除了名字)

我当然相信,如果您打算使用 Grails 进行认真的开发,那么对 Java 足够熟悉,再加上一些使用动态语言编程的经验就足够了。

仅比较视图(Grails 中的 taglib、RoR 中的 RHTML)和持久性内容(GORM 与 ActiveRecord)在核心上有很大不同,需要花时间学习 RoR 的具体细节。只要深入研究 Grails,您就不会后悔。

编辑:更正了拼写错误。

您应该跳过 RoR 并专注于学习工作中需要的 Grails。

@利维·菲盖拉

一方面,Grails 比 Rails 灵活得多。Rails 很难与遗留数据库一起使用,因为 ActiveRecord 有太多设计约束,许多遗留数据库没有遵循。Grails 等可以使用标准的 Hibernate 映射,它可以适应更广泛的数据库设计。

Rails 社区在宣传 RoR 方面一直非常直言不讳,其结果是人们设定了很高的期望,但并不总能得到满足(程序员的生产力很好,但部署后确保良好的性能并不那么容易)。

Grails 被设计为 Java 的脚本化继承者,而 JRuby on Rails 中使用的 Ruby-Java 集成则必须进行改造。

我建议您坚持使用 Grails;它可能不像 RoR 那样浮华,但它是一个务实的选择;您可以提高生产力并重用现有的 Java 库。

直接跳入 Grails。我确信 Ruby/Rails 很好,但 Groovy/Grails 也很好。我推荐这本书。

http://beginninggroovyandgrails.com

请记住勘误表是在线的。书中有几个错误。

http://beginninggroovyandgrails.com/site/content/errata

另外,请查看创建第一个 Grails 应用程序的 3 分 30 秒演示。

http://grails.org/Grails+Screencasts

本教程将向您展示基础知识。

http://grails.org/Quick+Start

是的,Grails 是正确的选择。RoR 很好,但它将您与 Ruby 生态系统联系在一起。学习新框架或语言的部分工作是学习类库和语言语法。如果您的同事都是 Java 类型,您将更容易获得帮助和支持,因为他们都与您使用相同的语言。

学习一些 Groovy 和 Java 的另一个好处是,像 GWT 这样的 Web 框架将向您开放。Grails 有一个 GWT 插件,作为前端开发人员,您将欣赏它的易用性和跨浏览器兼容性。

此外,至少有一家托管公司提供免费的 Grails 应用程序托管(http://www.mor.ph/)这意味着您可以在付费之前以小数据量构建网站原型。

与 Rails 相比,我更喜欢 Grails,但是学习 Rails 会给你一个更平衡的视角,让你真正开阔眼界,发现 Grails 中可能被忽视的事情。

乍一看,您可能会认为它们是完全不同的故事,因为它们基于极其不同的语言(Ruby 和 Groovy)。

然后,在阅读了几个教程后,您会意识到它们具有相同的原理,脚手架,鸭子类型,..最终实现相同的目标: 使敏捷编程变得可行.

如果您已经熟悉 IoC 和 MVC 等术语,那么您会发现这些选项中的任何一个都易于学习且令人兴奋。

我会说不,我也在学习 Grails,并且我也考虑过这一点,但是仅仅学习 Grails 就相当大了,再加上学习 Groovy(当然很容易,但仍然必须学习它吗?)等等...所以学习 Rails 实在是太多了。

是的,如果我们比较 grails 和 Rails,我会选择 grails(我用 grails 开发了一些内联网应用程序)。

但 Django 优于两者 - 因为 python 是一个完美的选择。

您可能还想看看 克洛尤尔, ,一种刚刚开始流行的 JVM 语言。对于基于 Java 的公司来说,它可能是一个不错的选择,因为它与旧的代码库兼容,并且有很多现代创新。一些优秀的 Web 框架正在出现,包括 康波朱雷.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top