The Web is constantly changing. Although HTML5 will have likely have huge impact on the web the change is more in how we use the Internet. The traditional approach of building web sites was to have a server-side code (web components) that that generates HTML for display in a browser. Because it is not good to mix content with code, the HTML will include lots of stuff from content management systems (CMS) or some other source. The output is an HTML for the browser. The simplicity and ubiquity of the browser made it this ideal choice. Now we are seeing the shift to apps and APIs.
The rise of the apps is driven by mobile smartphones and the popularity of JavaScript as well as the emergence of HTML5. User experience code is executed client side while the logic is behind APIs. The rise of APIs is driven by the need to open web sites for programatic access. Full circle once again to client-server.
The App goes Native
With the success of Apple‘s iPhone, the app has gained much popularity, especially on devices like phones and now tablets. The benefits of apps are well-known as these are nothing new. However, what Apple did was to create a distribution model, an on-line App Store that made this possible. The App Store is to apps and devices running them, what iTunes is to the iPod and music. The real success behind apps is the App Store and Apple’s business model that drives developers (Apple takes 30%, developer 70%). All billing is taken care of by Apple.
Apps work well for specialized functionality and in particular, games. As the quality standards are high, the design of the apps needs to be good. For functionality where the services of the device are necessary (geo-location, accelerator etc), apps are choice. For apps that just use the web, good apps implemented in JavaScript and HTML5 can be as good as native apps and have the benefit of running in all browsers. We must realize that JavaScript is an app.
The Rise of the API
One reason people talk about the decline of the web is that the web turned into APIs. Companies offering services on web sites realized that by opening up their APIs, others would innovate, create new services and make the site more popular. Facebook and Twitter are perfect examples.
The key to these APIs is to have them simple and lightweight. This explains the popularity of REST and message format such as Json. REST is simple HTTP (or HTTP used right) and Json is compact and easy to use with JavaScript.
JavaScript is back, now with HTML5
With better and more usable JavaScript libraries, apps written in this browser-based language are becoming more attractive. Furthermore, open source JavaScript apps are available as embedable gadgets.
HTML5 is the next step in the markup language. This version has many interesting additions. Perhaps the most interesting are the APIs specified. With HTML5 several APIs are part of the standard, including Canvas 2D API for drawing, media playback, document editing, geo-location, and drag-and-drop, to name some. This takes the language from being a simple markup language to becoming an application environment. You can build apps in HTML.
Conclusions
Technology evolves in cycles. With the Web the processing went back to the server side, moving from the heavy desktop client of the client-server era. Now with the popularity of the App the pendulum has swung to the client side again. However, the server-side this time is the cloud.