This is a great news because it includes GWT Designer, the famous (and only so far) graphical designer for GWT… It’s the perfect complement to the Google plugin for Eclipse.
You are currently browsing the archives for the GWT category.
If you don’t know yet, SmartGWT is a cool GWT tookit made by Sanjiv Jivan (the guy who wrote GWT-ext). It is primarily intended to build SmartClient frontends, but it is also available standalone under LGPL license. SmartGWT is fast becoming a strong alternative to GWT-ext (stuck because of license issues) and Ext-GWT (very buggy and full of bad design choices).
SmartGWT 2.1 is out with lots of novelties.
When I’m talking date processing, I mean simple calendar date (not time) operations, like: get today’s date, add a number of days, compute the number of days between two dates, etc. The original sin, so to speak, is that Java doesn’t have a class to represent a day; Java’s Date class is actually more like a timestamp: it encapsulates a moment in time (with a millisecond precision) stored as the number of milliseconds to/from the moment called “epoch”, which is arbitrarily fixed at January 1, 1970, 00:00:00 GMT.
The methods related to date components (day of month, month, year, etc.) have all been deprecated since the apparition of the Calendar class (JDK 1.1). The trouble is, Calendar isn’t available in GWT’s JRE emulation library. So what do most programmers do? They use the deprecated methods of class Date. For example to create a Date that corresponds to a given day, they would use new Date(y, m, d). Well it’s deprecated, but it works, right?
Actually, if you might not notice this problem if all you do is manipulate local dates that were created on the client-side; the problem really becomes a nightmare when you mix locally instanciated dates with serialized dates from the server.
We’ve spent an incredible amount of energy and time to work around this issue, which is made worse by GXT’s DateWrapper and DateTextField. The awkward but kind-of working solution that we use now is to subtract Date.getTimezoneOffset() from Date.getTime() in order to “cancel out” the client’s time zone and DST. Not pretty.
If I had to do my current project again, I would definitely stay away from the Date type on the client side. As primitive as it may sound, if I have to manipulate dates without a time part, I would stick to using a (day, month, year) triplet and do as little date calculations on the client-side as possible.
You’ve been warned!
While exploring the code samples that come with Palm’s SDK for webOS (named Mojo), I was pleasantly surprised to see that one of the samples (MojoMsgSample) uses GWT and the Google App Engine for the “cloud” part of the sample! It’s a basic publish/subscribe app, but still it’s nice to find oneself in known territory…
BTW, has anyone attempted to wrap the Mojo SDK in GWT? I’d be thrilled to be able to write webOS apps in GWT
Finally, as anticipated Google set the “release” tag on GWT 2.0 and announced it at its Campfire One event yesterday. In addition to the well-known major new features (development mode, Code splitting, UiBinder, ResourceBundle), Google comes with a new tool named Speedtracer to measure the performance of Ajax applications inside the browser. SpeedTracer is only available for Chrome at the moment, unfortunately only on platforms where extensions are supported,
which means not on Mac currently (actually it does work on Macs, see comments to this post)…
The online docs have been updated and are still IMHO a model of how online documentation for a project should be done: clear, concise, well structured, complete yet progressive, with examples… it’s almost fun to read. I wish every project had docs like this.
GWT 2.0 RC2 is available from this link. The Google plugin for Eclipse has been updated as well to 1.2 RC2
Caution Windows users who installed the IE plugin, you’ll have to uninstall it and install a new version (details there).
The same day as GWT 2.0 RC1, that has to be a good sign…
(cliquez sur le livre pour feuilleter une sélection de pages)