0

在我使用 Google App Engine 完成应用程序开发后,如果我需要在没有 App Engine 的情况下进行分发,它会变得多么容易?我唯一想到的是 GAE 有一些专有的 API 来使用数据存储。因此,如果我需要将我的应用程序作为不会与 App Engine 一起部署的 .war 文件(例如)交付,我需要做的就是首先重构任何获取/存储数据的代码,然后再构建 .war , 正确的?

我不知道交付完成的网络应用产品的标准方法是什么——我只使用过 GAE,但我现在正在启动一个项目,目前对最终交付的要求还不确定。

所以我想知道,如果我为 GAE 开发,转换会有多容易?

此外,在为 GAE 撰写文章时,我有什么可以做或考虑的事情,以优化我最终可能拥有的任何打包选项的项目?

4

2 回答 2

1

只要您的应用程序不包含任何依赖于 Google App 引擎的元素,您就应该能够在任何地方部署,只要该位置可以支持 Tomcat 或 GlassFish 服务器。有时这需要您手动安装服务器,因此您必须阅读它。有很多 youtube 可以帮助您解决这个问题,只是尝试将您的问题分解为尽可能低的步骤。

我还建议使用像 spring 和 hibernate 这样的框架来帮助减轻头痛。他们需要一段时间才能理解,但如果你想在你的余生中编程,那么这些都是值得的。

于 2013-05-18T20:53:27.240 回答
0

我不同意 Pbrain19。

GAE 数据存储与 SQL 完全不同,它有自己有趣的最终一致的事务行为。这意味着对于任何需要强一致性或事务的事物,您都必须使用适当的祖先来构建数据。这将对您的代码产生相当大的影响。

您还需要对数据结构进行非规范化(与 SQL 相比)以最小化数据存储成本并提高性能。您还可以在 SQL 中执行许多在 GAE 中无法执行的查询,您必须以解决此问题的方式构建您的应用程序。

一旦你做了任何这些,你可能会有很大一部分应用程序需要重建。

您也不想使用 Spring,因为它会使您的实例启动时间非常痛苦。

因此,除非它是一个非常简单的 hello world 应用程序,否则重构不会是微不足道的——尤其是当您开始在任何数据建模中使用祖先时。

如果您使用的是 GAE 数据存储,我建议不要尝试将您的应用程序设计为可移植的。

如果您使用 Cloud SQL,那么您在制作便携式应用程序时会更幸运。

于 2013-05-20T15:42:39.047 回答