我可以用Google应用引擎做什么?

11

这个问题可能不适合此处。如果这不属于此类,请将其移动到相应位置并观察答案。


我正在按照Google App Engine的入门指南操作,想了解它的功能和限制。

基本上,我发现它与MVC模式非常相似。您创建您的模型,然后创建一个使用该模型来显示信息的视图。

不仅如此,还以某种方式使用控制器:

application = webapp.WSGIApplication(
                                 [('/', MainPage)],
                                 debug=True)

我的问题是,如果使用Google App Engine和使用其他多个MVC框架相同,那么为什么要使用它?

您获得的唯一好处是负载平衡由Google自动处理吗?

您需要App Engine的一个很好的例子是什么?

我正试图学习,所以感谢讨论。


2
我认为这是一个有效的问题,至少在理论上是这样,但它应该是一个社区维基,因为没有“一个”正确答案。 - Chris Thompson
@Chris 社区维基在问题上已经不存在了。 - systempuntoout
请不要使用“automagically”这个词。拜托了。这个词比“ridonkulous”还要过时,听起来让人很不舒服。除非你是用它来表达某些令人困惑的神秘事物,否则请不要使用它。 - jpsimons
1
@systempuntout 哇,不开玩笑,这个网站变化真快! - Chris Thompson
3个回答

11

Google App Engine不是一个框架。Google App Engine是一种平台即服务。App Engine是用于开发应用程序的平台,其中由Google为您管理服务器组件,因此您不必分心于配置服务器的琐碎细节。它让您专注于做您擅长的事情——构建软件以解决业务问题。

有许多不同的App Engine框架。框架与平台不同。以App Engine的Java SDK为例,我有一个使用PHP构建的JQuery表单生成器版本,在App Engine上使用Java Querces servlet来解释PHP。我认识的另一位开发人员在App Engine上使用了Struts、Restlets和Spring。

以下是您可以实现的示例:

  • 托管公司网站
  • 使用ChannelAPI(Comet for App Engine)托管实时聊天应用程序
  • 使用Python编写的Bloog或其他博客软件托管博客
  • 许多其他事情

Spring和Struts是MVC框架,而Restlets是REST框架。我运行的JQuery表单生成器根本没有使用任何框架,因为它是一种使用Querces在App Engine上运行PHP的hackjob解决方案。

简而言之,对于Python的App Engine SDK,您可能可以使用许多框架,但App Engine不是框架。

简而言之,您可以选择自己托管应用程序或通过付费服务提供者进行托管,也可以使用Google的下一代模型。

对我来说,Google App Engine最吸引人的事情可能是我可以多快地启动某些东西,即使是在Java中编程。App Engine SDK将在每次更改后编译代码以进行热交换。在Eclipse中部署也只需单击一次按钮。我只需点击按钮就可以将某些内容投入生产。

平台即服务模型还具有大量可扩展性,可以根据应用程序的数量进行缩放。

最后,低使用率的服务是免费的。


5
我认为这个问题没有抓住App Engine的重点。该问题假设App Engine只是一个Web框架,但它实际上是一个完整的平台。Web框架只是运行网站所需的软件堆栈中的一层。大多数网站还需要数据库、操作系统来运行软件和数据库、物理服务器来运行所有这些等等。App Engine将所有这些都封装在一个集成包中,您可以根据需要支付费用。如果您刚开始使用,则还可以免费获得一些服务。

您能从中获得唯一的好处就是负载均衡由Google自动处理吗?

这是一个巨大的优势。您是否曾经试图运行一个需要多个服务器的大型网站?那会花费多少钱?您会花多少时间配置服务器、打补丁等等?

1
App Engine 的主要优点是相对较低的成本下可扩展性。然而,这也带来了一些负面影响。由于其可扩展性,它会将你锁定在按照“他们的方式”进行操作,这在首次设置时会留下大量的“陷阱”。
我可以列出所有的观点,但几乎我所说的一切都可以在这里找到... Google App Engine 的优缺点

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