Welcome to AE-BaseApp

The AE-BaseApp Project provides multi-platform Open Source base applications that are tuned to provide the best performance possible on Google App Engine. The source code is Licensed with the Apache License 2.0 (ASL 2.0) so you can use the code on closed as well as open source projects.

The primary goals of AE-BaseApp are:

  • Provide Simple Base Applications
  • Base Applications that are Designed to Scale
  • Built In Security
  • Social Site Integration
All this ready to use pre-configured so that you can get busy with coding your site and spend less time getting the project setup.

What applications benefit the most? Google App Engine is best used for applications that require quick responses. For example Give-A-Shout the example application that the BaseApp uses. If you are creating the next Social Media craze then App Engine is likely a good fit. Whereas if you are creating the next great Financial Analysis site where your data crunching can hit the time limit, then not so much. That's not to say that App Engine isn't good for data crunching, just that the scale of your analysis matters.

Think of App Engine as a giant request handler. You're building the response handler. Responses should be served as fast as possible. The largest request handler in the world can't make up for poor response performance. Design your response handlers to be as small as possible. Instead of creating the Mega Class that does everything try to keep each handler as tight as possible.

Another consideration is what your Data Model needs to be. App Engine is based on BigTable. Not all applications are able to break the SQL data model. For instance you don't want to try to even simulate a SQL join on BigTable. You need to think of your data more in terms of what a response needs not what a relationship needs. Duplicate the data if you need to, but make certain that your read operations pull everything you need for the response in one read if possible. That means grouping your data together. "But wait! That means I will have multiple copies of for instance, a product. What if I want to change it?" Glad you asked, welcome to the world of BigTable, you loose that fine grained control over data your accustomed to, in order to gain nearly unlimited scalability.

Contributors

Mark Finch
From: United States of America/Arizona
Has joined AE-BaseApp contributors!
Policies: Terms of Service Privacy DMCA