Google App Engine – Python Development

Developing websites on the Google App Engine in the Google’s Cloud structure has been done by MVI since 2012. The reason MVI recommends this location for development is to harness the infrastructure offered by Google and to utilize many other advantages a website can gain by associating their e-commerce shopping cart directly on the Google Infrastructure.

MVI builds sites using their domain name and we restrict access to the website to our developers and website owner’s staff. We develop using Python, which is a language supported by the Google environment. The Python runtime environment is utilized because it ensures that our applications run quickly, securely, and without interference with other apps on the system. It accomplishes this because it is object oriented programming language (read more below).

The hosting environment expense of GAE is similar to many other hosting centers. All storage and bandwidth are billed at competitive industry rates. But the real advantage is the close association developed with a major player in our industry. Since all of our successful shopping carts rely on Google for the bulk of their traffic, it makes sense to build a cart on the Google Cloud, which makes it easier to harness the advantages of the Search, Google Shop, Google Analytics, superior programming language, positive uptime and availability around the world. Additional reasons we chose the GAE are:

  • Solves the problems associated with scaling
  • Superior servers and expansive space as needed.
  • Maintenance of servers not necessary
  • GAE’s BigTable datastore is not object-oriented or even object-relational. The main advantage is scalability and a tighter guarantee on the amount of time a query will take.

There are negatives:

  • Must use pure Python development
  • Must code all new apps using Python
  • Cannot integrate outside apps development different language

Python Object Oriented Development

Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools and comes with extensive standard libraries. Python programmers report productivity gains and feel the language encourages the development of higher quality, more maintainable code.

Python runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones. Python has also been ported to the Java and.NET virtual machines. Python is distributed under an OSI-approved open source license that makes it free to use, even for commercial products.

Python is widely used in scientific and numeric computing: Bioinformatics Python course in Bioinformatics Physics Education.

Python is a superb language for teaching programming, both at the introductory level and for more advanced courses. Education Special Interest Group is a good place to start. pyBiblio links to many different resources.

Software Development

Python is often used as a support language for software developers, for build control and management, testing, and in many other ways; SCons for build control, Build stand Apache Gump for automated continuous compilation and testing, Roundup or Trac for bug tracking and project management.

Integrated Development Environments.

Game and 3D Graphics Python is widely used in commercial and hobby game development.  A partial list of games is on the Python Games wiki page. PyGame and PyKyra are two of the game frameworks available for Python.

List of 3D rendering libraries available for Python.

PyWeek is a semi-annual game programming contest, writing basic CGI scripts, frameworks such as Django and Turbo Gears, High-end solutions such as Zope, and Advanced content management systems such as Plone.

For custom web solutions and other internet-based applications:

Extensive support for XML. E-mail processing. Processing RSS feeds. Support for many other Internet protocols. Database Access Custom and ODBC interfaces to MySQL, Oracle, MS SQL Server, PostgreSQL, SybODBC, and others are available for free download. Standard Database API. Object databases such as ZODB and Durus. Desktop GUIsThe TkGUI development library is included with most binary distributions for Python. wxWidgets GTK+ Microsoft Foundation Classes through the win32 extensions Delphi