开发一个应用需要的所有工具都包含在App Engine SDK中。对于Java和Python有不同的SDKs,每个都有特性对于用那种语言开发是有益的。SDKs在任何平台上工作,包括Windows,Mac OS X,以及Linux。
Python和Java SDKs每个都有一个网络服务器,他可以在你的电脑上的模拟运行时环境中运行你的应用。这个开发服务器执行完整运行时环境的沙箱限制<1.The development server enforces the sandbox restrictions of the full runtime environment>以及模拟App Engine的每个服务。你可以开始这个开发服务器并在你创建你的应用的时候一直执行着,在你的浏览器中重新加载就可以看到你做的变化。
这两个SDKs包含一个和运行在App Engine上的应用进行交互的多功能工具。使用这个工具上传你的应用的代码,静态文件和配置。这个工具也可以管理datastore的索引、任务队列、计划性任务和服务配置,可以下载运行的应用记载的信息因而你就可以分析你的应用的流量和行为。
Python SDK有一些工具在Java SDK中是不可以用的,大多是因为那些工具用Python写的(因为需要Python被安装)。很明显的是,Python SDK包含从对datastore进行上传和下载数据的工具。这对于做备份、改变已经存在的数据的结构、离线处理数据是有益的。这个工具及其他的一些和Java应用也能很好工作,如果你使用Java,你就应当考虑安装Python和App Engine Python SDK了。
针对Windows和Mac OS X的Python SDKs包含一个“launcher”应用,它使用一个简单的图形化接口使得创建、编辑、测试和上传一个应用变得特别简单。和一个好的程序编辑器配对(如Windows上的Notepad++、Mac OS X上的Sublime Text),launcher提供了快速直观的Python编程体验。
对于Java开发员,Google为Eclipse集成开发环境提供了一个插件,它实现了完整的App Engine 开发流程。这个插件包含一个创建新的App Engine Java 应用的模板,以及运行这个应用的调试配置还有Eclipse调试器内的开发用网络服务器。将一个项目部署到App Engine,你只需要在Eclipse工具栏上单击一个按钮。
这两个SDKs也有提供这些特性的跨平台的命令行工具。你可以从命令行来使用这些工具或者和你的开发环境任意地(as you see fit)集成。Java SDK也包含一个Apache Ant插件, 它使得将这个任务集成到基于Ant的工作流程中变得更简单。
我们会首先讨论Python SDK,然后是Java SDK。可以任意跳过那些不会应用于你所选语言的段落部分。