Bruce Eckel: Use Flex as the UI for Java Applications
Bruce Eckel has written about the future of user interfaces in Java. He reviews the state of Rich Internet Applications (RIAs) and states that while Ajax helps, a language designed for user interfaces and rich media is what we need. He proposes that we stop trying to use one language (Java) to solve all of our problems , and instead use Flex and Apollo as a front-end for systems written in Java (or JRuby, Groovy, Scala, etc).
We do see relatively amazing Ajax-based tools like GMail and the other Google tools which are slowly seducing me (but I repeat: it took Google to create those, not Joe garage-programmer). Very nice, but is this the best you ever want to see on the web? You're seeing, if not the limit, then very close to it in those applications, and even then they don't work consistently.
It's not impossible to build GUI applications with Java, but it's been 10 years and there are still installation hiccups with applets, Java WebStart, and regular applications. After 10 years, people don't trust it anymore. If it's not there after 10 years, then I'm going to go out on a limb and say that someone doesn't consider this problem important enough to fix.
Eckel proposes Flash, and Flex in particular, as a UI library for Java, both for RIAs and for desktop applications. Installation is trivial, high quality UIs are easier to develop than in Java, Flex is no longer expensive, and Flex was created as a DSL for user interfaces. In the end, Eckel says marrying Flex with Java might be the best way to deliver cross-platform applications with high quality UIs:
You don't insist on using a Java database for an application; you use a specialized system like MySQL or Oracle. Sun is directly supporting the development of JRuby for hybrid Java/JRuby programming. We are seeing other special-purpose languages arise to solve specialized problems. Why insist on using a Java library for UI if a specialized system solves the problem better?
Paul Brown responds that he thinks Flex might be a step in the right direction but the problem to focus on is graceful degradation to HTML. With the growth rate of new mobile devices and platforms to view the web, the ability to get back to the common denominator is necessary.
Eokyere agrees with Eckel and hopes that the open source community will get involved with Flex, perhaps in working on an open source alternative to Flex Data Services.
Flex is no longer expensive
I'd like to verify that we are no longer looking at $10,000 per server deployments, but it's pretty hard to.
Asking a Flex advocate about pricing always degrades into a bunch of hemming and hawing and 'free for development' and 'cheap for most uses'.
I look at the Licensing and Pricing section of Adobe's Flex FAQ. There are no numbers, except for the phone number to talk to sales.
Even if the dollars are now reasonable, I now know that I have a new third party Licensing/Sales Consulting bureacracy that has to be managed for deployments in any reasonable-sized enterprise.
I've been consulting for too long to go down this road. I'll be sticking to something a bit more open for core UI infrastructure.
Here are the exact pricing details for the whole Flex product line:
Many companies have been very successful with Flex using only the free Flex SDK, which is free and doesn't have any hidden runtime fees. Free as in free. :)
Hope that helps.
Why would I want to lock into a proprietary solution?
Just because something is easier to do does not instantly make it better.
consultant in search of a subject
Joost de Vries
Re: consultant in search of a subject
Or VRML. It's had time to mature, and I hear there's a netscape plugin.
Please, keep me away from web sites this person develops. HTML is a great thing, no matter how bad it gets.
Re: Why would I want to lock into a proprietary solution?
Corba The Geek
Flex for UI as an option to AJAX UI library
for an internal project.
I was very impressed by the quality of the UI libraries,the extensive documentation (API, Reference manual,examples),a very active mailing list (too active :-) )
for their finance chart
After starting using Flex SDK is quite tough to go back to PROTOTYPE, SCRIPTACULOUS ,DWR, GWT, DOJO world.(Great js libraries or toolkits by the way)
I believe that people should download the SDK with the trial version of the eclipse pluggin and test by themself that web development can be painless using tools such as a powerful debugger
Thick clients can do more than the GUI ...
A big benefit from using the same programming langauge on the client as one uses on the server is that you can share various business libraries (or parts thereof) across the server and the client. This way we don't have the duplicate business logic like we have had in the past or with Flex on the client and Java on the server.
Of course, some apps don't need this sort of client-side processing but some could benefit a lot from it.
Perth, Western Australia
mrhatken at mac dot com
OpenLaszlo is the way to go!
And their documentation is great, honnestly they lack a few small things compared to Flex, but hey, it's Open!
For ISVs that develop software applications for sale that are built on or embed Flex, an Adobe ISV support plan and/or OEM license and redistribution agreement is required. Flexible licensing and value pricing options are available for Flex OEMs and ISVs.
We are speaking about the future of UI (Web or not).
A monochromatic screen is an excellent solution for the 80% use-case too, but the additional possibilities of a color screen are very welcome for 100% of the applications.
Another idea would be GWT direct support for Flash rendering; it would be possible since GWT compiles Java to HTML+Ajax/JS.
And as the next version of OpenLaszlo, it would offer different rendering for different devices/platforms.
But I totally agree with Bruce when he writes that Java as a technology to design GUI is not a very good solution.