App Engine Python SDK version $VERSION
[gae.git] / docs / appengine / whyappengine.html
blobb4a430843a11a704c126bbf9eb8fd3989ed8fe19
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
30 <html>
31 <head>
32 <script type="text/javascript" language="JavaScript">
33 ORIGINAL_PAGE_PATH = "/appengine/whyappengine.html";
34 </script>
37 <meta http-equiv="content-type" content="text/html; charset=utf-8">
38 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
39 <title>Why App Engine - Google App Engine - Google Code</title>
40 <script type="text/javascript"><!--
41 (function(){function a(){this.t={};this.tick=function(c){this.t[c]=(new Date).getTime()};this.tick("start")}var b=new a;window.jstiming={Timer:a,load:b};if(window.external&&window.external.pageT)window.jstiming.pt=window.external.pageT;})();
43 var _tocPath_ = '/appengine/docs/_toc.ezt';
44 var codesite_token = null;
45 var logged_in_user_email = null;
46 //--></script>
47 <link href="../css/codesite.pack.04102009.css" type="text/css" rel="stylesheet">
48 <script src="../js/codesite_head.pack.04102009.js" type="text/javascript"></script>
49 <script type="text/javascript">CODESITE_CSITimer['load'].tick('bhs');</script>
50 <link rel="search" type="application/opensearchdescription+xml" title="Google Code" href="http://code.google.com/osd.xml">
52 <!--[if IE]><link rel="stylesheet" type="text/css" href="../css/iehacks.css"><![endif]-->
54 <link href="../css/semantic_headers.css" rel="stylesheet" type="text/css" />
55 <link href="css/local_extensions.css" rel="stylesheet" type="text/css" />
56 </head>
58 <body class="gc-documentation">
62 <script type="text/javascript">
63 var _gaq = _gaq || [];
65 var cookiePath = '/appengine/';
66 if (cookiePath.lastIndexOf('.html') > cookiePath.lastIndexOf('/')) {
67 cookiePath = cookiePath.substring(0, cookiePath.lastIndexOf('/') + 1);
70 _gaq.push(
73 ['siteTracker._setAccount', 'UA-18071-1'],
74 ['siteTracker._setDomainName', 'code.google.com'],
75 ['siteTracker._trackPageview']
77 (function() {
78 var ga = document.createElement('script');
79 ga.type = 'text/javascript';
80 ga.async = true;
81 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
82 (document.getElementsByTagName('head')[0] ||
83 document.getElementsByTagName('body')[0]).appendChild(ga);
84 })();
85 </script>
88 <div id="gb">
89 <span>
91 <a id="lang-dropdown" href="http://code.google.com" onclick="return false;"><span style="text-decoration:underline">English</span> <span style="font-size:.75em;">&#9660;</span></a>
93 </span>
94 </div>
96 <div class="gbh" style="left:0px;"></div>
97 <div class="gbh" style="right:0px;"></div>
100 <div id="gc-container">
101 <a id="top"></a>
102 <div id="skipto">
103 <a href="#gc-pagecontent">Skip to page content</a>
104 <a href="#gc-toc">Skip to main navigation</a>
105 </div>
107 <div id="gc-header">
108 <div id="logo"><a href="http://code.google.com">
110 <img src="../images/code_logo.gif" height="40" width="167" alt="Google Code" style="border:0;margin:3px 0 0 0;">
112 </a></div>
113 <div id="search">
114 <div id="searchForm">
115 <form id="cse" action="http://www.google.com/cse" accept-charset="utf-8" onsubmit="executeGSearch(document.getElementById('gsearchInput').value); return false;">
116 <noscript>
117 <input type="hidden" name="cref" value="http://code.google.com/cse/googlecode-context.xml">
118 </noscript>
119 <div id="gsc-search-box">
120 <input id="gsearchInput" type="text" name="q" maxlength="2048" class="gsc-input" autocomplete="off" title="Google Code Search" style="width:345px">
121 <div id="cs-searchresults" onclick="event.cancelBubble = true;"></div>
122 <input title="Search" id="gsearchButton" class="gsc-search-button" name="sa" value="Search" type="submit">
123 <div class="greytext">e.g. "templates" or "datastore"</div>
124 </div>
125 </form>
126 </div> <!-- end searchForm -->
127 </div> <!-- end search -->
132 </div> <!-- end gc-header -->
135 <div id="codesiteContent">
137 <a id="gc-topnav-anchor"></a>
138 <div id="gc-topnav">
139 <h1 style="padding:0 0 0 6px;">Google App Engine</h1>
140 <ul id="docs" class="gc-topnav-tabs">
142 <li id="home_link">
143 <a href="index.html" title="Google App Engine home page">Home</a>
144 </li>
146 <li id="docs_link">
147 <a href="docs/index.html" class="selected" title="Official Google App Engine documentation">Docs</a>
148 </li>
150 <li id="faq_link">
151 <a href="kb/index.html" title="Answers to frequently asked questions about Google App Engine">FAQ</a>
152 </li>
154 <li id="articles_link">
155 <a href="articles/index.html" title="Focused articles and tutorials for Google App Engine developers">Articles</a>
156 </li>
158 <li>
159 <a href="http://googleappengine.blogspot.com/" title="Official Google App Engine blog">Blog</a>
160 </li>
162 <li>
163 <a href="community.html" title="Community home for Google App Engine">Community</a>
164 </li>
166 <li>
167 <a href="terms.html" title="Google App Engine terms of service">Terms</a>
168 </li>
170 <li>
171 <a href="downloads.html" title="Download Google App Engine">Download</a>
172 </li>
179 <li><g:plusone size="small" count="false" source="google:googlecode"></g:plusone>&nbsp;</li>
180 </ul>
181 </div> <!-- end gc-topnav -->
184 <div class="g-section g-tpl-170">
186 <div class="g-unit g-first" id="gc-toc">
187 <ul>
188 <li><a href="downloads.html">Downloads</a></li>
189 <li><a href="tools_tips.html">Tools and Tips</a></li>
190 <li><a href="docs/glossary.html">Glossary</a><sup class="new">New!</sup></li>
191 <li><a href="https://appengine.google.com/">Admin Console</a></li>
192 <li><a href="http://code.google.com/status/appengine">System Status</a></li>
193 <li><a href="http://code.google.com/p/googleappengine/issues/list">Issue Tracker</a></li>
194 </ul>
195 <div class="line"></div>
196 <ul>
197 <li><h2>Getting Started</h2>
198 <ul>
199 <li><a href="docs/whatisgoogleappengine.html">What Is Google App Engine?</a></li>
200 <li><a href="docs/java/gettingstarted/index.html">Java</a>
201 <ul>
202 <li><a href="docs/java/gettingstarted/introduction.html">Introduction</a></li>
203 <li><a href="docs/java/gettingstarted/installing.html">Installing the Java SDK</a></li>
204 <li><a href="docs/java/gettingstarted/creating.html">Creating a Project</a></li>
205 <li><a href="docs/java/gettingstarted/usingusers.html">Using the Users Service</a></li>
206 <li><a href="docs/java/gettingstarted/usingjsps.html">Using JSPs</a></li>
207 <li><a href="docs/java/gettingstarted/usingdatastore.html">Using the Datastore</a></li>
208 <li><a href="docs/java/gettingstarted/staticfiles.html">Using Static Files</a></li>
209 <li><a href="docs/java/gettingstarted/uploading.html">Uploading Your Application</a></li>
210 <li><a href="http://googcloudlabs.appspot.com">Codelabs for Getting Started in Java</a></li>
212 </ul>
213 </li>
214 <li><a href="docs/python/gettingstarted/index.html">Python 2.5</a>
215 <ul>
216 <li><a href="docs/python/gettingstarted/introduction.html">Introduction</a></li>
217 <li><a href="docs/python/gettingstarted/devenvironment.html">The Development Environment</a></li>
218 <li><a href="docs/python/gettingstarted/helloworld.html">Hello, World!</a></li>
219 <li><a href="docs/python/gettingstarted/usingwebapp.html">Using the webapp Framework</a></li>
220 <li><a href="docs/python/gettingstarted/usingusers.html">Using the Users Service</a></li>
221 <li><a href="docs/python/gettingstarted/handlingforms.html">Handling Forms With webapp</a></li>
222 <li><a href="docs/python/gettingstarted/usingdatastore.html">Using the Datastore</a></li>
223 <li><a href="docs/python/gettingstarted/templates.html">Using Templates</a></li>
224 <li><a href="docs/python/gettingstarted/staticfiles.html">Using Static Files</a></li>
225 <li><a href="docs/python/gettingstarted/uploading.html">Uploading Your Application</a></li>
227 </ul>
228 </li>
229 <li><a href="docs/python/gettingstartedpython27/index.html">Python 2.7</a>
230 <ul>
231 <li><a href="docs/python/gettingstartedpython27/introduction.html">Introduction</a></li>
232 <li><a href="docs/python/gettingstartedpython27/devenvironment.html">The Development Environment</a></li>
233 <li><a href="docs/python/gettingstartedpython27/helloworld.html">Hello, World!</a></li>
234 <li><a href="docs/python/gettingstartedpython27/usingwebapp.html">Explaining the webapp2 Framework</a></li>
235 <li><a href="docs/python/gettingstartedpython27/usingusers.html">Using the Users Service</a></li>
236 <li><a href="docs/python/gettingstartedpython27/handlingforms.html">Handling Forms With webapp</a></li>
237 <li><a href="docs/python/gettingstartedpython27/usingdatastore.html">Using the Datastore</a></li>
238 <li><a href="docs/python/gettingstartedpython27/templates.html">Using Templates</a></li>
239 <li><a href="docs/python/gettingstartedpython27/staticfiles.html">Using Static Files</a></li>
240 <li><a href="docs/python/gettingstartedpython27/uploading.html">Uploading Your Application</a></li>
242 </ul>
243 </li>
244 <li><a href="docs/go/gettingstarted/index.html">Go</a>
245 <ul>
246 <li><span class="exp-feat">Experimental!</span></li>
247 <li><a href="docs/go/gettingstarted/introduction.html">Introduction</a></li>
248 <li><a href="docs/go/gettingstarted/devenvironment.html">The Development Environment</a></li>
249 <li><a href="docs/go/gettingstarted/helloworld.html">Hello, World!</a></li>
250 <li><a href="docs/go/gettingstarted/usingusers.html">Using the Users Service</a></li>
251 <li><a href="docs/go/gettingstarted/handlingforms.html">Handling Forms</a></li>
252 <li><a href="docs/go/gettingstarted/usingdatastore.html">Using the Datastore</a></li>
253 <li><a href="docs/go/gettingstarted/uploading.html">Uploading Your Application</a></li>
255 </ul>
256 </li>
257 </ul>
258 </li>
259 </ul>
260 <div class="line"></div>
261 <ul>
262 <li><h2>Java</h2>
263 <ul>
264 <li><a href="docs/java/overview.html">Overview</a></li>
265 <li><a href="docs/java/runtime.html">Servlet Environment</a></li>
266 <li><a href="docs/java/backends/index.html">Backends</a>
267 <ul>
268 <li><a href="docs/java/backends/overview.html">Overview</a></li>
269 <li><a href="docs/java/javadoc/com/google/appengine/api/backends/package-summary.html">Javadoc Reference</a></li>
272 </ul>
273 </li>
274 <li><a href="docs/java/datastore/index.html">Storing Data</a>
275 <ul>
276 <li><a href="docs/java/datastore/overview.html">Overview</a></li>
277 <li><a href="docs/java/datastore/entities.html">Entities</a></li>
278 <li><a href="docs/java/datastore/queries.html">Queries</a></li>
279 <li><a href="docs/java/datastore/transactions.html">Transactions</a></li>
280 <li><a href="docs/java/datastore/hr/index.html">Choosing a Datastore</a></li>
281 <li><a href="docs/java/datastore/hr/overview.html">Using the High Replication Datastore</a></li>
282 <li><a href="docs/java/datastore/metadataqueries.html">Metadata Queries</a></li>
283 <li><a href="docs/java/datastore/stats.html">Statistics</a></li>
284 <li><a href="docs/java/datastore/async.html">Async API</a></li>
285 <li><a href="docs/java/datastore/callbacks.html">Callbacks</a></li>
286 <li><a href="docs/java/datastore/jdo/index.html">JDO</a>
287 <ul>
288 <li><a href="docs/java/datastore/jdo/overview.html">Overview</a></li>
289 <li><a href="docs/java/datastore/jdo/dataclasses.html">Defining Data Classes with JDO</a></li>
290 <li><a href="docs/java/datastore/jdo/creatinggettinganddeletingdata.html">Creating, Getting, and Deleting Data in JDO</a></li>
291 <li><a href="docs/java/datastore/jdo/relationships.html">Entity Relationships in JDO</a></li>
292 <li><a href="docs/java/datastore/jdo/queries.html">Queries in JDO</a></li>
294 </ul>
295 </li>
296 <li><a href="docs/java/datastore/jpa/index.html">JPA</a>
297 <ul>
298 <li><a href="docs/java/datastore/jpa/overview.html">Overview</a></li>
300 </ul>
301 </li>
302 <li><a href="docs/java/javadoc/com/google/appengine/api/datastore/package-summary.html">Javadoc Reference</a></li>
304 </ul>
305 </li>
306 <li><a href="docs/java/apis.html">Services</a>
307 <ul>
308 <li><a href="docs/java/appidentity/index.html">App Identity</a>
309 <ul>
310 <li><a href="docs/java/appidentity/overview.html">Overview</a></li>
312 <li><a href="docs/java/javadoc/com/google/appengine/api/appidentity/package-summary.html">Low-level API</a></li>
314 </ul>
315 </li>
316 <li><a href="docs/java/blobstore/index.html">Blobstore</a>
317 <ul>
318 <li><a href="docs/java/blobstore/overview.html">Overview</a></li>
319 <li><span class="tlw-title tlw-expanded">Reference</span>
320 <ul>
321 <li><a href="docs/java/javadoc/com/google/appengine/api/blobstore/package-summary.html">API Reference</a></li>
322 </ul>
323 </li>
325 </ul>
326 </li>
327 <li><a href="docs/java/googlestorage/index.html">Google Cloud Storage</a>
328 <ul>
329 <li><a href="docs/java/googlestorage/overview.html">Overview</a></li>
330 <li><a href="docs/java/javadoc/com/google/appengine/api/files/package-summary.html">API Reference</a></li>
331 </li>
334 </ul>
335 </li>
336 <li><a href="docs/java/capabilities/index.html">Capabilities</a>
337 <ul>
338 <li><a href="docs/java/capabilities/overview.html">Overview</a></li>
339 <li><a href="docs/java/javadoc/com/google/appengine/api/capabilities/package-summary.html">Javadoc Reference</a></li>
341 </ul>
342 </li>
343 <li><a href="docs/java/conversion/index.html">Conversion</a>
344 <ul>
345 <li><a href="docs/java/conversion/overview.html">Overview</a></li>
346 <li><a href="docs/java/javadoc/com/google/appengine/api/conversion/package-summary.html">Javadoc Reference</a></li>
348 </ul>
349 </li>
350 <li><a href="docs/java/channel/index.html">Channel</a>
351 <ul>
352 <li><a href="docs/java/channel/overview.html">Overview</a></li>
353 <li><a href="docs/java/javadoc/com/google/appengine/api/channel/package-summary.html">Javadoc Reference</a></li>
354 <li><a href="docs/java/channel/javascript.html">JavaScript Reference</a></li>
356 </ul>
357 </li>
358 <li><a href="docs/java/images/index.html">Images</a>
359 <ul>
360 <li><a href="docs/java/images/overview.html">Overview</a></li>
361 <li><a href="docs/java/javadoc/com/google/appengine/api/images/package-summary.html">API Reference</a></li>
363 </ul>
364 </li>
365 <li><a href="docs/java/mail/index.html">Mail</a>
366 <ul>
367 <li><a href="docs/java/mail/overview.html">Overview</a></li>
368 <li><a href="docs/java/mail/usingjavamail.html">Using JavaMail to Send Mail</a></li>
369 <li><a href="docs/java/mail/receiving.html">Receiving Mail</a></li>
370 <li><a href="docs/java/javadoc/com/google/appengine/api/mail/package-summary.html">Low-level API</a></li>
372 </ul>
373 </li>
374 <li><a href="docs/java/memcache/index.html">Memcache</a>
375 <ul>
376 <li><a href="docs/java/memcache/overview.html">Overview</a></li>
377 <li><a href="docs/java/memcache/usingjcache.html">Using JCache</a></li>
378 <li><a href="docs/java/javadoc/com/google/appengine/api/memcache/package-summary.html">Low-level API</a></li>
380 </ul>
381 </li>
382 <li><a href="docs/java/multitenancy/index.html">Multitenancy</a>
383 <ul>
384 <li><a href="docs/java/multitenancy/overview.html">Overview</a></li>
385 <li><a href="docs/java/multitenancy/multitenancy.html">Multitenancy with Namespaces</a></li>
386 <li><a href="docs/java/multitenancy/namespaces.html">Other Uses for Namespaces</a></li>
387 <li><a href="docs/java/javadoc/com/google/appengine/api/NamespaceManager.html">API Reference</a></li>
389 </ul>
390 </li>
391 <li><a href="docs/java/oauth/index.html">OAuth</a>
392 <ul>
393 <li><a href="docs/java/oauth/overview.html">Overview</a></li>
394 <li><a href="docs/java/javadoc/com/google/appengine/api/oauth/package-summary.html">API Reference</a></li>
397 </ul>
398 </li>
399 <li><a href="docs/java/prospectivesearch/index.html">Prospective Search</a>
400 <ul>
401 <li><a href="docs/java/prospectivesearch/overview.html">Overview</a></li>
402 <li><a href="docs/java/javadoc/com/google/appengine/api/prospectivesearch/package-summary.html">Javadoc Reference</a></li>
404 </ul>
405 </li>
406 </li>
407 <li><a href="docs/java/taskqueue/index.html">Task Queues</a>
408 <ul>
409 <li><a href="docs/java/taskqueue/overview.html">Overview</a></li>
410 <li><a href="docs/java/taskqueue/overview-push.html">Using Push Queues</a></li>
411 <li><a href="docs/java/taskqueue/overview-pull.html">Using Pull Queues</a><sup class="new">New!</sup></li>
412 <li><a href="docs/java/javadoc/com/google/appengine/api/taskqueue/package-summary.html">Javadoc Reference</a></li>
413 <li><a href="docs/java/taskqueue/rest.html">REST reference</a> <span class="exp-feat">(Experimental)</span></li>
414 </ul>
415 </li>
416 <li><a href="docs/java/urlfetch/index.html">URL Fetch</a>
417 <ul>
418 <li><a href="docs/java/urlfetch/overview.html">Overview</a></li>
419 <li><a href="docs/java/urlfetch/usingjavanet.html">Using java.net</a></li>
420 <li><a href="docs/java/javadoc/com/google/appengine/api/urlfetch/package-summary.html">Low-level API</a></li>
422 </ul>
423 </li>
424 <li><a href="docs/java/users/index.html">Users</a>
425 <ul>
426 <li><a href="docs/java/users/overview.html">Overview</a></li>
427 <li><a href="docs/java/javadoc/com/google/appengine/api/users/package-summary.html">API Reference</a></li>
429 </ul>
430 </li>
431 <li><a href="docs/java/xmpp/index.html">XMPP</a>
432 <ul>
433 <li><a href="docs/java/xmpp/overview.html">Overview</a></li>
434 <li><a href="docs/java/javadoc/com/google/appengine/api/xmpp/package-summary.html">API Reference</a></li>
436 </ul>
437 </li>
438 </ul>
439 </li>
440 <li><a href="docs/java/javadoc/index.html">Services Javadoc</a></li>
441 <li><a href="docs/java/jrewhitelist.html">JRE Class White List</a></li>
442 <li><a href="docs/java/config/index.html">Configuration</a>
443 <ul>
444 <li><a href="docs/java/config/webxml.html">Deployment Descriptor</a></li>
445 <li><a href="docs/java/config/appconfig.html">App Config</a></li>
446 <li><a href="docs/java/config/backends.html">Backends Config</a></li>
447 <li><a href="docs/java/config/indexconfig.html">Index Config</a></li>
448 <li><a href="docs/java/config/cron.html">Scheduled Tasks</a></li>
449 <li><a href="docs/java/config/queue.html">Task Queue Config</a></li>
450 <li><a href="docs/java/config/dos.html">DoS Protection Config</a></li>
452 </ul>
453 </li>
454 <li><a href="docs/java/configyaml/index.html">YAML Configuration</a>
455 <ul>
456 <li><a href="docs/java/configyaml/appconfig_yaml.html">YAML App Config</a></li>
457 <li><a href="docs/java/configyaml/backends.html">Backends Config</a></li>
458 <li><a href="docs/java/configyaml/indexconfig.html">Index Config</a></li>
459 <li><a href="docs/java/configyaml/cron.html">Scheduled Tasks</a></li>
460 <li><a href="docs/java/configyaml/queue.html">Task Queue Config</a></li>
461 <li><a href="docs/java/configyaml/dos.html">DoS Protection Config</a></li>
463 </ul>
464 </li>
465 <li><a href="docs/java/tools/index.html">Tools</a>
466 <ul>
467 <li><a href="docs/java/tools/devserver.html">Development Server</a></li>
468 <li><a href="docs/java/tools/uploadinganapp.html">Uploading and Managing an App</a></li>
469 <li><a href="docs/java/tools/eclipse.html">Google Plugin for Eclipse</a></li>
470 <li><a href="docs/java/tools/ant.html">Using Apache Ant</a></li>
471 <li><a href="docs/java/tools/capabilities.html">Capabilities Service Test Configuration</a>
472 <li><a href="docs/java/tools/localunittesting.html">Local Unit Testing</a>
473 <ul>
474 <li><a href="docs/java/tools/localunittesting/javadoc/index.html">Testing Javadoc</a></li>
475 </ul>
476 </li>
477 <li><a href="docs/java/tools/appstats.html">Appstats</a></li>
478 <li><a href="docs/java/tools/remoteapi.html">Remote API</a></li>
480 </ul>
481 </li>
482 <li><a href="docs/java/howto/index.html">How-To</a>
483 <ul>
484 <li><a href="docs/java/howto/maintenance.html">Handling Scheduled Maintenance Periods</a></li>
486 </ul>
487 </li>
489 </ul>
490 </li>
491 </ul>
492 <div class="line"></div>
493 <ul>
494 <li><h2>Python</h2>
495 <ul>
496 <li><a href="docs/python/overview.html">Overview</a></li>
497 <li><a href="docs/python/runtime.html">Runtime Environment</a></li>
498 <li><a href="docs/python/python27/index.html">Python 2.7</a>
499 <ul>
500 <li><a href="docs/python/python27/newin27.html">What's New in Python 2.7</a></li>
501 <li><a href="docs/python/python27/using27.html">Using Python 2.7</a></li>
503 </ul>
504 </li>
505 <li><a href="docs/python/backends/index.html">Backends</a>
506 <ul>
507 <li><a href="docs/python/backends/overview.html">Overview</a></li>
508 <li><span class="tlw-title tlw-expanded">Reference</span>
509 <ul>
510 <li><a href="docs/python/backends/functions.html">Backends API Functions</a></li>
511 <li><a href="docs/python/backends/exceptions.html">Backends API Exceptions</a></li>
512 <li><a href="docs/python/backends/logserviceapi.html">LogService API</a></li>
513 <li><a href="docs/python/backends/applog.html">AppLog Class</a></li>
514 <li><a href="docs/python/backends/requestlog.html">RequestLog Class</a></li>
515 <li><a href="docs/python/backends/runtimeapi.html">Runtime API</a></li>
516 </ul>
517 </li>
519 </ul>
520 </li>
521 <li><a href="docs/python/datastore/index.html">Storing Data</a>
522 <ul>
523 <li><a href="docs/python/datastore/overview.html">Datastore Overview</a></li>
524 <li><a href="docs/python/datastore/entities.html">Entities</a></li>
525 <li><a href="docs/python/datastore/queries.html">Queries</a></li>
526 <li><a href="docs/python/datastore/transactions.html">Transactions</a></li>
527 <li><a href="docs/python/datastore/datamodeling.html">Data Modeling</a></li>
528 <li><a href="docs/python/datastore/gqlreference.html">GQL Reference</a></li>
529 <li><a href="docs/python/datastore/hr/index.html">Choosing a Datastore</a></li>
530 <li><a href="docs/python/datastore/hr/overview.html">Using the High Replication Datastore</a></li>
531 <li><a href="docs/python/datastore/metadataqueries.html">Metadata Queries</a></li>
532 <li><a href="docs/python/datastore/stats.html">Statistics</a></li>
533 <li><a href="docs/python/datastore/async.html">Async API</a></li>
534 <li><span class="tlw-title tlw-expanded">Reference</span>
535 <ul>
536 <li><a href="docs/python/datastore/typesandpropertyclasses.html">Types and Property Classes</a></li>
537 <li><a href="docs/python/datastore/gqlreference.html">GQL Reference</a></li>
538 <li><a href="docs/python/datastore/modelclass.html">Model</a></li>
539 <li><a href="docs/python/datastore/expandoclass.html">Expando</a></li>
540 <li><a href="docs/python/datastore/polymodelclass.html">PolyModel</a></li>
541 <li><a href="docs/python/datastore/propertyclass.html">Property</a></li>
542 <li><a href="docs/python/datastore/queryclass.html">Query</a></li>
543 <li><a href="docs/python/datastore/gqlqueryclass.html">GqlQuery</a></li>
544 <li><a href="docs/python/datastore/metadataqueryclass.html">Metadata Query</a></li>
545 <li><a href="docs/python/datastore/keyclass.html">Key</a></li>
546 <li><a href="docs/python/datastore/functions.html">Functions</a></li>
547 <li><a href="docs/python/datastore/exceptions.html">Exceptions</a></li>
548 </ul>
549 </li>
551 </ul>
552 </li>
553 <li><a href="docs/python/dataprocessing/index.html">Data Processing</a>
554 <ul>
555 <li><a href="docs/python/dataprocessing/overview.html">Overview</a></li>
556 <li><a href="docs/python/dataprocessing/helloworld.html">Hello World</a></li>
557 <li><span class="tlw-title tlw-expanded">Reference</span>
558 <ul>
559 <li><a href="docs/python/dataprocessing/mapreducepipelineclass.html">Mapreduce Pipline</a></li>
560 <li><a href="docs/python/dataprocessing/readers_writers.html">Standard Input Readers and Output Writers</a></li>
561 </ul>
562 </li>
564 </ul>
565 </li>
566 <li><a href="docs/python/apis.html">Services</a>
567 <ul>
568 <li><a href="docs/python/appidentity/index.html">App Identity</a>
569 <ul>
570 <li><a href="docs/python/appidentity/overview.html">Overview</a></li>
571 <li><span class="tlw-title tlw-expanded">Reference</span>
572 <ul>
573 <li><a href="docs/python/appidentity/functions.html">Functions</a></li>
574 <li><a href="docs/python/appidentity/exceptions.html">Exceptions</a></li>
575 </ul>
576 </li>
578 </ul>
579 </li>
580 <li><a href="docs/python/blobstore/index.html">Blobstore</a>
581 <ul>
582 <li><a href="docs/python/blobstore/overview.html">Overview</a></li>
583 <li><span class="tlw-title tlw-expanded">Reference</span>
584 <ul>
585 <li><a href="docs/python/blobstore/blobinfoclass.html">BlobInfo</a></li>
586 <li><a href="docs/python/blobstore/blobkeyclass.html">BlobKey</a></li>
587 <li><a href="docs/python/blobstore/blobreaderclass.html">BlobReader</a></li>
588 <li><a href="docs/python/blobstore/functions.html">Functions</a></li>
589 <li><a href="docs/python/blobstore/exceptions.html">Exceptions</a></li>
590 </ul>
591 </li>
593 </ul>
594 </li>
595 <li><a href="docs/python/capabilities/index.html">Capabilities</a>
596 <ul>
597 <li><a href="docs/python/capabilities/overview.html">Overview</a></li>
598 <li><span class="tlw-title tlw-expanded">Reference</span>
599 <ul>
600 <li><a href="docs/python/capabilities/capabilitysetclass.html">CapabilitySet</a></li>
601 <li><a href="docs/python/capabilities/exceptions.html">Exceptions</a></li>
602 </ul>
603 </li>
605 </ul>
606 </li>
607 <li><a href="docs/python/conversion/index.html">Conversion</a>
608 <ul>
609 <li><a href="docs/python/conversion/overview.html">Overview</a></li>
610 <li><span class="tlw-title tlw-expanded">Reference</span>
611 <ul>
612 <li><a href="docs/python/conversion/conversionclass.html">Conversion Class</a></li>
613 <li><a href="docs/python/conversion/propertyclasses.html">Property Classes</a></li>
614 <li><a href="docs/python/conversion/functions.html">Functions</a></li>
615 <li><a href="docs/python/conversion/exceptions.html">Exceptions</a></li>
616 </ul>
617 </li>
619 </ul>
620 </li>
621 <li><a href="docs/python/channel/index.html">Channel</a>
622 <ul>
623 <li><a href="docs/python/channel/overview.html">Overview</a></li>
624 <li><span class="tlw-title tlw-expanded">Reference</span>
625 <ul>
626 <li><a href="docs/python/channel/functions.html">Functions</a></li>
627 <li><a href="docs/python/channel/exceptions.html">Exceptions</a></li>
628 <li><a href="docs/python/channel/javascript.html">Client Javascript Reference</a></li>
629 </ul>
630 </li>
632 </ul>
633 </li>
634 <li><a href="docs/python/images/index.html">Images</a>
635 <ul>
636 <li><a href="docs/python/images/overview.html">Overview</a></li>
637 <li><a href="docs/python/images/installingPIL.html">Installing PIL</a></li>
638 <li><a href="docs/python/images/usingimages.html">Using the Images API</a></li>
639 <li><span class="tlw-title tlw-expanded">Reference</span>
640 <ul>
641 <li><a href="docs/python/images/imageclass.html">Image</a></li>
642 <li><a href="docs/python/images/functions.html">Functions</a></li>
643 <li><a href="docs/python/images/exceptions.html">Exceptions</a></li>
644 </ul>
645 </li>
647 </ul>
648 </li>
649 <li><a href="docs/python/mail/index.html">Mail</a>
650 <ul>
651 <li><a href="docs/python/mail/overview.html">Overview</a></li>
652 <li><a href="docs/python/mail/sendingmail.html">Sending Mail</a></li>
653 <li><a href="docs/python/mail/receivingmail.html">Receiving Mail</a></li>
654 <li><a href="docs/python/mail/attachments.html">Attachments</a></li>
655 <li><a href="docs/python/mail/headers.html">Headers</a></li>
656 <li><span class="tlw-title tlw-expanded">Reference</span>
657 <ul>
658 <li><a href="docs/python/mail/emailmessageclass.html">EmailMessage</a></li>
659 <li><a href="docs/python/mail/emailmessagefields.html">Message Fields</a></li>
660 <li><a href="docs/python/mail/functions.html">Functions</a></li>
661 <li><a href="docs/python/mail/exceptions.html">Exceptions</a></li>
662 </ul>
663 </li>
665 </ul>
666 </li>
667 <li><a href="docs/python/memcache/index.html">Memcache</a>
668 <ul>
669 <li><a href="docs/python/memcache/overview.html">Overview</a></li>
670 <li><a href="docs/python/memcache/usingmemcache.html">Using Memcache</a></li>
671 <li><span class="tlw-title tlw-expanded">Reference</span>
672 <ul>
673 <li><a href="docs/python/memcache/clientclass.html">Client</a></li>
674 <li><a href="docs/python/memcache/functions.html">Functions</a></li>
675 </ul>
676 </li>
678 </ul>
679 </li>
680 <li><a href="docs/python/multitenancy/index.html">Multitenancy</a>
681 <ul>
682 <li><a href="docs/python/multitenancy/overview.html">Overview</a></li>
683 <li><a href="docs/python/multitenancy/multitenancy.html">Multitenancy with Namespaces</a></li>
684 <li><a href="docs/python/multitenancy/namespaces.html">Other Uses for Namespaces</a></li>
685 <li>Reference
686 <ul>
687 <li><a href="docs/python/multitenancy/functions.html">Functions</a></li>
688 <li><a href="docs/python/multitenancy/exceptions.html">Exceptions</a></li>
689 </ul>
690 </li>
692 </ul>
693 </li>
694 <li><a href="docs/python/oauth/index.html">OAuth</a>
695 <ul>
696 <li><a href="docs/python/oauth/overview.html">Overview</a></li>
697 <li><span class="tlw-title tlw-expanded">Reference</span>
698 <ul>
699 <li><a href="docs/python/oauth/functions.html">Functions</a></li>
700 <li><a href="docs/python/oauth/exceptions.html">Exceptions</a></li>
701 </ul>
702 </li>
704 </ul>
705 </li>
706 <li><a href="docs/python/prospectivesearch/index.html">Prospective Search</a>
707 <ul>
708 <li><a href="docs/python/prospectivesearch/overview.html">Overview</a></li>
709 <li><span class="tlw-title tlw-expanded">Reference</span>
710 <ul>
711 <li><a href="docs/python/prospectivesearch/functions.html">Functions</a></li>
712 <li><a href="docs/python/prospectivesearch/exceptions.html">Exceptions</a></li>
713 </ul>
714 </li>
716 </ul>
717 </li>
718 <li><a href="docs/python/googlestorage/index.html">Google Cloud Storage</a>
719 <ul>
720 <li><a href="docs/python/googlestorage/overview.html">Overview</a></li>
721 <li><a href="docs/python/googlestorage/functions.html">Functions</a></li>
722 <li><a href="docs/python/googlestorage/exceptions.html">Exceptions</a></li>
723 </li>
726 </ul>
727 </li>
728 <li><a href="docs/python/taskqueue/index.html">Task Queues</a>
729 <ul>
730 <li><a href="docs/python/taskqueue/overview.html">Overview</a></li>
731 <li><a href="docs/python/taskqueue/overview-push.html">Using Push Queues</a></li>
732 <li><a href="docs/python/taskqueue/overview-pull.html">Using Pull Queues</a><sup class="new">New!</sup></li>
733 <li><span class="tlw-title tlw-expanded">Reference</span>
734 <ul>
735 <li><a href="docs/python/taskqueue/tasks.html">Task Class</a></li>
736 <li><a href="docs/python/taskqueue/taskretryoptions.html">TaskRetryOptions Class</a></li>
737 <li><a href="docs/python/taskqueue/queues.html">Queue Class</a></li>
738 <li><a href="docs/python/taskqueue/rest.html">REST</a> <span class="exp-feat">(Experimental)</span></li>
739 <li><a href="docs/python/taskqueue/functions.html">Functions</a></li>
740 <li><a href="docs/python/taskqueue/exceptions.html">Exceptions</a></li>
741 </ul>
742 </li>
744 </ul>
745 </li>
746 <li><a href="docs/python/urlfetch/index.html">URL Fetch</a>
747 <ul>
748 <li><a href="docs/python/urlfetch/overview.html">Overview</a></li>
749 <li><span class="tlw-title tlw-expanded">Reference</span>
750 <ul>
751 <li><a href="docs/python/urlfetch/fetchfunction.html">The fetch Function</a></li>
752 <li><a href="docs/python/urlfetch/asynchronousrequests.html">Asynchronous Requests</a></li>
753 <li><a href="docs/python/urlfetch/responseobjects.html">Response Objects</a></li>
754 <li><a href="docs/python/urlfetch/exceptions.html">Exceptions</a></li>
755 </ul>
756 </li>
758 </ul>
759 </li>
760 <li><a href="docs/python/users/index.html">Users</a>
761 <ul>
762 <li><a href="docs/python/users/overview.html">Overview</a></li>
763 <li><a href="docs/python/users/userobjects.html">User Objects</a></li>
764 <li><a href="docs/python/users/loginurls.html">Login URLs</a></li>
765 <li><a href="docs/python/users/adminusers.html">Admin Users</a></li>
767 <li><span class="tlw-title tlw-expanded">Reference</span>
768 <ul>
769 <li><a href="docs/python/users/userclass.html">User</a></li>
770 <li><a href="docs/python/users/functions.html">Functions</a></li>
771 <li><a href="docs/python/users/exceptions.html">Exceptions</a></li>
772 </ul>
773 </li>
775 </ul>
776 </li>
777 <li><a href="docs/python/xmpp/index.html">XMPP</a>
778 <ul>
779 <li><a href="docs/python/xmpp/overview.html">Overview</a></li>
780 <li><span class="tlw-title tlw-expanded">Reference</span>
781 <ul>
782 <li><a href="docs/python/xmpp/functions.html">Functions</a></li>
783 <li><a href="docs/python/xmpp/messageclass.html">Message</a></li>
784 <li><a href="docs/python/xmpp/exceptions.html">Exceptions</a></li>
785 </ul>
786 </li>
788 </ul>
789 </li>
790 </ul>
791 </li>
792 <li><a href="docs/python/config/index.html">Configuration</a>
793 <ul>
794 <li><a href="docs/python/config/appconfig.html">App Config</a></li>
795 <li><a href="docs/python/config/backends.html">Backends Config</a></li>
796 <li><a href="docs/python/config/indexconfig.html">Index Config</a></li>
797 <li><a href="docs/python/config/cron.html">Scheduled Tasks</a></li>
798 <li><a href="docs/python/config/queue.html">Task Queue Config</a></li>
799 <li><a href="docs/python/config/dos.html">DoS Protection Config</a></li>
801 </ul>
802 </li>
803 <li><span class="tlw-title"><a href="docs/python/tools/index.html">Tools</a></span>
804 <ul>
805 <li><a href="docs/python/tools/devserver.html">Development Server</a></li>
806 <li><a href="docs/python/tools/uploadinganapp.html">Uploading and Managing an App</a></li>
807 <li><a href="docs/python/tools/uploadingdata.html">Uploading and Downloading Data</a></li>
808 <li><span class="tlw-title"><a href="docs/python/tools/protorpc/index.html">ProtoRPC</a></span>
809 <ul>
810 <li><a href="docs/python/tools/protorpc/overview.html">Overview</a></li>
811 <li><a href="docs/python/tools/protorpc/definition-functions.html">Definition Module</a></li>
812 <li>Descriptor Module
813 <ul>
814 <li><a href="docs/python/tools/protorpc/descriptor/descriptorlibrary.html">DescriptorLibrary Functions</a></li>
815 <li><a href="docs/python/tools/protorpc/descriptor/functions.html">Functions</a></li>
817 </ul>
818 </li>
819 <li>Messages Module
820 <ul>
821 <li><a href="docs/python/tools/protorpc/messages/enumclass.html">Enum</a></li>
822 <li><a href="docs/python/tools/protorpc/messages/enumfieldclass.html">EnumField</a></li>
823 <li><a href="docs/python/tools/protorpc/messages/fieldclass.html">Field</a></li>
824 <li><a href="docs/python/tools/protorpc/messages/fieldclasses.html">Message Field Classes</a></li>
825 <li><a href="docs/python/tools/protorpc/messages/messageclass.html">Message</a></li>
826 <li><a href="docs/python/tools/protorpc/messages/messagefieldclass.html">MessageField</a></li>
827 <li><a href="docs/python/tools/protorpc/messages/variantclass.html">Variant</a></li>
828 <li><a href="docs/python/tools/protorpc/messages/functions.html">Functions</a></li>
829 <li><a href="docs/python/tools/protorpc/messages/exceptions.html">Exceptions</a></li>
830 </ul>
831 </li>
832 <li>Remote Service Library
833 <ul>
834 <li><a href="docs/python/tools/protorpc/remote/index.html">Overview</a></li>
835 <li><a href="docs/python/tools/protorpc/remote/httprequeststateclass.html">HttpRequestState Class</a></li>
836 <li><a href="docs/python/tools/protorpc/remote/requeststateclass.html">RequestState Class</a></li>
837 <li><a href="docs/python/tools/protorpc/remote/rpcstatusclass.html">RpcStatus Class</a></li>
838 <li><a href="docs/python/tools/protorpc/remote/serviceclass.html">Service Class</a></li>
839 <li><a href="docs/python/tools/protorpc/remote/functions.html">Functions</a></li>
840 <li><a href="docs/python/tools/protorpc/remote/exceptions.html">Exceptions</a></li>
842 </ul>
843 </li>
844 <li>Transport Library
845 <ul>
846 <li><a href="docs/python/tools/protorpc/transport/httptransport.html">HttpTransport Class</a></li>
847 <li><a href="docs/python/tools/protorpc/transport/transport.html">Transport Class</a></li>
849 </ul>
850 </li>
851 <li>WebApp Service Handlers
852 <ul>
853 <li><a href="docs/python/tools/protorpc/webapp/index.html">Overview</a></li>
854 <li><a href="docs/python/tools/protorpc/webapp/functions.html">WebApp Service Handlers</a></li>
856 </ul>
857 </li>
859 </ul>
860 </li>
861 <li><a href="docs/python/tools/webapp/index.html">webapp Framework</a>
862 <ul>
863 <li><a href="docs/python/tools/webapp/overview.html">Overview</a></li>
864 <li><a href="docs/python/tools/webapp/running.html">Running the Application</a></li>
865 <li><a href="docs/python/tools/webapp/requesthandlers.html">Request Handlers</a></li>
866 <li><a href="docs/python/tools/webapp/requestdata.html">Request Data</a></li>
867 <li><a href="docs/python/tools/webapp/buildingtheresponse.html">Building the Response</a></li>
868 <li><a href="docs/python/tools/webapp/redirects.html">Redirects, Headers and Status Codes</a></li>
869 <li><a href="docs/python/tools/webapp/blobstorehandlers.html">Blobstore Handlers</a></li>
871 <li><span class="tlw-title tlw-expanded">Reference</span>
872 <ul>
873 <li><a href="docs/python/tools/webapp/requestclass.html">Request</a></li>
874 <li><a href="docs/python/tools/webapp/responseclass.html">Response</a></li>
875 <li><a href="docs/python/tools/webapp/requesthandlerclass.html">RequestHandler</a></li>
876 <li><a href="docs/python/tools/webapp/wsgiapplicationclass.html">WSGIApplication</a></li>
877 <li><a href="docs/python/tools/webapp/utilmodule.html">Utility Functions</a></li>
879 </ul>
880 </li>
882 </ul>
883 </li>
884 <li><a href="docs/python/tools/localunittesting.html">Local Unit Testing</a></li>
885 <li><a href="docs/python/tools/appstats.html">Appstats</a></li>
886 <li><a href="docs/python/tools/libraries.html">Included Libraries </a>(Python 2.5)</li>
887 <li><a href="docs/python/tools/libraries27.html">Included Libraries</a>(Python 2.7)</li>
888 <li><a href="docs/python/tools/appengineconfig.html">Python Module Configuration</a></li>
890 </ul>
891 </li>
892 <li><a href="docs/python/howto/index.html">How-To</a>
893 <ul>
894 <li><a href="docs/python/howto/usinggdataservices.html">Google Data Services</a></li>
895 <li><a href="docs/python/howto/maintenance.html">Handling Scheduled Maintenance Periods</a></li>
897 </ul>
898 </li>
900 </ul>
901 </li>
902 </ul>
903 <div class="line"></div>
904 <ul>
905 <li><h2>Go</h2> <span class="exp-feat">Experimental!</span>
906 <ul>
907 <li><a href="docs/go/overview.html">Overview</a></li>
908 <li><a href="docs/go/runtime.html">Runtime Environment</a>
909 <ul>
910 <li><a href="docs/go/reference.html">Reference</a></li>
911 </ul>
912 </li>
913 <li><a href="docs/go/backends/index.html">Backends</a>
914 <ul>
915 <li><a href="docs/go/backends/overview.html">Overview</a></li>
916 <li><a href="docs/go/backends/runtime.html">Runtime package</a></li>
918 </ul>
919 </li>
920 <li><a href="docs/go/datastore/index.html">Storing Data</a>
921 <ul>
922 <li><a href="docs/go/datastore/overview.html">Overview</a></li>
923 <li><a href="docs/go/datastore/transactions.html">Transactions</a></li>
924 <li><a href="docs/go/datastore/reference.html">Reference</a></li>
926 </ul>
927 </li>
928 <li><a href="docs/go/apis.html">Services</a>
929 <ul>
930 <li><a href="docs/go/blobstore/index.html">Blobstore</a>
931 <ul>
932 <li><a href="docs/go/blobstore/overview.html">Overview</a></li>
933 <li><a href="docs/go/blobstore/reference.html">Reference</a></li>
935 </ul>
936 </li>
937 <li><a href="docs/go/capabilities/index.html">Capabilities</a>
938 <ul>
939 <li><a href="docs/go/capabilities/overview.html">Overview</a></li>
940 <li><a href="docs/go/capabilities/reference.html">Reference</a></li>
942 </ul>
943 </li>
944 <li><a href="docs/go/channel/index.html">Channel</a>
945 <ul>
946 <li><a href="docs/go/channel/overview.html">Overview</a></li>
947 <li><a href="docs/go/channel/reference.html">Reference</a></li>
948 <li><a href="docs/go/channel/javascript.html">Client Javascript Reference</a></li>
950 </ul>
951 </li>
952 <li><a href="docs/go/mail/index.html">Mail</a>
953 <ul>
954 <li><a href="docs/go/mail/overview.html">Overview</a></li>
955 <li><a href="docs/go/mail/reference.html">Reference</a></li>
957 </ul>
958 </li>
959 <li><a href="docs/go/memcache/index.html">Memcache</a>
960 <ul>
961 <li><a href="docs/go/memcache/overview.html">Overview</a></li>
962 <li><a href="docs/go/memcache/reference.html">Reference</a></li>
964 </ul>
965 </li>
966 <li><a href="docs/go/taskqueue/index.html">Task Queues</a>
967 <ul>
968 <li><a href="docs/go/taskqueue/overview.html">Overview</a></li>
969 <li><a href="docs/go/taskqueue/reference.html">Reference</a></li>
970 <li><a href="docs/go/taskqueue/delay.html">Delay package</a></li>
972 </ul>
973 </li>
974 <li><a href="docs/go/urlfetch/index.html">URL Fetch</a>
975 <ul>
976 <li><a href="docs/go/urlfetch/overview.html">Overview</a></li>
977 <li><a href="docs/go/urlfetch/reference.html">Reference</a></li>
979 </ul>
980 </li>
981 <li><a href="docs/go/users/index.html">Users</a>
982 <ul>
983 <li><a href="docs/go/users/overview.html">Overview</a></li>
984 <li><a href="docs/go/users/reference.html">Reference</a></li>
986 </ul>
987 </li>
988 </ul>
989 <li><a href="docs/go/config/index.html">Configuration</a>
990 <ul>
991 <li><a href="docs/go/config/appconfig.html">App Config</a></li>
992 <li><a href="docs/go/config/backends.html">Backends Config</a></li>
993 <li><a href="docs/go/config/indexconfig.html">Index Config</a></li>
994 <li><a href="docs/go/config/cron.html">Scheduled Tasks</a></li>
995 <li><a href="docs/go/config/queue.html">Task Queue Config</a></li>
996 <li><a href="docs/go/config/dos.html">DoS Protection Config</a></li>
998 </ul>
999 </li>
1000 <li><a href="docs/go/tools/index.html">Tools</a>
1001 <ul>
1002 <li><a href="docs/go/tools/devserver.html">Development Server</a></li>
1003 <li><a href="docs/go/tools/uploadinganapp.html">Uploading and Managing an App</a></li>
1005 </ul>
1006 </li>
1007 </li>
1009 </ul>
1010 </li>
1011 </ul>
1012 <div class="line"></div>
1013 <ul>
1014 <li><h2>Managing Your App</h2>
1015 <ul>
1016 <li><a href="docs/adminconsole/index.html">Admin Console</a>
1017 <ul>
1018 <li><a href="docs/adminconsole/instances.html">Instances</a></li>
1019 <li><a href="docs/adminconsole/roles.html">Roles</a></li>
1020 <li><a href="docs/adminconsole/applicationsettings.html">Application Settings</a></li>
1021 <li><a href="docs/adminconsole/datastoreadmin.html">Datastore</a></li>
1022 <li><a href="docs/adminconsole/performancesettings.html">Performance Settings</a></li>
1024 </ul>
1025 </li>
1026 <li><a href="docs/quotas.html">Quotas</a></li>
1027 <li><a href="docs/billing.html">Billing</a></li>
1028 <li><a href="docs/premier/index.html">Premier Accounts</a></li>
1029 <li><a href="docs/domain.html">Using a Custom Domain</a></li>
1030 </ul>
1031 </li>
1032 </ul>
1033 <div class="line"></div>
1034 <ul>
1035 <li><h2>Resources</h2>
1036 <ul>
1037 <li><a href="kb/index.html">FAQ</a></li>
1038 <li><a href="articles/index.html">Articles</a></li>
1039 <li><a href="docs/videoresources.html">Video Resources</a><sup class="new">New!</sup></li>
1040 <li><a href="http://code.google.com/p/googleappengine/">SDK Code</a></li>
1041 <li><a href="http://code.google.com/p/datanucleus-appengine/">JDO/JPA Code</a></li>
1042 <li><a href="http://code.google.com/p/google-app-engine-samples/">Sample Apps Code</a></li>
1043 <li>Launcher Code
1044 <ul>
1045 <li><a href="http://code.google.com/p/google-appengine-mac-launcher/">Mac</a></li>
1046 <li><a href="http://code.google.com/p/google-appengine-wx-launcher/">Windows/wx</a></li>
1047 </ul>
1048 </li>
1049 <li><a href="community.html">Discussion Groups</a></li>
1050 </ul>
1051 </li>
1052 </ul>
1053 <div class="line"></div>
1054 <ul>
1055 <li><a href="docs/roadmap.html">Product Roadmap</a></li>
1056 <li><a href="http://code.google.com/p/googleappengine/wiki/SdkReleaseNotes">Release Notes: Python</a></li>
1057 <li><a href="http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes">Release Notes: Java</a></li>
1058 <li><a href="docs/revision_history.html">Revision History</a></li>
1059 </ul>
1061 <a class="hidden" href="#gc-topnav-anchor">More Google App Engine resource links</a>
1062 </div>
1064 <div class="g-unit" id="gc-pagecontent">
1065 <h1 class="page_title">Why App Engine</h1>
1069 <div id="jd-content">
1071 Google App Engine enables you to build web applications on the same scalable
1072 systems that power Google applications. App Engine applications are easy to
1073 build, easy to maintain, and easy to scale as your traffic and data storage
1074 needs grow. With App Engine, there are no servers to maintain: You just
1075 upload your application, and it's ready to serve to your users.
1076 </p>
1078 Find out why App Engine may be right for your business.
1079 </p>
1080 <ul>
1081 <li><a href="#start">Easy to get Started</a></li>
1082 <li><a href="#norisk">Free and Risk-free Development</a></li>
1083 <li><a href="#scale">Automatic Scalability</a></li>
1084 <li>
1085 <a href="#reliable">The reliability, performance and security of
1086 Google's infrastructure</a>
1087 </li>
1088 </ul>
1090 <div class="jd-descr">
1091 <h2 id="start">Easy to get Started</h2>
1092 <div style="width:800px">
1094 App Engine is a complete development stack that uses familiar technologies to
1095 build and host web applications. With App Engine you write your application
1096 code, test it on your local machine and upload it to Google with a simple
1097 click of a button or command line script. Once your application is uploaded
1098 to Google we host and scale your application for you. You no longer need to
1099 worry about system administration, bringing up new instances of your
1100 application, sharding your database or buying machines. We take care of all
1101 the maintenance so you can focus on features for your users.
1102 </p>
1103 </div>
1105 <h2 id="norisk">Free and Risk-free Development</h2>
1106 <div style="width:800px">
1108 Not only is creating an App Engine application easy, it's free! You can
1109 create an account and publish an application that people can use right
1110 away at no charge, and with no obligation. When you need to use more
1111 resources, you can enable billing and allocate your budget according to your
1112 needs. Detailed pricing for usage that has exceeded the free quota on
1113 our <a href="http://code.google.com/appengine/docs/billing.html">Billing
1114 page</a>.
1115 </p>
1116 </div>
1118 <h2 id="scale">Automatic Scalability</h2>
1119 <div style="width:800px">
1121 For the the first time your applications can take advantage of the same
1122 scalable technologies that Google applications are built on, things like
1123 BigTable and GFS. Automatic scaling is built in with App Engine, all you have
1124 to do is write your application code and we'll do the rest. No matter how
1125 many users you have or how much data your application stores, App Engine can
1126 scale to meet your needs.
1127 </p>
1128 </div>
1130 <h2 id="reliable">The reliability, performance and security of Google's infrastructure</h2>
1131 <div style="width:800px">
1133 Google has a reputation for highly reliable, high performance infrastructure.
1134 With App Engine you can take advantage of the 10 years of knowledge Google
1135 has in running massively scalable, performance driven systems. The same
1136 security, privacy and data protection policies we have for Google's
1137 applications applies to all App Engine applications. We take security very
1138 seriously and have measures in place to protect your code and application
1139 data.
1140 </p>
1141 </div>
1143 </div>
1145 </div>
1148 </div><!-- end gc-pagecontent -->
1149 </div><!-- end gooey wrapper -->
1151 </div> <!-- end codesite content -->
1154 <div id="gc-footer" dir="ltr">
1155 <div class="text">
1157 <div class="notice"><div id="notice" style="text-align: center; border: 1em 0em 1em 0em">
1158 Except as otherwise <a
1159 href="http://code.google.com/policies.html#restrictions">noted</a>,
1160 the content of this page is licensed under the <a rel="license"
1161 href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
1162 Attribution 3.0 License</a>, and code samples are licensed under the
1163 <a rel="license" href="http://www.apache.org/licenses/LICENSE-2.0">Apache
1164 2.0 License</a>.
1165 <!-- <rdf:RDF xmlns="http://web.resource.org/cc/"
1166 xmlns:dc="http://purl.org/dc/elements/1.1/"
1167 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
1168 <Work rdf:about="">
1169 <license rdf:resource="http://creativecommons.org/licenses/by/3.0/" />
1170 </Work>
1171 <License rdf:about="http://creativecommons.org/licenses/by/3.0/">
1172 <permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
1173 <permits rdf:resource="http://web.resource.org/cc/Distribution"/>
1174 <requires rdf:resource="http://web.resource.org/cc/Notice"/>
1175 <requires rdf:resource="http://web.resource.org/cc/Attribution"/>
1176 <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
1177 </License>
1178 </rdf:RDF> -->
1179 </div>
1180 Java is a registered trademark of Oracle Corporation and/or its affiliates</div>
1182 ©2011 Google -
1183 <a href="http://code.google.com">Code Home</a> -
1184 <a href="http://code.google.com/terms.html">Site Terms of Service</a> -
1185 <a href="http://code.google.com/privacy.html">Privacy Policy</a> -
1186 <a href="http://code.google.com/more">Site Directory</a>
1187 <br> <br>
1188 Google Code offered in:
1189 <a href="http://code.google.com/intl/en">English</a> -
1190 <a href="http://code.google.com/intl/es">Español</a> -
1191 <a href="http://code.google.com/intl/ja">日本語</a> -
1192 <a href="http://code.google.com/intl/ko">한국어</a> -
1193 <a href="http://code.google.com/intl/pt-BR">Português</a> -
1194 <a href="http://code.google.com/intl/ru">Pусский</a> -
1195 <a href="http://code.google.com/intl/zh-CN">中文(简体)</a> -
1196 <a href="http://code.google.com/intl/zh-TW">中文(繁體)</a>
1197 </div>
1198 </div><!-- end gc-footer -->
1200 </div><!-- end gc-container -->
1202 <script type="text/javascript">CODESITE_CSITimer['load'].tick('ats');</script>
1203 <script src="../js/codesite_tail.pack.04102009.js" type="text/javascript"></script>
1204 <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
1210 </body>
1211 </html>