XML.com: XML From the Inside Out
oreilly.comSafari Bookshelf.Conferences.

advertisement

Is AJAX Here to Stay?
by Jordan Frank | Pages: 1, 2

Other technologies that could be used to develop rich internet applications include XUL, XAML, Java, Flash, and SVG. XUL is a high-performance markup language for creating rich, dynamic user interfaces. It's part of the Mozilla browser and related applications, and is available in Mozilla browsers (like Firefox). XAML is a high-performance markup language for creating rich, dynamic user interfaces. It's part of the Windows Presentation Framework, Microsoft's next generation UI technology, and will be supported in future versions of the Internet Explorer browser. A Java Applet is a program written in JAVA that can be included on a web page. Applets are programs that require the proprietary JAVA plugin from Sun in order to run. Macromedia Flash is a powerful presentation-layer framework that comes preinstalled on most PCs and Macs. It's possible to use Flash to build web-based user interface components that are highly configurable. SVG is an XML-based graphics language that describes images with vector shapes, text, and embedded raster graphics. It can be integrated with XML data sources or SMIL (Synchronized Multimedia Integration Language). It has good interoperability with CSS and JavaScript. Therefore SVG will not compete with AJAX but complement it nicely once it matures.

When compared to competing UI technologies like XUL, XAML, Java, Flash, and SVG, we begin to see why Ajax is such a big deal. Many of these alternatives offer opportunities for similar functionality with as-good-if-not-better UI capabilities, but either force the user to install plugins, as is the case with Flash, Java Applets, and SVG, or limit her to a specific browser or operating system, as is the case with XUL and XAML. In fact there are many examples of Flash and SVG being used in conjunction with AJAX to provide an even more immersive user experience. Ajax offers the chance for developers to start writing rich applications without learning new skills.

AJAX in the Enterprise

Is AJAX ready for the Enterprise? The answer to this question may lie in its relationship to open standards, vendor lock-in, conformity to popular skill sets, and web services and service-oriented architectures.

  1. Open standards are preferred by corporations who do not want to be tied to a specific vendor or plugin for their mission-critical systems. The building blocks of AJAX, (X)HTML, CSS, JavaScript, and XML, are all open standards supported widely across different browsers and platforms. Some alternatives to AJAX do not enjoy the same level of ubiquity. For example, XUL and XAML are both browser dependent, while Java, Flash, and SVG all require proprietary plugins.
  2. Vendor lock-in has always been an issue for IT investment, and continues to be on the web. By avoiding proprietary technologies on which to build large-scale enterprise applications, firms are mitigating some long-term financial risk. AJAX is a set of technologies that are based on open standards and partially avoids the issue of vendor lock-in.
  3. Another big selling point for AJAX is the way web developers who are familiar with the underlying technologies can begin developing with AJAX relatively quickly, while the learning curve for alternative technologies is comparatively steep. By leveraging the synergies of skill transference, firms do not have to invest in significant retraining of their developers.
  4. Service-oriented architectures (SOA) have been gaining popularity in major enterprises around the world for several years now. SOA is an approach to building large distributed systems on a composite set of loosely coupled business services. Just about every major enterprise software vendor has an SOA strategy and product suite match. In many SOA models, business services are exposed through XML web services, and AJAX clients are ideal consumers of these services.

The question then becomes, is the AJAX platform powerful enough to build enterprise-quality Rich Internet Applications (RIA). This issue is highly debated in the web development community (http://blogs.ebusiness-apps.com/dave/?p=32). Here are some of the arguments against AJAX for RIA:

  1. There is a stigma attached to using JavaScript to accomplish any intensive processing tasks since JavaScript is an interpreted scripting language, and quite inefficient. That said, the average desktop computer is becoming more powerful. In the past, most JavaScript applications only performed very simple tasks where efficiency is not a concern, and so techniques for writing efficient JavaScript are not widely known. As AJAX matures, coding standards will improve and push the language to its limit. As this happens, the efficiency argument against using AJAX for Smart Client implementations will weaken.
  2. As an interpreted language, JavaScript must be sent up to the client as source code. This causes problems for protecting intellectual property, since the source code must be distributed to anyone using the application. There are techniques for obfuscating the JavaScript, but like all copy protection they just make it a bit harder to steal, not impossible. This argument fails for a number of reasons, though.

First of all, Java suffers from a similar problem, with source code weakly protected in its distributed form. This, however, has not stopped businesses from deploying large Java-based applications. Another reason this argument fails in an SOA environment is that the AJAX application doesn't need to possess all the business secrets required for the program; they just need to orchestrate the business services that perform these activities.

This broad argument against using AJAX in the RIA realm may be somewhat short sighted. Within an enterprise, the need for interoperability may outweigh more fine-grained standards centering around performance, IP, and code inefficiencies. Consequently, looking into the future, approaches like AJAX which focus on platform independence and RIA will become important in the realm of enterprise applications.

Conclusion

The trend in web application development is towards open standards and vendor neutrality. Current HTML web applications don't provide the user experience users have come to expect, so the development community has long needed a viable technology suite to develop rich internet applications. AJAX fits all of these requirements and has experienced significant uptake by developers and enterprises over the last year. It's always challenging to predict technology trends, but if we look back at Java's evolution we can see that there are a number of similarities.

A decade ago, Java was going to revolutionize the way that developers built applications. Instead of building different versions of an application in order for them to run on different operating systems, developers could target the Java Virtual Machine, and then their software would run on Macs, Windows, and Unix-based platforms without any further customization. Huge corporate information systems are being built on the Java platform, and a number of large client applications are also built using Java. Java also suffered from performance and usability issues related to poor user-interface libraries, but overall it was quite successful.

As internet applications became more prevalent, we ran into the same problems of being forced to either write software to target a specific environment, or be very limited in the quality of the user experience. Technologies like HTML, CSS, and JavaScript gradually evolved with the promise of providing a platform on which very powerful applications could be based, but that promise was unfulfilled until now. Now that all the major web browsers have relatively consistent support for the technologies AJAX requires, AJAX will become a crucial piece in the RIA puzzle and will offer the potential for dramatically more powerful and user-friendly web applications.



1 to 6 of 6
  1. YES! Ajax is here to stay and changes Web
    2006-03-12 03:06:19 jpop
  2. Do you really want to write all these code?
    2005-10-09 09:53:23 Wai Yip Tung
  3. s AJAX Here to Stay?, I certainly hope so.
    2005-10-07 02:45:43 philip.fennell
  4. Re: XSLT and SVG Plugin
    2005-10-06 10:04:10 JordanFrank
  5. XSLT
    2005-10-06 00:30:26 TimWarwick
  6. SVG plugin
    2005-10-05 23:29:59 michael_c_harris
1 to 6 of 6