10

现在 Google 允许在 App Engine 上使用 Java,我想知道这对 App Engine 的 Web 框架选择有什么影响。

  1. 我意识到 Google 提供了非常简单的 webapp 框架。
  2. 可用于 App Engine 的 .96 版本的 django 具有限制性。
  3. 据我所知,web2py 会消耗资源。
  4. Rails(现在可用)不能使用 ActiveRecord、ActiveResource、restclient、rmagick。

有什么我遗漏的 - 任何框架在 App Engine 上运行良好吗?

4

11 回答 11

8

实际上 web2py 非常轻量级,因为在 GAE 上约为 1.50,它缓存了所有字节码编译的模型/视图/控制器。

尽管如此,您需要考虑默认情况下具有基于数据存储的会话,与没有在 GAE 上工作的会话的框架相比,这可能会增加一些开销(至少默认情况下不会)。

与幼稚的 Google 数据存储 API 相比,web2py DAL 本身不会增加显着的开销。

于 2009-04-11T19:54:03.810 回答
5

就个人而言,我发现 Python 更有趣。这就是我。然而,有几个忠实的 Java 开发人员会欣赏 GAE 中的 Java 支持。此外,支持 Java 是 Google 的一个不错的选择,因为它将允许 GAE 平台潜在地托管许多其他语言。现在期待所有基于 JVM 的语言都在 GAE 上运行显然还为时过早,但未来看起来很有希望。现在,我们可以通过查看这个 GAE Java Group Page来了解哪些是有效的,哪些是无效的。

回到 Python,我认为小型 Web 应用程序可以很好地与内置的 webapp 框架配合使用。其他应用程序将从 Django 1.0 中受益更多。查看框架部分下的GAE 文章,了解有关此内容的一些好读物。在任何情况下,毫无疑问,您的任何选择都会受到限制,因为大多数 Web 框架在设计时都考虑到了关系数据库……而 datastore/bigtable 则不是。此外,出于安全原因,GAE 平台必须被沙盒化,这也在一定程度上限制了您。希望这可以帮助。

于 2009-04-11T18:35:00.147 回答
3

试试春天。它支持 JPA 和 JDO。

现在甚至还有一个适用于 Spring 的Python 版本

于 2009-04-11T18:20:15.750 回答
1

我不确切知道所有选项,但我可以立即告诉你一些事情......

  • Google Apps 建立在 / 使用 Django 之上。
  • Django 几乎是 Google Apps 欢呼和支持的对象,所以我希望它能够比其他人更好地与 Google Apps 集成。
  • Google Apps 内置了您无法规避(或不应)规避的限制。这些限制与任何特定框架无关,可以说是内置于应用程序的结构中。
  • 我不会太担心框架的性能 - 尝试改进您的设计/结构,它肯定会获得更好的回报。
  • Google 最终将迁移到 Django 1.0 和更新版本,而且他们也在更新 Google Apps。
  • 他们确实使用 memcache(或等效的),因此请考虑并使用它。
于 2009-04-11T18:35:42.250 回答
1

这真的取决于你想做什么。根据我的经验,在 Webob 上手工制作的东西对于 API 来说非常有用。但是对于需要模板/会话/复杂路由/缓存的成熟站点,django 很难被击败。

考虑到如果你是大型框架(如 django 1.0),第一个请求总是需要大约 3 秒才能将所有内容加载到内存中,并在该请求后保持 15 秒。

当您四处寻找框架时,请考虑到:

  • ORM 不适用于平台,所以基本上没关系。
  • 快速模板(如 Cheetah)不会很快(甚至无法工作),因为它们不能使用 c 扩展。
  • 缓存可能是使一切快速的最重要的事情。
于 2009-04-11T19:09:49.627 回答
0

如果您正在寻找 Python,那么Django将是您最好的选择。

于 2009-04-11T18:25:54.193 回答
0

Struts 2 据称可以在 Google App Engine 上运行(至少在示例应用程序方面)。关注这个话题:

http://www.nabble.com/Google-App-Engine-support--td22972179.html

Sitemesh 在模板方面似乎存在一些问题,但如果您使用的是 JSP,您应该没问题。

作为 Web 应用程序框架,这是一个不错的选择。

于 2009-04-11T18:32:48.170 回答
0

如果你使用 Python,我推荐web.py。

于 2009-04-11T18:53:00.337 回答
0

我使用新框架 GAE 框架。这与 Django 类似,但适用于 AppEngine。

最好的祝福!

于 2010-03-03T20:44:48.540 回答
0

对于 Python,使用webapp2(与应用引擎捆绑在一起)

于 2013-08-16T11:50:34.713 回答
0

如果你想构建大型应用程序并需要更灵活的框架,那么你可以看看Pyramid Python Framework。以前它被称为塔架。有很多优秀的公司使用这个框架。

于 2014-02-07T11:27:57.257 回答