【问题标题】:GAE Webapp or Django-nonrel?GAE Webapp 还是 Django-nonrel?
【发布时间】:2011-08-01 10:18:44
【问题描述】:

我想托管我的个人网站,该网站主要包含博客、图库组件以及代码 sn-ps 和演示。我选择 GAE 是因为它为合理规模的网站(即个人网站)提供免费托管。

我最初认为它可以在不进行任何修改的情况下托管 Django 应用程序,并且由于我在 Django 方面有一些经验,因此我可以很容易地部署一个站点。然而,经过进一步研究,我发现情况并非如此,它需要一些“黑客”才能在 GAE 上托管一个 Django 站点。

此外,在查看一些 webapps 的实现后,似乎 GAE 可能要简单得多,并且不像文档中描述的那样令人生畏:https://github.com/ccarpenterg/todolist/wiki

所以我的问题是:

  • 在 GAE Webapps 上使用 Django 有什么好处吗?
  • 收益是否值得间接费用 - 如果甚至有间接费用?
  • 我认为 GAE Web 应用程序的学习曲线可以忽略不计,并且可能比 Django 应用程序更容易实现,这是否正确?

【问题讨论】:

    标签: google-app-engine django-nonrel web-application-project


    【解决方案1】:

    在 webapp 上使用 Django 有几个很好的理由:

    • 可移植性 - 使用通用框架可以更轻松地在 App Engine 和传统托管服务提供商之间移动现有应用。
    • 功能 - Django 是一个更健壮的框架,具有更多的花里胡哨。

    不过,缺点是您是二等公民。大多数 Django 用户使用 SQL 后端,大多数 App Engine 用户使用 webapp。框架和平台不一致的地方对于两者的开发人员来说将变得不那么重要。

    除非你有令人信服的理由使用 Django,否则我会坚持使用 webapp。

    【讨论】:

    • 感谢您的回答。顺便说一句,我刚刚发现了 Flask([link(flask.pocoo.org)) ,它看起来可能是一个很好的折衷方案。但它可能最好留给另一个问题。
    • 关于 webapp vs your-framework-of-choice,请参阅 stackoverflow.com/questions/6774371/… 这应该可以解释 Drew 的回答中的“二等公民”部分。
    【解决方案2】:

    我即将完成我的第一个重要的 appengine 项目 - 在开发过程中,我从 django non-rel 切换到使用 gae 模型,但保留了 django 模板(和模板标签)。

    对我来说,破坏交易的是 non-rel 目前不支持交易。虽然您应该将交易的使用保持在最低限度以提高效率,但它们有时很有用(尤其是在减少我的用户的帐户余额时!)。

    当我切换时,我意识到我真的根本没有很好地理解数据存储。只有在直接使用它之后,我才看到 non-rel 隐藏了什么。这并不意味着一旦 non-rel 支持事务(我相信它们现在正在开发中)我不会切换回来,但我很高兴我确实直接使用了一段时间的 google 类。

    所以我建议您至少尝试对“原始”存储进行一些小实验,包括对象树和事务树。那么,一旦您更加确定自己已经很好地理解了数据存储,请考虑在合适的情况下使用 non-rel(因为可移植性是不可否认的优势)。

    请注意,我保留了 django 的模板和模板标签,以及 url 调度过程和一般配置。我确实看过 gae 框架,但它似乎没有 django 提供的强大(例如,django 的命名 url 模式非常棒)。

    tl;dr:我很高兴我离开了 non-rel,但留在了 django。这对我有用,但我会考虑在未来返回 non-rel。

    【讨论】:

    • 完全同意。我对 Flask 也有同样的问题。应该直接使用 Webapp 来熟悉整个事情。
    【解决方案3】:

    我认为说 GAE 网络应用程序“学习曲线可以忽略不计”是不正确的。虽然我发现它是一个出色的 Web 应用平台,但它确实在许多方面与更传统的 CGI + SQL 平台有很大不同。

    您可能能够像与任何其他供应商一样,拼凑出可以在 AppEngine 上运行的应用程序,但是了解使 AppEngine 与众不同的复杂性、重要细节和差异以及细节并非易事。

    【讨论】:

    • 自然地,学习详细的技巧和东西总是需要更长的时间,但从link 来看,它似乎需要更少的认知开销和代码行来让网站启动和运行.这意味着我可以更多地关注事物的设计/模板方面,而不是后端。但与往常一样,有一个权衡,所以我想知道这个权衡到底是什么。
    猜你喜欢
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多