Tech Trends: Rich Internet Applications Part III

Part III – JavaScript & Summary
By David Aden

While HTML5, CSS and JavaScript are all important to what I have called an “AJAX application,” the rise of JavaScript as a language is probably one of the most interesting recent trends. For a long time, JavaScript was relegated to second-class language status, often looked down on by “real” developers.
But today, JavaScript is showing up everywhere. There is even tremendous interest in a server-side use of it (“node.js”) which uses JavaScript outside the browser, on the server, to interact with databases, email, etc. Recently, tools have even been developed that allow coders to write an application in JavaScript and then turn that one application into an iPhone or Android mobile application. (It is also important to note that Adobe is also providing tools to convert applications written in Flash/Flex into mobile versions so the AJAX solution is not unique in this regard.) This means that one can now write the server-side parts of an application, the desktop web application, as well as a mobile version of the application all using the same language — JavaScript. This is pretty exciting for developers and potentially helpful in terms of keeping down the overall cost of ownership.

This is not to say that the HTML5/AJAX approach is complete – in many ways it is still developing. But even with the existing holes, it is possible to use it to build mature, well-performing applications. The trend toward AJAX solutions is gaining momentum. Because of its flexibility, the fact that it is not proprietary (all the key technologies are freely available in any modern browser) and due to the tremendous advance in sophistication and usability of JavaScript-based AJAX solutions, the AJAX solution will only continue to grow for the foreseeable future.

For developers and application designers, the possibilities are very exciting. It is great to think that we are able to use the same tools to write sophisticated rich Internet applications for the desktop browser and to deliver a great mobile experience.

So, to summarize:

1) Silverlight, and the similar Adobe product, Flash/Flex, were viable contenders for how to implement rich Internet applications. In fact, they are still being used. Flex will likely outlast Silverlight, if only because Microsoft appears to be winding down on Silverlight development and Flash/Flex is far more widely used.

2) What used to the be a “third option”, an HTML5/AJAX approach for developing rich internet applications has over the last year or so come into its own. The adoption and development of this AJAX solution is accelerating and extending into new territories. It will not go away for the foreseeable future and is rapidly becoming the de facto “standard” for sophisticated web application and mobile development.

The above information is provided as some background and general data about the role of Silverlight and its likely future. The industry has not gotten to the point that one would recommend that Silverlight applications should be replaced wholesale, but I would recommend against beginning new projects in Silverlight and believe it is important to put into place a plan to migrate away from existing Silverlight applications. HTML5/AJAX, though not yet officially declared the winner, seems well on the way to that title.

This does not mean the industry has settled on a single standard for AJAX applications – far from it. In fact the AJAX solution is very much a developing and changing area of technology. But there are some important leaders which have substantial adoption and which provide great basic services such as jQuery and jQuery Mobile to standardize the guts of how to build RIA’s. “Backbone” is another technology, used in association with jQuery, which is doing a great job of helping to keep RIA’s organized and easier to maintain.

There are also interesting new choices for the backend database and even new options for the server-side component that mediates between the rich internet application in the browser and the backend database that supplies data to it. WTI will help keep you informed of these changing trends in Internet technology.