Showing posts with label Google APP. Show all posts
Showing posts with label Google APP. Show all posts

Thursday, March 12, 2009

02 Google App 快速入门之 Hello World!

Google App Engine 利用 CGI 与web服务器进行通信。当服务器从你的应用程序接收到请求时,它会在当前环境中根据请求数据执行应用程序,之后服务器会向客户端的标准输入输出流中写回响应数据,包括http headers和具体的内容。

让我们从开发一个显示简短信息的迷你应用程序开始吧。

创建一个简单的请求处理程序(Request Handler)

创建一个名为 helloworld 的目录。这个应用程序的所有文件都会放在这个目录下。

helloworld 目录下创建一个名为 helloworld.py 的文件,并输入下面的内容:

print 'Content-Type: text/plain' 
print '' 
print 'Hello, world!' 

上面这段Python代码向应用程序的请求返回一段包含了HTTP header信息、一个空行已经一个文本消息的 'Hello, world!'。

创建配置文件

一个App Engine包含一个名为 app.yaml 的配置文件,其中描述了哪个脚本文件被用于处理URLs。

我们需要在helloworld目录下创建这个文件并加入以下内容:

application: helloworld 
version: 1 
runtime: python 
api_version: 1  
handlers: 
   - url: /.*   
     script: helloworld.py 

这段代码描述了以下信息;

  • 应用程序的名词为 helloworld ,在你最终部署这个应用程序的时候,你必须指定一个唯一的名称。在开发阶段这个值可以是任意内容。现在我们就将他简单的设置为 helloworld
  • 我们通过version变量来设置当前应用程序的版本号为1。当你更新了应用程序的版本后,App Engine可以记住以前的版本号,这样你就有机会回滚到以前的版本。
  • runtime变量告诉App Engine现在用的运行时环境是Python,当前的App Engine版本是1。以后App Engine会支持其他语言。
  • 对于最后一行表示每一个URL请求,如果其正则表达式可以匹配到/.*(这里表示任何连接)上时,就通过 helloworld.py 脚本处理。

测试应用程序

我们在上面一节中已经编写了一个可以处理任何连接的脚本,并在配置文件中进行了设置。现在你可以通过App Engine SDK 中自带的web服务器来测试一下。

你可以通过下面的命令启动并测试刚才的代码,我们需要将helloworld的路径作为参数传递给这个命令。

google_appengine/dev_appserver.py helloworld/ 

现在web服务器应该已经运行起来了,监听端口是8080。现在输入下面的地址:

http://localhost:8080/

如果想获得有关开发环境中web服务器更多的信息,比如修改缺省的8080端口,可以查看 the Dev Web Server reference 或者在刚才的命令后加上--help参数查看。

迭代开发

你可以在编写调试代码时让web服务器一直开着。服务器会监听你的源代码目录,一旦有改变它就会根据需要重新加载代码。你现在就可以试一下:让 web服务器一直开着,然后打开helloworld.py文件把其中的Hello World!消息改成其它内容。这时刷新依稀http://localhost:8080/ 页面看看有什么变化。如果想关闭web服务器只要在web服务器运行的命令窗口按下Control+C(或者其它‘终止命令’的按键)。在学习这边指南的 过程中你可以让web服务器一直开着,如果想重启它按照上面将的步骤就可以了。

接下来

现在你已经完成了一个完整的App Engine,你完全可以把它部署到实际的网络环境中,让别人看懂你的‘Hello World!’消息。不过,在部署之前我们考虑使用web应用程序框架来方便的给它增加一些新的功能。下一节我们将介绍 使用web应用程序框架

Wednesday, March 11, 2009

01 GoogleApp 快速入门之 安装篇

介绍

欢迎使用Google App Engine!创建一个 Google App Engine非常简单,花几分钟就可以。开发并不复杂:上载你的应用程序,然后别人就可以马上看到你的应用,而且这些都是免费的并且没有任何限制。

在这篇指南中,你将创建一个简单的留言板程序,这样用户就可以把他们的留言发布到公共的留言板上。用户可以匿名留言或者登录他们的Google帐户后留言。

这个留言板程序将演示如何使用App Engine的数据库,如何将App Engine应用程序集成到Google帐户上,以及如何使用一个名为webapp的简单的Python web框架。这个应用还将演示如何使用Django模板引擎。

接下来

在开始开发Goole App Engine应用程序之前,我们需要先下载并安装它的软件开发环境。下一节 配置开发环境 .

配置开发环境

开发和部署Goole App Engine需要使用它的软件集成开发环境(SDK)。SDK包含一个用于模拟Goole App Engine环境的web服务器,一个本机版本的数据库,一个Google帐户,通过App Engine你可以获取URLs并从你的计算机上直接发送电子邮件。SDK可以运行在任何安装Python2.5的计算机上,你可以下载 Windows,Mac OS X和Linux版本的Python。

如果必要请从 Python 站点上下载并安装适合于你当前操作系统平台的Python2.5。Mac OS X 10.5 Leopard 用户的计算机上已经预装了Python2.5。

下载 App Engine SDK , 然后按照说明在你的计算机上安装SDK。

在这篇指南中你会用到SDK中的两个命令:

对于Windows用户来说:Windowsa安装程序将把上面的两个变量添加到环境变量的command path中。安装之后你就可以直接在命令窗口中使用这两个命令了。

对于Mac用户来说:Google App Engine Launcher中包含了这些命令。你可以在“GoogleAppEngineLauncher”菜单中通过“Make Symlinks...”把这些命令放到command path中。你可以通过Launcher来运行开发web服务器和部署你的应用,而不必通过命令行的方式。

如果你下载的是一个压缩包版本的SDK,你可以在 google_appengine 命令下找到这些命令。

接下来

在你把应用程序发布到网络上之前,你可以使用开发环境来开发和测试完整的App Engine 程序。接下来让我们写一些实际的代码。下一节 Hello,World