Notice: Undefined index: order_next_posts in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 194

Notice: Undefined index: post_link_target in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 195

Notice: Undefined index: posts_featured_size in /nas/content/live/gadgetmag/wp-content/plugins/smart-scroll-posts/smart-scroll-posts.php on line 196

Develop for Google Chrome – making apps and extensions

Kunal Deo explores the art of developing for Google Chrome using HTML5 and more. In this tutorial you'll learn how to develop web apps and extensions for the world's fastest growing web browser…

This article originally appeared in issue 91 of Linux User & Developer magazine.

Subscribe and save more than 30% and receive our exclusive money back guarantee – click here to find out more.

The internet has evolved a lot since its inception. It was originally created to share hyperlinked text documents. Since then the internet and its related technologies have been developed into an all-round technology handling everything from simple HTML to complex applications. It has also grown into an excellent application platform – not just any application platform, but a true cross-platform one.

In the case of internet applications, the browser becomes the operating system. Fortunately, most of the technology which is used in building the internet, including the web browser, is based on open standards and is open source. This makes the internet’s operating system available on almost any software or hardware platform that ever existed or will ever exist.

Today most of us spend a considerable amount of time every day on the internet, inside a web browser, to carry out work- and leisure-related tasks. When you are on internet, it does not matter which operating system you are running or on what hardware you are using. Ummm… sometimes it matters, especially for something like video playback, but 90% of the time it doesn’t. What actually matters is the browser. The more modern and standards-compliant browser you have, the better the internet you will get.

In terms of standards, Google’s Chrome and Apple’s Safari web browsers are leading the way, with both scoring 100/100 in the Acid3 test, and Chrome scoring 197/300 and Safari 208/300 in the HTML5 test. In its current version, Mozilla Firefox is lagging behind both of those browsers with a 94/100 score in the Acid3 test and 139/300 in the HTML5 test.

Both Google Chrome and Apple Safari are excellent browsers from a standards point of view, but there is one major distinction: Chrome is completely open source and runs on Linux, whereas Safari is closed source and runs on Windows, Mac and iOS devices. Although this article will revolve around Google Chrome, it is encouraged that you also pay close attention to Safari while developing for the web, since it runs on some of the most popular mobile devices in the world such as the iPhone, the iPod touch and the iPad.

Let us return to the cross-platform aspect of web applications. Cross-platform web application really allows you to do what the Java slogan says without any fuss: ‘Write once, run anywhere’. But cross-platform is just one benefit. Web apps also provide various other benefits that are directly the result of how web applications are implemented.

A few examples are:
1. Runs directly from the cloud. No local installation required, no messing up the system with unwanted configuration changes.
2. Auto updated: Since these apps runs from the cloud, you just need to update an app at one place and every version of the web application is automatically updated.
3. Runs inside sandbox: Not really a benefit, but a great feature for users. Sandboxed applications cannot get access to the whole system, but are instead confined to their own sandbox, hence they run in a more secure way.
4. Low system resources usage: As most of the heavy lifting is done by the browser itself, your app (as well as other web apps) consumes much less system resources.

Now you may wonder, with this many cool features, why web apps are not mainstream. Well, there are two answers to that question. Firstly, they are mainstream for most of the applications that actually originated on the web, such as web search, web mail and social networking applications. Secondly, they are not mainstream for the apps that were originally ported from desktop/native applications to the web, such as word processing, instant messaging, 3D gaming and so on. The reason behind such web applications not going mainstream was their inability to deliver the same features as their desktop counterparts. Nobody wants to settle for an inferior version of their desktop product just because it is a web application, no matter how many things you say in favour of the cloud and cross-platform.

A lot of new standards were developed and existing standards were upgraded to make it possible for developers to build desktop-class web applications. Out of the many constantly evolving open standards, HTML5 is the main umbrella technology that is leading the revolution. HTML5 is still in development, but has gained a lot of traction and support from the community and browser makers. Most of the current browsers can handle HTML5 in some way or other, with the exception of Microsoft’s Internet Explorer.

HTML5 builds upon existing technologies – namely HTML, CSS and JavaScript. All these standards have got numerous new functionalities that really provide great powers to the web applications and diminish the gap between the web application and its desktop equivalent.

Continue to page 2…

You can find more tutorials from Linux User & Developer here…

[twitter username=”linuxusermag”]