Google App Engine的应用程序有多便携?这些是否永远限制在GAE上?
答案 0 :(得分:13)
答案 1 :(得分:5)
如果您不使用Google自己的WebApp框架,但依赖于更标准化的工具(我不是在这里说Django),那么只有很少的东西可以与核心应用程序逻辑隔离并进行可插拔/可交换:
在我看来 - 值得一试。
答案 2 :(得分:3)
您可以使用gae2django将AppEngine应用程序转换为Django应用程序。
正如本文所述 http://code.google.com/appengine/articles/pure_django.html
gae2django http://code.google.com/p/django-gae2django/
答案 3 :(得分:2)
作为一名好顾问,我会说答案是“取决于”。
首先,您始终可以在SDK中运行GAE项目。所以在这种程度上你不受约束。除此之外,它取决于您使用的其他API。 webapp库与其他一些库非常相似,但我不认为它是独立的;但是,GAE也支持Django作为Web框架,当然可以单独使用。
代码只是Python。但是有些API,比如数据API,实际上就是要与Google云互动;你不能确定你可以在没有返工的情况下将任意GAE程序移动到另一个平台。
答案 4 :(得分:1)
我没有太多关于GAE的实践经验,但最近我正在阅读这篇文章,其中涉及到您的问题:
http://waxy.org/2008/04/exclusive_google_app_engine_ported_to_amazons_ec2/
答案 5 :(得分:1)
如果您使用Django 0.96,您可以在完成一些小工作后将代码移动到其他主机。您需要将模型从数据存储区更改为另一个数据库。您将不得不停止使用谷歌提供的用户类和可能的其他谷歌特定API。
我已经将Django应用程序移植到GAE而没有太多麻烦。
答案 6 :(得分:0)
我已经开发了几个月的app引擎(java) 从理论上讲,如果您坚持使用JPA或JDO等标准进行数据访问 并且不使用任务队列等高级功能,你不应该有太多的 将您的应用移植到其他环境的问题。
话虽如此,我经常发现自己使用低级谷歌apis进行数据存储访问,以避免噩梦般的性能问题。如果您的应用程序设计具有模块化数据访问层,则可以将此问题的副作用降低到一定程度。
另一方面,如果我的应用程序引擎上的应用程序运行顺畅,我想不出任何理由将其移到其他地方。