The good folks over at the YUI blog posted this: What the 80/20 Rule Tells Us about Reducing HTTP Requests a while ago. I bookmarked it, but wanted to point it out to other folks–it’s a nice bit of research, with numbers and graphs and all that good stuff. It opened my eyes to various non intuitive aspects of web application performance. The whole series is a nice read; part 1 is linked above and here’s part 2, part 3 and part 4.
After about a year of working with GWT, it seems to me like there are two places where it is really useful as a technology:
- Quickly building relatively sophisticated user interfaces for entire web based applications. An intranet ‘client-server’ type application, like a timesheet, would be a perfect fit. If you use Java on the server side, domain objects can even be shared.
- Building small widgets that have anything beyond the simplest logic. This is the best way to integrate GWT into an existing application–add small bits of functionality that improve the user experience. You can use GWT to manage, reuse and package this logic.
While I don’t have deep knowledge with other toolkits (I’ve worked slightly with the Yahoo! User Inteface Library and have toyed with Dojo), it seems to me that many many folks can get by using them; there’s no tie to Java.
If someone was going to ask me whether or not they should use GWT, I’d boil it down to the following questions:
- Are your developers familiar with Java? (If ‘no’, don’t use GWT.)
- Are you integrating with an existing app? (If ‘yes’, GWT might be a good fit.)
- If so, are you planning to ‘web 2.0’-ify the existing application, or add widgets to enhance existing functionality? (If planning to ‘web 2.0’-ify existing functionality, don’t use GWT.)
On a final note, I don’t want to bag on GWT too much. GWT has improved tremendously over the past year or so, and I’m very glad to have used it. I think it’s quite cool tech, and I think it has really improved the user experience on my client’s site.
Thank you, Google, for releasing GWT and making it available for me to use.
Adding a tabview to an existing application with the YUI library
I recently built a small web application and the client requested, after a significant portion was built, that it be placed in different tabs. I immediately thought of the Yahoo! User Interface Library, which is a set of independent components “for building interactive web applications.”
I just wanted the TabView component, which is easy to just drop in and has pretty good documentation. This component is new in the 0.12 version of the YUI library.
However, FireFox 1.5 had an issue with the pages once the component was added. The different tabs would show up, but the bodies were all visible at the same time. IE6 did not have that issue, bizarrely enough. I asked some questions on the mailing list and received some helpful answers–the main things I needed to do were add the component instantiation function to the onload method of the window, and make my HTML valid. I used the W3C validator for the latter.
This post is pretty short, and I guess that’s the point–adding tabs to an existing application was pretty easy using the Yahoo! libraries.
Using the YUI library was simple and the support and documentation were good. I don’t like to think of how long it would have taken me to write a tab interface supported on so many browsers. If you need to retrofit some UI magic onto an existing application, or you just want discrete components for your web application (as opposed to the all in one approach of GWT), YUI is well worth a look.