Grails在Google App Engine上还有前途吗?

30

为了在Google的AppEngine上创建一个Web应用程序,我正在寻找一个框架。在我的研究过程中,我遇到了Groovy和Grails。作为Java类型的人,我更喜欢类似Java的东西而不是Python框架(如Django)。因此,我收集了一些信息并决定Groovy和Grails都适合我。

在深入探究Grails与AppEngine的组合时,我发现Grails GAE插件已经两年没有更新了,在其网站上写道它“适用于最新的Grails 1.3 RC2版本及以上”[3]。截至今天,最新版本的Grails是2.1.1 [4]。因此,我想知道该插件是否仍在维护中。当然,该插件可能非常好,不需要维护 - 但根据我的经验,这看起来真的像是该插件已经死亡。
因此,我想知道是否有人正在使用(或最近使用)AppEngine上的最新版本Grails,以及它是痛点还是一个稳定的框架。
如果您认为在App-Engine上的Grails已经死亡,我真的很想知道替代方案,请告诉我是否在AppEngine上使用过框架,您使用了什么框架以及使用体验如何。
我需要用的框架应该:
  • 类似于Java或者是Java框架
  • 能够在Google AppEngine上运行
  • 提供一定程度的脚手架机制 (我在编写能够生成代码的程序时很懒)
  • 通过提供一个稳定的NoSQL持久层来简化SQL数据库处理的繁琐工作
请注意,在回答中不要贴任何其他Stackoverflow文章的链接。我已经在Stackoverflow上进行了调查,但是没有找到最新的信息。如果我错过了什么,请告诉我,但是请不要贴超过一年的旧文章链接,这对我并没有帮助。
非常抱歉文字有点长,如果需要可以缩短。感谢您提供的帮助。
5个回答

23

我使用上面提到的插件在App Engine上尝试了Grails。我写了一系列关于此的博客文章。我认为Grails App Engine插件已不再得到积极维护。

我个人转而使用Gaelyk,它是一个用Groovy编写的轻量级Web工具包,适用于App Engine,应该能够满足您的所有需求。


1
我一定会看看Gaelyk... 我记得2009年Google I/O上的springsource人员也提到了它。 - konqi
1
好的,我看了一下Gaelyk,尽管它看起来比Grails的GAE插件更有活力,但似乎没有像Grails(没有AppEngine)那样受到关注。 - konqi
1
Grails不是GAE的好选择。AppEngine不喜欢启动时间慢的应用程序,这就是为什么Gaelyk是更好的选择。 - Rick Mangi
您可以通过指定空闲实例数(付费功能)预热请求来优化此行为。 - Benjamin Muschko
1
我接受你的答案作为最佳答案。然而,我会授予Matt奖金,因为他努力发布链接证明GAE Grails插件已经死亡。谢谢你的帮助! - konqi
所以我仔细研究了Gaelyk。但看起来它和Grails插件一样已经死了。自2009年以来,有7个Gaelyk插件,其中没有一个是正式版,看起来它们仍在维护中。 - konqi

12

Grails的App Engine插件尚未更新至2.X。Graem Rocher的公告可以在此处找到。

目前,如果您尝试在2.1.1上运行应用程序,Grails会抛出错误。关于此问题已提出此处


2
谢谢你澄清这个问题。所以Grails GAE插件官方上已经停止支持了,或者至少不再得到Grails团队的支持。 - konqi
听起来他们想要有人帮助将其更新为Grails 2.x,并且会很高兴拥有它... - kenyee

2

我很久以前尝试过在Google App Engine上使用Grails。正如之前的回答所述-目前没有该插件的版本。但是,如果您考虑这个选项,请尝试使用CloudFoundry服务。它与Grails完全兼容。


2
的确如此,但CloudFoundry.com处于测试阶段,虽然目前是免费的,但它将成为一项付费服务,而且没有提供任何有关定价模型的信息。这两个论点在生产环境中都是不可接受的。它可能会成为一种选择,也可能不会。无论如何:感谢您的贡献。我在阅读了您的答案后查看了CloudFoundry。遗憾的是,我不能将其视为替代方案。 - konqi
1
你指出了正确的事情。但以Gmail为例子。它已经处于beta阶段很长时间,甚至在那时仍然击败了大多数其他网页邮箱。我并不想说服你,因为我自己并不是CloudFoundry的重度用户,但即使使用Grails 1.3.x,我也必须放弃许多Grails好东西,才能使应用程序兼容Google App Engine。 缺乏定价计划肯定是一个缺点,但我相信CF会提供一些“入门”的免费服务,并在升级时收费。 然而,像往常一样,任何不确定性都不受项目欢迎。 - topr
1
非常感谢您的额外输入。我同意上面的所有内容。CF可能是一个很好的服务,在测试版之后仍将如此。然而,我不愿意承担这些不确定性的风险。此外,该项目将依赖于一些Google服务,因此我认为使用AppEngine是个好主意……或者说我仍然认为是这样,但我开始怀疑了... - konqi
您计划使用哪些谷歌服务?它们是否特定于App Engine? - Benjamin Muschko
1
文档/电子表格、一些数据存储,可能包括 Drive、Gmail 和日历。这些应用我以前可能都可以从 AppEngine 外部访问。我希望这个应用程序能够深度集成到 Google 应用程序中,因此使用 AppEngine 是有道理的。 - konqi
你也可以使用CloudBees代替CloudFoundry。他们已经有了一个定价模型,而Dev@cloud对于小型项目是免费的... - rdmueller

1

该教程解释了如何在App Engine灵活环境上设置Grails。灵活环境在我最初提问时并不存在。如果存在,我会将灵活环境从问题中排除。将Grails放入Docker容器中似乎并不是一个大挑战。 - konqi
好的。你在GAE标准环境下运行grails有成功吗?我没有,但如果你成功了,我很愿意交流一下笔记。 - Arunabh Das
很遗憾,但自那以后我对Grails和Spring Boot的理解有所增加。今天我不会尝试在标准环境中使用它,因为Grails有一些依赖关系,使得实例的启动需要很长时间。我已经在非GAE项目中使用过Grails,但我不认为它是在GAE上的正确工具。然而,在灵活的环境下,它应该是可以的。 - konqi

0
考虑一下Play Framework,它是一个适用于Web应用的轻量级框架。

Play Framework对Google App Engine也没有很好的支持。GAE Java Runtime的一个要求是必须是一个servlet。Play框架不适用于Java Servlet。 - Handol Park

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接