Will cloud computing do away with IT pros?
Wednesday, March 18, 2009
GWT Highlights
GWT shields you from worrying too much about cross-browser incompatibilities. If you stick to built-in widgets and composites, your applications will work similarly on the most recent versions of Internet Explorer, Firefox, and Safari. (Opera, too, most of the time). Whenever possible, GWT defers to browsers' native user interface elements. For example, GWT's Button widget is a true HTML button rather than a synthetic button-like widget built, say, from a div.
Pros
- GWT does a good job of abstracting away some of the low-level aspects of Ajax application development, such as cross-browser incompatibilities, the DOM event model, and making Ajax calls.
- GWT scores in its RPC mechanism and built-in serialization of objects between Java code and JavaScript. This removes a lot of the heavy lifting you see in the average Ajax application.
- GWT has the upper hand in terms of unit testing, providing JUnit integration for client-side code. Unit-testing support is an area where JavaScript is still sorely lacking.
- Can map native server objects such as database results to JavaScript equivalents.
- Minimizes the amount of JavaScript code you have to handle (depending on the library)
Cons
- Any errors in your generated JavaScript are out of your control. A particular problem is GWT's reliance on user-agent detection: Each release of a new browser requires an update to the GWT toolkit to provide support.
- The GWT tool chain is provided in binary-only form, and modifications are not permitted.
- Although it's possible to combine GWT widgets with normal HTML form inputs, the state of a GWT widget is fenced off from the rest of the page. For e.g., there's no straightforward way to submit the selected value from a GWT Tree widget as part of a regular form.
- Ties the JavaScript code tightly to the server language.
UX Analysis
Various UX technologies available in the market today are making a full circle back to where it started from. The evolution started with client server technologies (desktop applications like swing or windows forms in Visual Basic etc.), moved on to web UI (Java Server Pages or Active Server Pages) and now all of them are coming back to more `desktop like` UX (AJAX or Silverlight or Flex etc.) in a browser. So we decided to do a study of the prominent AJAX/RIA technologies in different categories in the market using some fixed criteria. The study included GWT (Google Web Toolkit), YUI (Yahoo User Interface), Adobe Flex, Microsoft Silverlight, Java FX & Extjs (may be more when I actually give the presentation). This blog post is a list of criteria that I used to analyze the current UX offers. I have already presented these results to the great delight to a couple of our customers.
The study includes some recommendations for each technology, a overview slide (including architecture, channel support and pros & cons). At the SAP Inside Track in Palo Alto I will share the results with the community in a session. I also plan to blog on the findings once the event is done. This post is a teaser to make you want to come ;).
Following are the criteria this study was done at
Any kind of feedback or suggestions are welcome. See you guys at the event!!