这个问题来自我的 webapp,一个用 Go 编写的提要阅读器。该代码可在http://github.com/matthewbauer/rivulet获得,尽管这对于回答问题不是必需的。
我有一个用 Go 编写的 webapp,它在 Google 的 App Engine 上运行。它使用常用的 App Engine 库,如数据存储区、内存缓存和用户。
有什么方法可以让我的用户在不破坏 App Engine 兼容性的情况下自行运行此应用程序?
Go 现在提供基于目标构建平台排除/包含文件的构建约束:
// +build !appengine
所以,我知道这是可能的。但是,我最大的问题是依赖于 App Engine 的库:datastore、memcache 和 user。我知道其他库提供数据存储和内存缓存,我可以自己实现用户,但我将如何包装它呢?
我知道我可以让他们使用 SDK 设置开发服务器,但这可能对某些用户来说过于复杂。我想要一个普通 Go 项目提供的单个可执行文件。那可能吗?
如果存在任何示例,我还没有找到它们;任何 App Engine 独立 web 应用的示例将不胜感激。我可以通过例子来学习。