Les Stroud
Posts: 7
Nickname: lstroud
Registered: Jul, 2003
|
|
Re: Hybridizing Java
|
Posted: Jan 31, 2007 12:14 PM
|
|
I agree with some of your points in principle. I think that java suffered due to some early decisions and a variety of politcal issues. Some folks did a bang up job trying to make java incompatitble and hard to install. Those same folks made flash more readily available or allowed it to be preinstalled on OEM boxes.
With that said, my perspective on flash was tainted when I tried to develop an app in flash. I am sure flex is much better. However, trying to create an object based gui model integrated with a movie time line approach in a language that is somewhere between java and javascript was a nightmare at best. Simple things, like positioning a control or creating a list, were just plain hard. You had to write code to go to jump points in a movie and expose/hide layers. None of that was fun. All I wanted was to say, 'put this thing at this spot now'. However, they were modeled more for a graphic artist to add some scripting instead of being modeled for a ui programmer to add some graphics.
Flex may have changed all of this. I don't know. At the very least, applet folks who have always wondered about the applet startup time argument can look at flex and say BS. The idea that they can have a full vector graphics rendering engine that starts up instantaneously, run code, and display images flies in the face of those who have said that it is impossible with the jvm. I've heard all of the arguments, but flash did it and java did not. Java also never put out a tools that the content producers could use (graphic artist types). As a result, applets were used by programmers. Unfortunately, those are not the guys that put together the really kewl looking stuff. Artist sorts do that and they use flash.
All that said, there is no nirvana. We are bouncing back and forth on a damped sine wave to some hybrid between server side and client side computing. We don't want to give up the control of the server or the performance of the client. When you start to add in things like security, local integration (aka password management, etc), graphic capability, reliability, etc...well, all of these things get very grey. For instance, when is the last time you saw a flash app integrate with your OS's desktop, or query your OS password repository? If those capabilities are added, is the flash plugin secure enough? If that flash plugin is used to access your bank account, would you trust it? Some of these questions java has an answer for and some it doesn't. Java was designed from the ground up with security in mind. Flash was not. Futurewave just wanted to create good animated content. For that, security was unnecessary overhead. I am sure flash has more security now, but it was added after the fact. So, maybe they got it right and maybe they will have the same problems windows has had. On the other side, java is not very good at making the user experience reliable in a browser model. The graphics capabilities of java are just now (mustang timeframe) getting emphasis. Java does not have a web content tool that simplifies that programming model for those that just want to do a cool animated intro. The point is, there is no silver bullet. Frankly, I doubt that there ever will be. We will just go through a continuous set of iterations of better as the requirements for correct continue to shift in front of us. The only real nirvana to find there is that at least it will keep us all employed. :)
Thanx for sparking the conversation. It should be an interesting ride.
LES
|
|