Skip to main content

Make It Better

Posted by editor on December 13, 2005 at 9:56 AM PST

Making sense of AJAX development

As you have undoubtedly heard, the latest and greatest four-letter acronym in the web-based software development world is AJAX. Despite the tidal wave of excitement and hype, there is another four-letter word that can be associated with AJAX: pain. The dirty little secret is that there are many reasons developing AJAX applications can hurt. Some of these reasons are the browsers' fault, due to the fact that each browser version offers differing levels of DOM and JavaScript compliance.

If you've written JavaScript, especially if it's just an aside to your primary Java development, you know what a pain it can be to make the mental swtich to the familiar-enough-to-bite-you-in-the-ass JavaScript syntax. Worse is that when you try to debug your script, you don't have a sophisticated logging framework, or even stdout to fall back on. The typical response is to use alert() as a de facto System.out.println(), but clicking through one alert after another, run after run, is inefficient and tiresome.

In today's Feature Article, Eric Spiegelberg has an alternative:
Log4Ajax shows how to write a client-side logging library that can log debugging messages, of varying levels of verbosity, to a <div> in your web page. Moreover, you can use the power of AJAX to call back to your server, and log client events to the server log.

In Projects and
the Substance look and feel project has reached their 2.1 release. Kirill Grouchnikov's blog entry summarizes and has screenshots of new features, including new shapes and gradients for buttons, Mac-like "unsaved content" indicators, 21 additional themes, a new color wheel chooser, custom UI delegates for NetBeans components, and more.

Episode 19 of the Java Posse podcast features an interview with Burr Sutter of the Atlanta Java Users Group. Sutter talks about the group's history and activities, his history with it, and the group's heavily-trafficked AJUG jobs page, as well as his role heading up the Atlanta Chapter of the International Association of Software Architects.

In today's Forums,
netsql asks
Why wait to add "GroupLayout" to Java 7, it should be in 6! "I see an interview on a new LayoutManager, that is released in version 1.0 AND used in NetBeans. It's planed to be included in Java 7. WHY WAIT? Why do I have to include a jar to ship my application? ps: of course, current layouts are not humanly maintainable, so of no use. Now I use jGoodies."

leouser discusses the pros and cons of rival languages in Re: Chapter 7: Ruby on Rails:
"Readability wise, I find the productivity boosting conciseness of the dynamic languages, cut against it. Usually from perusing some Java code you can figure out what the heck it is after doing a good read. You know who the players are, the addresses variable is a List. With Python, you can get, hmmm there's an iteration here but what does self.addresses refer to... its not in the __init__ or set in this method? Let me see if the find function of this editor can get at it.. not in this file. Let me try the project search... hmmm... its in the AddressGiver class, that's odd. With that said, I like working in Jython/Python. It's fun. But as I said in the beginning, I still like working in Java better."

Vikram Goyal says $100 laptop - No Thanks. $100 smartphone - Yes Please!in today's Weblogs:
"IMHO, the $100 laptop is a waste of time and money. Instead of spending money on a crank it yourself laptop with limited capabilities and an arbitrary, ambiguous and sure-to-escalate price point, MIT labs should have looked at the mobile phone market and learned a lesson or two from it. Instead of a laptop, it should be looking at providing a smartphone."

Santiago Pericas-Geertsen has parsing performance update in DOM vs. JAXB Performance - Part II:
"In an earlier blog, I started a discussion about DOM vs. JAXB performance. For that purpose, I selected 4 different XML schemas, including 3 standard ones: UBL, FPML and GAML [...] The results showed DOM coming just ahead of JAXB, but several people have asked me to break up the roundtrip time into marshalling and unmarshalling times. So I did, and here are the results..."

Kohsuke Kawaguchi is
Disappointed with JMX:
"I just implemented the JMX support for my project, but the experience wasn't pleasant."

In Also in
Java Today
single sign-on (SSO) can make life easier for both users (who need only remember one password) and administrators (who need to manage only one identity store and can terminate a user across many applications), but developing SSO applications requires careful attention to various issues. TheServerSide's article SSO and Identity Management looks at the separate tasks an SSO application must perform -- authentication, authorization, profiling, and management -- and argues that these should be broken into separate interfaces, to allow greater flexibility when implementing them.

"Testability is one of the key principles behind the Spring framework (i.e., the ability to test each component in the framework regardless of its nature). In this sense, Spring was a major improvement over the core J2EE model, in which the components were hard to test outside of the container." In Simplify Unit Testing for Spring Web Components, Edmon Begoli introduces Spring's testability features, saying they "make unit testing Web components as easy as testing plain old Java objects (POJOs)."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href=""> events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Making sense of AJAX development