Agile Ajax

The Desktop is Gooey

Dietrich observes the following at the GWT conference:

BTW, many of the developers at the conference seem to be Java geeks who resent their JavaScript brethren and don't want to get left behind when the Ajax bus rolls down the corporate highway. They also applauded "hating the browser with all my heart."

And...

about 100% [of attendees] had some background in desktop GUI's, (AWT, Swing or SWT)

I don't want to make to much of the sample size (most of the participants at Rails Edge were Java refugees, and I'd guess that, like me, a lot of them had desktop GUI experience). Still, this isn't a surprise, right? GWT brings a Java desktop GUI programming experience to the web, if you are already a Java desktop GUI programmer, that's very appealing. GWT is clearly great structure for bringing existing Java desktop applications to the web.

I always felt that one of the reasons why HTML and the web became so appealing was that the extremely low barrier to entry when compared to desktop GUI libraries. (This is one reason why first HTML and later, Flash, beat out Java applets -- they were just much easier to write for the most common tasks.)

Despite HTML's flaws as a layout engine, getting something on the screen is really easy. You don't need to learn the entire Swing object model and event model. This isn't exactly a fair comparison, I guess. But HTML's biggest strength -- managing variously styled text -- is something that is a massive pain in the neck in most traditional GUI systems. That's why so many toolkits have adopted a subset of HTML as a markup system for labels and static text.

It might be true that HTML just feels easier because most web application are, even now, less complex than desktop applications. Still, even as complexity increases, I've always found it much easier to manage layout in HTML/CSS than in Swing layout managers. I find that even easy layouts are hard to mange with any precision in Swing. I've been much more likely to wish that I had HTML or CSS kind of structures in Swing than I've wished for Swing layout managers in HTML. And that's without even counting the fact that Swing, and GUI layout code in general, is notorious for being a tangled mess.

I still think, that there's a middle ground between HTML and Swing -- something like XUL or Flex, combining the best of HTML's easy-to-get-started textual structure with the power of a full object system.

Topics: , ,

Comments: 3 so far

  1. I think by ‘hating the browser’, they mean the irritating experience that is modern cross-browser development. If all web browsers adhered to standard specs (IE especially) and were not the steaming pile of buggy poop we know them to be, I don’t think there would be any talk of hate.

    Comment by Ray Cromwell, Monday, December 10, 2007 @ 11:18 pm

  2. I think the real power of HTML/CSS layouts in web apps is the simplicity of change. I can write a complex Ajax app using all the browser default stylings, run and debug it, and not worry about the layout/styling at all until I know its functional. Using libraries (I use mootools) eliminates almost all of the cross browser issues, invalidating that argument. With HTML/CSS and Ajax, the GUI framework comes built into the browser.

    Comment by T.J., Tuesday, December 11, 2007 @ 12:45 pm

  3. I don’t think anyone would disagree that separation of concerns is a good think (content vs style vs logic), nor that CSS/XSL/DSSSL and other style mechanisms are good designs, but one can simultaneously hold that an idea is good, but that implementation(s) suck(s) ass. (BTW, GWT uses CSS for styling)

    Even if you have a library which “eliminates almost all” (I’ll get to that in a second) DOM/event/Javascript issues, the reality is, CSS implementations are fubared on every browser too. I bet if quirksmode didn’t exist, the average developer could not get cross-browser CSS right. So the simplicity of change has to be weighed against the complexity of test-and-fix-everywhere.

    As for fixing browser bugs with libraries, I don’t know of any widget library that truly fixes all memory leaks on IE6(except for GWT), so how is anyone but the most expert Javascript ninjas supposed to develop complex and long running AJAX apps, like GMail?

    No developer has ever told me that they hate the Web model, hate browsers, HTML, CSS, HTTP, etc. Hate is always reserved for implementations, be if MS’s continued defiance of standards, Firefox’s memory bloat, and general issues with performance and security.

    The world would be alot better place if browser implementors focused on spec adherence, performance, and memory, and less on rearranging Chrome. And just because a library can work around bugs and take a lowest-common-denominator approach doesn’t let them off the hook.

    Comment by Ray Cromwell, Wednesday, December 12, 2007 @ 1:26 am

Leave a comment

Powered by WP Hashcash

About Pathfinder

  • We design and build extraordinary applications for companies looking to make the next great idea a reality.
  • learn more

Topics

WordPress

Comments about this site: info@pathf.com