| By Martin Heller | Article Rating: |
|
| April 15, 2009 01:00 PM EDT | Reads: |
10,524 |
The story of software development in the last few years has been driven by the need to provide a good user experience without installation issues and update woes. For some people that has meant building "smart client" applications, as promoted by Microsoft. For others, that has meant building rich Internet applications (RIAs) using technologies such as AJAX, Microsoft Silverlight, and Adobe Flash and Flex. For a sizable subset of Web applications, "zero footprint" on the client is a requirement, which usually leads to the adoption of AJAX for these applications. (When we say AJAX, we include all the different varieties of asynchronous JavaScript Web applications, whether or not they use XML for their data exchange.)
Challenges for the AJAX Developer
The biggest problem with AJAX for developers is that it has been hard to implement, debug and maintain. In particular, an AJAX application is prone to Web browser dependencies, and users tend to be headstrong about using the browser they currently favor rather than the browser that will best run the particular application they happen to be using. That leads developers to try to write AJAX applications that will run on any browser, or at least any major, current browser.
Browser compatibility issues can be a nightmare, and AJAX developers who have struggled to make their application run properly on their primary browser target are often ready to tear out their hair when they discover major problems running the same application on the other browsers they need to support. AJAX libraries and frameworks help somewhat, since one of their design goals is typically to isolate the application programmer from the different JavaScript implementations and Document Object Models (DOMs) of different browsers. Even so, the library developers have a hard time hiding all the incompatibilities, especially as new browsers (for example, Google Chrome) and browser versions (for example, Internet Explorer 8) keep coming out.
At a slightly higher level, data binding is often harder than it should be. Many AJAX applications are written to communicate with database servers. In an ideal world for the application programmer, there would be an easy, standard way of binding data streams to AJAX controls and controlling how much data is downloaded and when "dirty" data is written back to the database. As it is now, data binding is often pushed to server-based frameworks, and live AJAX data updates are often "left as an exercise for the student."
Where We Are Now
We developers are currently blessed with a plethora of AJAX libraries and frameworks with a wide range of approaches and prices ranging from completely free to thousands of dollars per year. Some are strictly JavaScript APIs. Some have XML tag libraries; some don't.
Some have tools that make them easier to use; most don't. Some have current, complete documentation. Some have books written about them. Some have videos explaining their use. Some are supported by vendors - typically for a non-negligible price. Some have an active community contributing to their development. Some have a pool of knowledgeable consultants who use the toolkit on a regular basis and are available to help with projects.
Published April 15, 2009 Reads 10,524
Copyright © 2009 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Martin Heller
Martin Heller is a software developer and consultant who often writes and blogs about development.
![]() |
becca77 11/08/08 02:07:55 PM EST | |||
An interesting insight. I honestly think that things are looking pretty good for Ajax as far as jobs go. If you look at these stats http://www.odesk.com/trends/ajax, it looks as though we're remaining steady during the otherwise tumoltuous economic trends. |
||||
![]() |
ckendrick99 11/07/08 07:18:19 PM EST | |||
Excellent article Martin, you picked mostly real companies instead of the ever present crop of VC-funded noisemakers. Few people are aware of Alpha and their technology makes good sense, but I would say that wouldn't I? .. those same features (QBE, inline edit, optional direct SQL connection) are also in SmartClient. Jouk Pleiter of Backbase unfortunately made some factually incorrect claims. 1) GWT does not use XML tags and does not "render tags" on the server. GWT allows you to write Java code that is translated at compile time to JavaScript and runs purely in the browser. GWT does not require any particular server technology to be used, for example, GWT applications can run on PHP servers. The point of GWT is to enable Java programmers to leverage existing skills - using GWT feels very similar to using Java Swing. This is in contrast to an XML tag library approach, which provides declarative access to some features but still exposes you to JavaScript for deep customization. GWT allows you to build custom components in ordinary Java. That's why we've created SmartGWT, which gives you SmartClient's extremely sophisticated Ajax visual components in a familiar Java environment. 2) There is likewise confusion about the distinction between how various frameworks handle XML tags. With the exception of Backbase, all of the frameworks mentioned have the ability to "compile" XML tags to JavaScript or to proprietary formats (Flex, Silverlight). This includes SmartClient, which has an XML language that can be either compiled or used dynamically. None of the frameworks mentioned have the disadvantage of requiring server-side rendering of XML tags, as implied by Jouk's contrast with Backbase. Instead, the actual distinction is that Backbase alone interprets it's XML tags inside the browser. This is less efficient (extra steps taken at runtime) and so far as I know, they do not provide a way around this inefficiency, which is not a problem with any of the other technologies listed. At your service Martin - again great article. Cheers, |
||||
- Kindle 2 vs Nook
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Windows 7 – Microsoft’s First Step to the Cloud
- Ulitzer Provides a Powerful Social Journalism Platform
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Open Source Mobile Cloud Sync and Push Email
- Kindle 2 vs Nook
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- US Post Office Hops a Ride on NetSuite’s Cloud
- Moving Your RIA Apps into the Cloud: Seven Challenges
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Building a Drag-and-Drop Shopping Cart with AJAX
- What Is AJAX?
- Google Maps! AJAX-Style Web Development Using ASP.NET
- Flashback to January 2006: Exclusive SYS-CON.TV Interviews on "OpenAjax Alliance" Announcement
- AJAXWorld Conference & Expo to Take Place October 2-4, 2006, at the Santa Clara Convention Center, California
- AJAX Sponsor Webcasts Are Now Available at AJAXWorld Website
- How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
- "Real-World AJAX" One-Day Seminar Arrives in Silicon Valley
- AJAXWorld University Announces AJAX Developer Bootcamp
- AJAX Support In JadeLiquid WebRenderer v3.1
- Where Are RIA Technologies Headed in 2008?
- Struts Validations Framework Using AJAX



































