Google-App-Engine 上的 Grails - 它死了吗? [关闭]
Posted
技术标签:
【中文标题】Google-App-Engine 上的 Grails - 它死了吗? [关闭]【英文标题】:Grails on Google-App-Engine - Is it dead? [closed] 【发布时间】:2012-09-07 23:36:48 【问题描述】:为了在Google's AppEngine 上创建一个 Web 应用程序,我一直在寻找一个框架。在我的研究过程中,我遇到了 Groovy 和 Grails。我是一个 Java 类型的人,所以我更喜欢 Python 框架之上的类似 Java 的东西(比如Django)。所以我收集了一些信息,并决定 Groovy 和 Grails 都符合我的喜好。
在尝试结合 AppEngine 更深入地研究 Grails 时,我发现 Grails GAE Plugin 在两年内没有更新,并且在网站上它说它“适用于最新的 Grails 1.3 RC2 及更高版本”[@ 987654325@]。 Grails 的最新版本(截至今天)是 2.1.1[4]。所以我想知道插件是否仍在维护。当然,该插件可能非常好,它不需要维护 - 但根据我的经验,这真的看起来插件已经死了。
所以我想知道是否有人目前正在使用(或最近使用过)AppEngine 上的最新版本的 Grails,以及它是否是指尖上的痛苦或可靠的框架。
如果您认为 App-Engine 上的 Grails 已死,我真的很想了解替代方案,所以请告诉我您是否在 AppEngine 上使用过框架,您使用了什么以及体验如何。
为了更准确地说明我的要求;我想使用的框架应该
类 Java 或 Java 在 Google AppEngine 上运行 有一定程度的脚手架机制(我真的懒得写容易生成的代码) 通过提供可靠的 NoSQL 持久层消除使用 SQL 处理数据库的痛苦在您在答案中链接任何其他 *** 帖子之前,请注意,在提出此问题之前,我已经对 *** 进行了研究,遗憾的是我没有找到最新信息 - 当然我可能忽略了一些东西,但请不要链接超过一年的文章,它在这里没有帮助。
抱歉,文字太长,如果您喜欢并认为有必要,请缩短。
提前感谢您提供有用的答案。
【问题讨论】:
【参考方案1】:我使用上面提到的插件在 App Engine 上试用了 Grails。我写了一个series of blog postings about it。我认为 Grails App Engine 插件不再得到积极维护。
我个人切换到Gaelyk,这是一个用 Groovy 编写的用于 App Engine 的轻量级 Web 工具包。它应该满足您的所有要求。
【讨论】:
我一定会看看 Gaelyk...我记得 2009 年 Google I/O 上的 springsource 家伙也说过一些关于它的事情。 好的,所以我看了一下 Gaelyk,虽然它看起来比 Grails 的 GAE 插件更活跃,但它似乎不像 Grails(没有 AppEngine)那样受到关注。 Grails 不是 GAE 的好选择。 AppEngine 不喜欢缓慢的启动时间,这就是为什么 Gaelyk 是更好的选择。 您可以通过指定number of idle instances (paid feature) 和warmup requests 来优化此行为。 我接受您的回答作为最佳答案。然而,我将奖励马特奖金,因为他努力发布链接以证明 GAE Grails 插件已死。感谢您的帮助!【参考方案2】:适用于 Grails 的 App Engine 插件尚未针对 2.X 进行更新。 Graem Rocher 的公告可以在here
找到当前,当您尝试针对 2.1.1 运行应用程序时,Grails 会引发错误。已提出与此相关的问题here
【讨论】:
感谢您澄清这一点。所以 Grails GAE 插件正式死了,或者至少 Grails 团队不再支持。 听起来他们希望有人帮助为 Grails 2.x 更新它,并且很乐意拥有它...【参考方案3】:我很久以前就用 Google App Engine 尝试过 Grails。正如之前的答案所述 - 没有当前版本的插件。但是,如果这是您可以考虑的选项,请尝试 CloudFoundry 服务。它与 Grails 完全兼容。
【讨论】:
确实如此,但是 CloudFoundry.com 处于测试状态,虽然它现在是免费的,但它将成为一项付费服务,并且没有提供有关定价模型的信息。这两个论点对于生产环境都是不可接受的。它可能会或可能不会成为替代品。无论如何:感谢您的贡献。阅读您的答案后,我确实查看了 CloudFoundry。可悲的是,我不能将其视为替代方案。 你指出了正确的事情。但是以gmail为例。它多年来一直处于测试阶段,即使在那时也击败了大多数其他 www 邮箱。我不是想说服你,因为我自己不是 CloudFoundry 的重度用户,但即使使用 Grails 1.3.x,我也不得不留下许多 Grails 的好东西,以使应用程序与 Google App Engine 兼容。缺乏定价计划肯定是一个缺点,但我相信 CF 会留下一些“入门”免费服务,并将收取扩大规模的费用。但是,与往常一样,项目不欢迎任何不确定性。 非常感谢您的补充意见。我同意以上所有观点。 CF 可能是一项很好的服务,并且在它退出测试版后将继续如此。但是,我不愿意承担这些不确定性的风险。此外,该项目将依赖一些谷歌服务,所以我认为使用 AppEngine 是个好主意......或者说我仍然认为它是,我开始怀疑它...... 计划使用哪些 Google 服务?它们是 App Engine 特有的吗? 文档/电子表格、一些数据存储、可能是云端硬盘、Gmail 和日历。我可能可以从 AppEngine 外部访问所有这些(就像我之前所做的那样)。我希望该应用能够深度集成到 Google Apps 中,所以我认为使用 AppEngine 是有意义的。【参考方案4】:2017 年更新:Grails 3.2.9 有一个新教程
http://guides.grails.org/grails-google-cloud/guide/index.html
【讨论】:
本教程介绍了如何在 appengine 柔性环境中设置 grails。我最初提出问题时不存在灵活的环境。如果有的话,我会从问题中排除灵活的环境。将 grails 放入 docker 容器中听起来并不是什么大挑战。 很公平。您在 GAE 的标准环境中运行 grails 是否成功?我没有,但如果你愿意的话,我很乐意交换笔记。 很遗憾,没有,但从那以后我对 Grails 和 spring boot 的理解有了一些增长。我今天不会在标准环境中尝试这个,因为 Grails 有一些依赖项,这使得实例的启动需要很多时间。我在非 gae 项目中使用过 Grails,但我认为它不是 gae 的正确工具。但是在灵活的环境中应该没问题。【参考方案5】:考虑Play Framework 一个轻量级的Web 应用程序框架。
【讨论】:
Play Framework 也不能很好地与(或支持)Google App Engine 配合使用。 GAE Java Runtime 的要求之一是它必须是一个 servlet。 Play 不适用于 Java Servlet。以上是关于Google-App-Engine 上的 Grails - 它死了吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
google-app-engine:google api python客户端hello world中的ImportError httplib2
google-app-engine 是不是有“required_admin”方法
攻防世界-reverse-reverse-for-the-holy-grail-350