| By Coach Wei, Rob Gonda | Article Rating: |
|
| February 16, 2007 10:00 AM EST | Reads: |
16,458 |
This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs for the special pre-order price, click here for more information. Aimed at everyone from enterprise developers to self-taught scripters, Real-World AJAX: Secrets of the Masters is the perfect book for anyone who wants to start developing AJAX applications.
The AJAX Software Platform Requires Real Design
AJAX Development and Maintenance Challenges
AJAX has raised the awareness of the potential of Web applications. It has also deepened and broadened the use of JavaScript and DHTML in application development. There are significant benefits to AJAX, but there are also significant challenges.
The biggest challenge is its scripting approach. AJAX makes developers write a lot of JavaScript code, which is hard to develop, debug, test, and maintain. JavaScript/DHTML is not standardized and there are incompatibilities between browsers, browser versions, and operating systems. And there is a severe lack of tools for developing, debugging, and testing JavaScript/DHTML code. There is also a slim marketplace for robust components. By definition, a scripting language emphasizes "quick and dirty" at the cost of code maintainability. By contrast, a real programming language like Java and C++ emphasizes formality and strictness. For example, unlike Java or C++, JavaScript is not strongly typed. Programming errors can only be uncovered at runtime. JavaScript object properties and methods can be easily (and arbitrarily) modified regardless of a predefined interface - none of which is allowed in Java or C++.
Second, AJAX does not provide a rich user interface or incremental update capability. Developers have to code such functionality using JavaScript and DHTML. There are various JavaScript libraries available that alleviate this issue to a degree, but they still require developers to write JavaScript, which does not really solve the fundamental challenge.
Third, the AJAX development model tends to break the separation of behavior and presentation. Separation of behavior and presentation is a well-established design pattern that partitions the user interface from the application logic. User interfaces are described as markup documents and application logic is written separately in a procedure language to control the behavior. To create a rich user interface, AJAX developers tend to embed significant amounts of JavaScript inside their Web pages. Mixing JavaScript with presentation breaks the clear separation and makes the application even more difficult to develop and maintain.
In a typical application lifecycle, the most expensive part is not the initial development, but the ongoing maintenance. How to overcome these challenges and enable a "manageable and maintainable AJAX" should be a topic of high priority and importance to any significant AJAX development project.
This content is reprinted from Real-World AJAX: Secrets of the Masters published by SYS-CON Books. To order the entire book now along with companion DVDs, click here to order.
Published February 16, 2007 Reads 16,458
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Coach Wei
Coach Wei is founder and CEO of Yottaa, a web performance optimization company. He is also founder and Chairman of Nexaweb, an enterprise application modernization software company. Coding, running, magic, robot, big data, speed...are among his favorite list of things (not necessarily in that order. His coding capability is really at PowerPoint level right now). Caffeine, doing something entrepreneurial and getting out of sleeping are three reasons that he gets up in the morning and gets really excited.
More Stories By Rob Gonda
Rob Gonda is an industry visionary and thought leader, speaks on emerging technologies conferences nationwide, and combines unique approaches to technology and marketing strategies. As a head of Creative Technologies at Sapient, Gonda is an interactive technical “guru,” who provides the knowledge and experience required to run high-level, multi-channel interactive campaigns that reach millions of consumers. Gonda has more than 15 years of experience in web development and 360 marketing campaigns for clients such as Coca-Cola, Adobe, Guinness, Toyota, Taco Bell, NBC, and others. His areas of specialty include emerging technologies, marketing strategy, social media, digital out-of-home, mobile, behavioral targeting, and multi-channel synergy. Before joining the strategy and technology leadership teams at Sapient, Gonda was co-founder and chief technical officer at iChameleon, a Hollywood FL-based agency renown for its emerging experiences and creative technology. In addition to his agency work, Gonda the chair for the digital media council at the Advertising Research Foundation, is the former editor-in-chief of the AJAX Developer’s Journal, co-author of “Real-World AJAX: Secrets of the Masters”, a passionate blogger who authors www.takemetoyourleader.com, and contributors to various publications such as Ad Age and Ad Week. He is a frequent figure on the speaker circuit, having presented at conferences from the senate’s CIO emerging technology to SXSW and Omma. Rob’s mission is to develop forward-thinking expertise that will ensure clients are always on par with rapidly changing technologies and maintain its ethos of evolving. You can reach him at rob[at]robgonda[dot]com and read his blog is at http://takemetoyourleader.com
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?




















