2008/05/15

First Thoughts On Java One

After attending JavaOne this year, I am more excited about Java then ever -- of course if I wasn't there would have to be something wrong with me or JavaOne. Anyway on to my take on some of the cool new technologies and how I see the current Java Space developing.

First off, I've been telling people for a long time that the best way to develop applications is to create a UI (probably best to use Swing) and have it connect to an app server to offer a consistent view of your data no matter where you run the app. I've also been trying to tell everyone that Java Web Start rocks. Well interestingly enough, this is _exactly_ what people want. Now of course they've given it the fancy name, RIA (Rich Internet Application for those freshly out of a timewarp from 2001).

Now I'm not going to tell you that AJAX applications suck -- in fact quite the opposite. If I have to run an app in a web browser, I really do hope it uses AJAX. However, for running applications, I'd rather them not run inside the web browser at all. In fact I'd like to only need to use the web browser to find the app in the first place. After that, I really don't want to go to my web browser to launch applications. Secondly and more importantly to me... I don't want to have to tie together a bunch of miscellaneous toolkits and custom javascript to make a web browser do what it is not yet meant to do. In addition, since the web browser's applications are, by definition, only available when you are connected to the Internet, I don't want to be limited in that way either. I know what you're thinking, google gears and blah and blah. Do you not see what we're doing? We are getting out the duck tape and the chewing gum and doing everything possible to make the web browser something its not.

In addition, every time I restart my web browser (or it crashes), I don't want all of my applications going down with it. Or if one application crashes, I'd hate for it to take down all of my other applications and the web browser.

Okay enough rants about why I think separate applications are better than everything running in the browser. On to more interesting things... Like synchronization of disconnected distributed applications. Basically this is all about if you have a central repository for all your data, but you want to be able to run in a disconnected mode (think on an airplane or no Starbucks near by :-)) then you want to be able to run in disconnected mode. Well if the data is updated on the server by someone else and you update your local copy, this has to be resolved. In the source code world, we often call this conflict resolution. In the app and data world we are calling this synchronization. Anyway you get the point. I'll save the gory details of this for another time.

So here we have it, great independent apps, data synchronization and a central data respository (it is doing backups and versioning isn't it?).

So what's missing? Oh yeah, a super cool user interface. And that's what most of this Java One was about -- at least for me. There were many other topics (SOA, JPA, new web toolkits, and on and on). But for me, right now I want to make apps that make you say wow (and of course have them connected to the servers, etc, etc...).

This is the type of app (RIA) that I have been focusing on for quite a while and now I'm ready to try to start adding the
"wow" part. Please go check out all of the great information (google: JavaOne). Soon I will be talking about my JavaFX coding experiences as well. For right now I just want to say how cool its bind feature is. Oh yeah, and built in SceneGraphs. I will also be adding SceneGraphs to my code to enable 3D effects to regular swing components (basically put a panel onto the SceneGraph node and do with the node what you will). So much exciting stuff to play with!

Can't wait to add some new applications to my web site. Stay tuned! So I will be adding some more details about the new application development details as I get some time to get into them some more.

Please let me know what you think!





1 comment:

Unknown said...

I just wanted to voice what nobody else has posted. Your confidence in the Java Plugin system may be misplaced! We've had awful experiences with Java Applets and Java Web Start and don't think its going to be fixed now...

Okay so I have actually had really good experiences with both, but this is what has been said to me about this blog (in person)...