Google提供了使用Java和Python开发App Engine的免费工具。你可以从Google的网站上下载你所用语言和操作系统的软件开发包。Java用户可以以Eclipse集成开发环境的方式获取Java SDK。使用Windows或Mac OS X的Python开发者可以以GUI应用的方式获取Python SDK。两种SDKs可以以命令行工具的Zip包的方式直接使用或集成到你的开发环境或编译系统中。
每个SDK包含一个开发用网络服务器(development web server),它可以在你本地的电脑上模拟运行时环境、datastore、服务、任务队列来运行你的应用。这个开发用服务器自动检测你的代码文件的变更并且在需要的时候再次加载他们,因而你可以在你开发应用的时候一直保持服务是开启着的。
如果你使用的是Eclipse,你可以在交互调试器中运行Java 开发用服务器,可以在你的应用代码中设置断点。你也可以通过PyDev,使用Eclipse做Python应用开发。PyDev是一个包含了Python交互调试器的Eclipse扩展。(本书不会讲到PyDev,不过在Google的网站上有介绍。也可以查看2012年6月14日的我的叫做"适用Google App Engine的Python"网络直播,可从本书的网站上获得链接)
开发版的datastore可以在应用执行查询的时候自动生成查询索引的配置文件。App Engine将会使用它为哪些查询做预先创建索引。
开发用网络服务器包含一个内嵌的网络应用,它是用来测试这个模拟的datastore的。你也可以使用这个接口创建新的datastore实体来进行测试。
每一个SDK也包含一个用来和运行在App Engine上的应用进行交互的工具。主要地是使用这个工具将你的应用代码上传到App Engine。你也可以使用这个工具从你的运行的应用上下载日志数据,或者管理这个运行的应用上的datastore索引和服务配置。
Python和Java SDK包含一个可以安装到你的应用上的特性,他可以安全地远程访问(secure remote programmatic access to)你的运行的应用。Python SDK有可以利用这个特性进行批量数据操作(bulk data operation),比如从一个文本文件上传数据或为了备份或迁移下载大量的数据。这个SDK也包含一个Python交互命令行shell来测试、调试或手动操纵实时数据。这些工具在Python SDK中,使用Java版的远程访问特性也可以和Java应用一起工作。你可以写自己的利用远程访问特性的脚本和程序进行大规模数据传输以及其他的维护。
请等等,还有!这些SDKs也包含自动化测试以及关于收集应用性能报表的库。我们将会在第17章中讨论一个叫做AppStats的这样的工具。(对于Python的单元测试,可以再看一下上述的“使用Google App Engine的Python”网络直播)