Ajax does have its detractors. Their argument goes as follows: Why reinvent everything that has already been done on the desktop on an inferior platform? I do agree that the attraction of Ajax is subjective (i.e., not based on technological arguments). This is obvious whenever I’m excited about something web-based, show it to non-developer friends and their only reaction is boredom. Then I realize that while I’m excited about what’s possible on the web, they have already seen it on the desktop. But—there are some good arguments in favor of Ajax. My reasoning goes as follows:
- I love web applications (because I use 3 different computers having data travel with me is great).
- I’ve always disliked Applets and Flash. With advanced browser use (tabs, drag&drop of links, etc.), anything that is not well integrated feels constricting.
- Mobile applications: Web applications are currently the best solution if you need something that runs on the smartphone platforms Android, iPhone, Palm Pre, and Blackberry. The browsers of all of these platforms are WebKit-based, making testing less of a chore. Windows Mobile 6 is out there, too, but feels dated now, and I'm not sure how capable its browser is.
- There is tremendous momentum behind the browser as a platform. New user interface ideas are constantly being tried out, JavaScript is getting really fast, gains lots of APIs (geolocation comes to mind), etc.
Using GWT to write Ajax applications has the following advantages:
- Compared to desktop Java: GWT makes programming web applications almost as simple (in some cases simpler) as programming Swing. So why not use it?
- Compared to other Ajax solutions: GWT has Java's superior tooling, one has a single code base for client and server, and GWT’s compiler produces highly optimized code (due to Java’s static nature).
[Further reading: “
What should be the platform of your next application?”]
1 comment:
Well, I for one will stick to "desktop Java", with a JWS wrapper. Reasons for this:
a. Java Desktop Frameworks are mature. Take Eclipse RCP as an example. It's been proven, it has an incredible amount of APIs for programmers to use, and it just works(TM).
b. JWS enables me to take the SWT UI to the user. In my opinion, all desktop widget APIs are WAY more advanced than what the browser can offer, plus I don't have to think about the nitty-gritty details. HTML 5 even has a canvas now, so as to allow custom UI directly in the browser
c. We're kind of re-inventing the wheel. This happens in our trade, and it's not so bad, however, I feel that lessons learned in the past are not taken into account as they should have.
My lastest app is Servlets+JSON+RCP.
Post a Comment