2010-12-12

The web as an application platform: latest developments

The “browser as a platform” is coming along nicely. The following are a few recent developments.
  • ECMAScript is improving. (Note: JavaScript can be seen as an implementation of the ECMAScript specification.) I was very disappointed after the feature-rich ECMAScript 4 was abandoned, but there is some neat stuff coming in ECMAScript 5: Inheritance has been simplified, some meta-programming will be possible, methods for iteration have been added to arrays, etc. What is great is that many modern browsers already support these features, making them quasi-standard.
  • JavaScript is becoming faster all the time. It is still kind of weird to have programs delivered as source code. But with parsers being fast, one more intermediate step is not that much of a deal. Long-term, I would love to have some kind of compact storage format similar to Java class files [3].
  • Server-side JavaScript. Node.js has been around for a while now. It is Chrome’s V8 JavaScript engine running server-side JavaScript. With web apps becoming increasingly powerful, I expect servers to become much smaller, more like glorified databases with which the apps sync. Still, having a elegant server technology available that scales well and uses the same language as the browser is invaluable. I expect one killer feature of Node.js (compared to Java) to be cheap and simple hosting.
  • New browser features. Browsers are getting features that were once reserved for operating systems such as key-value databases (look at the editors of the linked document to see how widespread this standard will become), 3D graphics, and more.
  • Installable web apps. Chrome has them, as does Firefox. That means we get the option to either quickly test drive a web application or to permanently install it. There will also be a way to pay for web apps (necessary for them to compete with native apps).
  • Stealth web apps. You might already be running web applications outside a browser without knowing it. For example, this article lists how many iPad applications use HTML5 to display their content. This allowed the developers to quickly port them to the Chrome app store. It also lends further credence to the prediction that one day, most applications will be based on web technologies. For mobile apps, they already are the easiest cross-platform strategy.
Related reading:
  1. What’s new in ECMAScript 5
  2. New device APIs for web browsers
  3. What is the JavaScript equivalent of Java class files?
  4. CSS3 Grid Layout is perfect for webapp GUIs
  5. The cloud and how it changes mobile computing

No comments: