Frank Sommers
Posts: 2642
Nickname: fsommers
Registered: Jan, 2002
|
|
Re: Has JavaFX Hurt Client-Side Java?
|
Posted: Nov 16, 2008 10:57 PM
|
|
Thinking from Sun's perspective, the client is probably very important, because it's a receptacle for, and collector of, data: The client is what entices customers to use an application, and it is where users interface with data. Developers do spend a significant amount of time and effort creating UIs, so making that easy would be a big win.
And it really is all about the data. Successful business models are those now that enable customers to make better use of their data, e.g., make better decisions, better analysis, etc.
Sun has all the ingredients to make that easy, both in terms of hardware and software, but few layers work seamlessly well together. Why not finish the job, and create a seamless, end-to-end story of how to capture, process, store, and analyze data in the most efficient manner possible? My opinion is that they'd need a Jobs-like person who'd make that seamless usability the top priority.
For example, if Sun made it very easy for developers to create enticing GUIs that simplify customer-facing application building, especially for business applications, in such a way that those UIs can directly pump data in and out of Java-based back-ends, and then offered compelling products to slice and dice that data very fast, I think that would be a compelling business model, because that sort of capability is worth a lot of money to enterprises.
Such UIs have to be accessible via HTTP, and it has to be easy to model relatively complex data relationships with such UIs. Swing is only half-way there now: It lacks an official, well-supported data binding standard, it's data presentation capabilities are lacking components (formatters, tree-tables anyone?), and it's deployment story is still not complete. SwingX, and some other projects, came up with some of those. I think they'd need to finish those and roll them into a Swing 2.0-sort of release.
Most important, however, Swing offers no clear, easy-to-use mechanism to tie a Swing UI into a back-end application. There are, of course, many ways to achieve that, but none of them are trivially easy. Yes, you need the Web services gunk (Swing doesn't even have that seamlessly integrated), but have a simply asynchronous model for data access directly to Java objects, to EJB3, or something like that. Again, it can be done by developers, but there are tons of ways of doing that, and there'd need to be one, well-supported way that comes directly with Swing.
Flex, by contrast, provides extensive data visualization and presentation abilities, provides a simple data binding mechanism, and its deployment story is as good as such things can get. Also, Flex has a very simple, but effective, mechanism to tie into Java-based back-ends.
I would love to see Swing succeed, in part because, again, this would benefit Sun, too. And there're an awful lot of terrific people working at Sun who really deserve to see this thing just completely succeed.
|
|