....October 2008
Deadly Sins of Rich Internet Application!
Let me begin with a story about my friend, a tech lead at a small business company. He was assigned to enrich his company's "Expense Claim" application with Ajax technologies. At first, he planned to deliver the application in 3 months, but it wound up taking him 6 months. Here are some of Ajax deadly sins that delayed his project:
Browser Incompatibility Firstly, he decided to develop in-house JavaScript codes for the UI, the first draft of which took his team 2 months to finish. Then he discovered that the layout was a mess on different browsers. Due to a lack of JavaScript knowledge, he then decided to adopt an off-the-shelf Ajax widgets framework along with a Java-to-JavaScript framework in order to overcome this browser incompatibility issue; that, of course, meant re-building the UI from scratch.
Tedious Client Server Communication Codes Just when it appeared that his team had escaped from the nightmare of JavaScript, there came an even bigger challenge related to integration between the UI and the back-end. The Java-to-JavaScript framework required RPC calls to get data from the server, and handle the returned data manually. It produced numerous files to communicate between the client and the server. Though developing in pure Java, his team spent a few more months finishing the integration.
Slow Performance During testing by their users, it was discovered that the performance was unacceptable; users had to wait for more than 10 seconds for 10,000 records to be loaded. Even worse, some old computers actually stalled. Unfortunately, they had to implement load-on-demand to improve the performance issue. But, load-on-demand was never an easy job. It required determining the visible area at the client side, prompting required data from the server side, and rendering the data on the browsers. To fulfill this requirement, his team had to delay the project a few additional months.
Maintenance Headache Later in the project cycle, he was informed that extra fields would be added to the data model. This was really a nightmare for his team since they not only had to modify the back-end codes, but also the associated client codes. They spent another month on maintaining the consistency of business logic between client and server codes.
http://www.theserverside.com/tt/article ... DirectAjax
_____________
ZK framework http://www.zkoss.org/