Nizar Diamond Ali introduces one of Google’s new application that will become every web developer’s helping hand
Web developers may have often wished they could run their applications over one of the best available infrastructure present in the cyber-space. They may have imagined asking Google to host their application along with plethora of its own. This may seem like a dream, but only until you have discovered Google App Engine.
Google has proved to be a revolution for the internet and continues to lead the fray with innovations that empower its wide variety of users. Most of Google’s users include masses that seek information and use its online tools to store and manage. But there is another category of users: web application developers, whom Google is set to attract with its latest offering, Google App Engine. We will briefly go over some details on what exactly this App Engine is, and what makes this a one-of-its-kind offering.
Google App Engine allows applications to develop with its Software Development Kit (SDK) to run over Google’s infrastructure. The SDK is for free and it allows development in Python language along with JavaScript and HTML to create fully functional web-services, including Ajax techniques. App Engine’s Gallery lists some of the sites created using App Engine. For example, it allows creating emoticons using personal photos, a Web 2.0 movie quote site, a car pool locater, an information sharing website where people tell where they are going for fun and a simple to-do list manager for personal organisation.
The App Engine implements several time-saving features for web developers. For example, to take advantage of existing user-base of Google, you can use a service called — what else —‘Users’. It is helpful for someone wanting his/her existing Google accounts to sign-in into the web application being developed to get access to some personalised content or service.
The next important aspect of this App Engine is data model. Instead of a traditional database such as MySQL, Google introduces concept of a Datastore, over which GQL (a language similar to SQL) can be used for querying. The CRUD operations (like create, retrieve, update and delete) are supported in this model of data maintenance.
Yet another feature of App Engine is support for template system to keep HTML separate so that the developers can focus on programming functionality of the site.
Then, there is quite an extensive documentation available online that details the Application Programming Interfaces (APIs) providing a range of functionalities like Datastore handling which includes (entities, indexes, queries, transactions, etc.), user handling includes (login, admin users, etc.), URL operations such as fetch and response, and sending mails, attachments, etc., in handling emails. Also, framework overview, redirection, configuration, web-server handling, admin console, uploading the application and sample code and sites can be developed using the App Engine.
Lastly, the App Engine SDK also includes a web-server which simulates the environment in which the application will be hosted. This frees the developer from intricacies of juggling with server access and directory path configurations, and then matching those settings at the time of publishing over a production site. Also, you will not have to worry about coding or recoding aspects related to scaling, maintaining distributed databases, load balancing, database and web-server configurations, etc.
Google App Engine allows applications to develop with its Software Development Kit (SDK) to run over Google’s infrastructure. The SDK is for free and it allows development in Python language along with JavaScript and HTML to create fully functional web-services, including Ajax techniques.
Downloading and testing sample application
1. Download the SDK for the operating system on which it is to be used.
3. In case of Windows and Mac, double-click the SDK installer to install it. In case of Linux distributions, unzip the SDK zip file.
You will find a sample application called Guest Book in folder demos/guestbook. To run this application, type the following at command prompt: dev_appserver.py/demos/guestbook
Wait for the response ‘Running application guestbook on port 8080: http://localhost:8080’ and point the browser to the address to view the application.
At this point, it is also recommended that you go through the online Getting Started guide to get a working grip on the App Engine and capabilities of its framework.
Why use Google App Engine?
Think about the currently available options for a web application developer. S/he has to get a development environment (like Visual Studio), database system (like Oracle or SQL Server) and web-server (like IIS) to build applications locally.
The next step is to get a hosting service to match the exact configuration: say, if SQL Server database was used, then the hosting company must provide the same with matching version and settings to ensure all features function as expected.
And if the site has to send emails they have to be configured separately according to the hosting service’s environment. Uploading and synchronising files is another headache since this has to be done manually. In addition, issues of getting domain name, banner/ad less hosting and limitations in terms of bandwidth and disk size may all incur extra cost.
Google App Engine, on the other hand, provides an integrated development environment, online hosting that allows the site to grow to serve up to millions of users with five million page views per month and 500MB disk space over hosting at
www.appspot.com domain — and it is all for free.
As of now, the service is in preview mode and allows users-in-waiting list to upload their applications. Nonetheless, anyone can simply download the SDK and start development right away.