I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Paying The Price for JavaFX

05.14.2008
| 11738 views |
  • submit to reddit

They say every silver lining has a cloud. We all got quite excited about JavaFX finally giving us Java across an array of devices and great video capabilities. Finally, desktop Java was going to make it. Then as I read Dion's blog entry entitled Sun is bleeding; More engineers leave as JavaFX is pimped, I started to get worried.

To summarise, with leading engineers such as Chet Haase and the CTO of the client division moving onto Adobe, we need to wonder what Sun are focussing on. Sure, it was great to hear that JavaFX was getting a push at JavaONE but I was under the impression that it wouldn't be at the expense of other parts of the platform - especially not Swing.

I hope that in the next few months developers aren't paying the price for Sun's decision to market JavaFX. If JavaFX could be looked on as an addition to Java, to get into some new spaces like RIA I'd be fine with that. Until Java 5, I don't think that Swing developers got a fair deal - but the improvements started to come in, and developers were more content with Swing. But that doesn't mean it's perfect. To keep up with the industry APIs like Swing need constant focus, and great developers behind it.

Things that are added to JavaFX don't need to be exclusive. For example, the ON2 video codecs that are being added to JavaFX would be quite welcome in the core Java platform too.

I'd agree with Dion, that JavaONE could be more productive - less focus on marketing and Neil Young, more focus on developers. I also don't see why a few big announcements couldn't be made, rather than just a full focus on JavaFX.

Do you think we'll be paying the price for Sun's focus on JavaFX? Or is it a good time for this shift in focus?

 

Tags:

Comments

Jacek Furmankiewicz replied on Wed, 2008/05/14 - 10:12am

If Sun loses focus on core Java due to pinning too much hopes on javaFX, it will go down as one of their most fatal decisions ever.

And to be fair, this "focus on JavaFX" is pretty behind compared to what Flex offers with FlexBuilder and MS with Blend.

It's not just the language...where are the dev tools to go with it??? And by dev tools, I mean ECLIPSE dev tools...netbeans may be great, but it's not the standard IDE in most shops.

 

Michael Azzi replied on Wed, 2008/05/14 - 11:08am

In case you haven't noticed, Dion there has been riding his ajax (ajaxian) bandwagon for a while now. And so it's in his vested interest to dish out any dirt he can get on Sun and their JavaFX RIA effort. You have to take anything that Dion, Bruce Eckel, etc., say and with a huge grain of salt considering that what whatever they say is not necessarily in the best interest of the Java community as they would like to have you believe. These guys have their own Ajax/Flash axe to grind. So you see for instance Dion yapping about JavaFX Script as a misguided effort, and why we need another language, and at the same he sings the praises of Ruby, Groovy, Scala, what have you. Isn't each one of these yet another language Dion? Care to enlighten us Dion what makes these good for us, and not JavaFX Script? I have been using JavaFX for a while now, and I think it's a nice breath of fresh air in the Java desktop developement space. If I can help it I would never go back to doing UI programming the old Swing way. It's almost the same feeling I had when I first programmed in Java and how refreshing it was after enduring through the C++ dark ages.

Fabrizio Giudici replied on Wed, 2008/05/14 - 1:08pm

I don't believe Swing will suffer from anything, on the contrary it will benefit from JavaFX. At the Media BoF the engineers have quickly explained how the new Java APIs for the video codecs will be, so you see that we're gaining them on the Swing side too. And I believe also the SceneNode stuff is available for Swing too.

For what concerns the IDEs, I see that people just use the best tool for the job. For instance, I've recently seen a lot of people moving to Eclipse to NetBeans because they felt NetBeans offered the best tools for J2EE or for Swing. So, my only point is to have JavaFX and all the related stuff working. If it does, the main problem derived by an hypothetical lack of support from Eclipse will be probably in the Eclipse community. ;-) 

Jacek Furmankiewicz replied on Wed, 2008/05/14 - 1:40pm

Fabrizio, that is *GREAT* news. I am happy to see that all the underlying enhancements are going to be in the base Java platform. Thanks for the update.

Fabrizio Giudici replied on Wed, 2008/05/14 - 2:42pm

Jacek, you can learn something more by looking ad the slides (they have been made available and I'm doing a massive download right now :-), in any case the name of the new API is "Java Media Components" and I believe Chet Haase already blogged about them quite a few time ago. But at the time Chet spoke about Java 7, while it seems that we only have to wait for a few months. The big news from J1 are the fact that Sun bought a lot of specific codecs from a specialized corporate, ON2, to deliver at least a partially portable set of codecs. 

Fabrizio Giudici replied on Wed, 2008/05/14 - 2:49pm

BTW, I was forgotting it: we're also going to have JWebPane, an embedded Swing/JavaFX component based on WebKit. It's another huge, historical gap that it's going to be closed. So, as you can say JavaFX is only a benefit for Swing.

Dmitri Trembovetski replied on Wed, 2008/05/14 - 3:05pm

The platform will not be abandoned. JavaFX is based on Java SE (on desktop),
so we will continue improving the JavaSE platform. May JavaFX features
in fact require the underlying platform support.

For example - translucent/shaped windows,
new hardware accelerated rendering pipeline on Windows, support for vertical sync-ed
BufferStrategies - these are just from my area of expertise. Many improvements
were made in Swing (JavaFX will use skinning and Nimus as the default L&F -> synth needed
to be fixed/improved, which benefited all synth-based L&Fs). Some of these
improvements won't be exposed as public API in 6u10 because of the restriction on new APIs in
dot releases, but they will certainly appear in Java 7.

Or take the new media API (the Java Media Components - audio/video playback support, with licensed built-in
cross-platform codecs, and with the ability to use the platform codecs), - while at first it will be
part of the JavaFX SDK (for the same reasons), will be integrated into core in Java 7 - and
given the Java Kernel feature, it won't affect the initial download much unless your app
uses it (it's pretty small anyway, around 400K - with the codecs - I believe).

The JavaFX work in fact gives us a chance to significantly improve the JavaSE platform.

Dmitri
Java2D Team

Collin Fagan replied on Wed, 2008/05/14 - 3:22pm in response to: Fabrizio Giudici

Great news about JWebPane Fabrizio! Do you have any links to JWebPane info? Is there a donwload yet? 

Fabrizio Giudici replied on Wed, 2008/05/14 - 3:33pm

For all official info about the release dates of new APIs you must refer to official Sun's communications. I'm longing to put my hands on it as everybody. :-)

Jacek Furmankiewicz replied on Wed, 2008/05/14 - 3:34pm in response to: Fabrizio Giudici

Yay!

You guys made my day. Every time I think someone at Sun is falling asleep at the wheel, you prove me wrong. This is great news, really great.

Two thumbs up from me! :-)

 

 

 

James Sugrue replied on Wed, 2008/05/14 - 4:47pm

This is really good news - I'm happy to see that the platform isn't going to suffer.
Dmitri, Fabrizio - thanks for the updates.
This is the kind of information that is missing in discussions in the aftermath of JavaONE

 

Fabrizio Giudici replied on Wed, 2008/05/14 - 5:04pm

Give time for people to recover :-) I did just a few things and came back in Italy deadly tired; I can only figure out the stress of Sun's engineers that had _also_ to work on code. I imagine that in the next weeks people will blog more on these features, in the meantime have a look at the slides. For instance, the media stuff is in TS-6509.

Carl Antaki replied on Wed, 2008/05/14 - 6:35pm in response to: Fabrizio Giudici

Thank you Fabrizio for the great news. Swing is heading in the right direction. Does anyone have the link for TS-6509 I googled it but couldn't find it.

Fabrizio Giudici replied on Wed, 2008/05/14 - 6:46pm

Try this: http://www35.cplan.com/cb_export/OT_TS-6509_296509_191-1_v1.pdf

Cay Horstmann posted a nice hack to quickly download J1 stuff:

 

http://weblogs.java.net/blog/cayhorstmann/ 

Carl Antaki replied on Wed, 2008/05/14 - 7:34pm

Many thanks Fabrizio!

Imran M Yousuf replied on Wed, 2008/05/14 - 9:58pm

Thanks Fabrizio for pointing to the Cay Horstmann hack. Can someone please help me with getting the out.html :).

Carl Antaki replied on Wed, 2008/05/14 - 10:21pm

I got access denied when I tried to access the page referenced in Cay Horstmann's blog.

GeekyCoder coder replied on Wed, 2008/05/14 - 10:29pm

Dmitri Trembovetski ,

thank for telling us what lies ahead for Java.

 It's great to know that Java still kick ass and Sun is back with vengeance.

A question to ask if Java6u will include the core Java Media Components, or is it only available from JavaFx until JDK 7 is delivered ?

 I about to release a software that use Javazoom's JLayer to play back MP3 however the latter is not stable and cannot playback many mp3 files, and development seems ceased. Therefore, it will be great if Java6u add this media support.

 

 

GeekyCoder coder replied on Wed, 2008/05/14 - 10:34pm

  Fabrizio Giudici replied on Wed, 2008/05/14 - 3:49pm

"BTW, I was forgotting it: we're also going to have JWebPane, an embedded Swing/JavaFX component based on WebKit."

 That's simply amazing as WebKit is too used by Safari and Flex. Glad to know that there is a world-class browser that can be used a gui component. ... 

Dmitri Trembovetski replied on Wed, 2008/05/14 - 11:18pm

> A question to ask if Java6u will include the core Java Media Components, or is it only available from JavaFx until JDK 7 is delivered

I believe it will first be available with the FX SDK/runtime (as mentiond, no new public APIs in update releases), but you should be able to use the Java apis instead of diving into JavaFX script. I would guess that you'd just reference the javafx jar in your jnlp file and use the api as usual. But if you go into these troubles you may as well give JavaFX script a try.

Dmitri

John Denver replied on Thu, 2008/05/15 - 1:21am

JavaFX is a fiasco, Im tired with SUN marketing and useless technologies, anyone rememebr ejb?!. Im just interested in Java and JVM. Good news we will have all this api's with Java.

James Imber replied on Thu, 2008/05/15 - 3:02am

JavaFX / Silverlight are clearly outsiders in this RIA fight and Adobe is clearly the leader.
Market shares aside, the more troublesome for Sun/Microsoft is that developers, including Java developers, like pretty much what Adobe is doing.

Today it seems that Flash/Felx is very close to becoming the standard.That might not be a bad thing as Flash is more and more open sourced.

Now I'm waiting for brave developers to build a Java to Flash compiler. Now that the Flash binary format has been open-sourced it might be possible to do something similar to GWT (Java to Javascript).

Fabrizio Giudici replied on Thu, 2008/05/15 - 3:39am

Flex is a good technology for doing simple things and I do agree that Adobe has now a prominent market position, after all it's the only platform that already ships. But it suffers from _severe_ limitations: one for all, it does not support multi-threading. This means that you can't do / can't do easily a lot of things, and that really your programming model is still an "enhanced" web one, rather than a full-fledged application. Also I see a lot of problems with the multi-core thing (no multi-threading, no capability of exploiting all the available cores), and these are valid reasons for asking for more.

"anyone rememebr ejb?" Given that they are widely used, even through the Spring success, I believe a lot of people remember them. :-) 

Craig Wickesser replied on Thu, 2008/05/15 - 5:35am

I hope to see JavaFX and Swing continue to thrive.

As far as  Flex not having multi-threading...well you can do like I have recently done.  Embed your Flex UI into a C# Form and have your core login in the C# side :)  It might be overkill, but I wanted to take a stab at doing UI stuff with Flex but I was working on a C# app....hence the combination.

Jacek Furmankiewicz replied on Thu, 2008/05/15 - 7:09am

Well, Flex is evolving too at a breakneck pace, so don't count anything as static.

Check this out:

http://www.regdeveloper.co.uk/2008/05/15/flash_player_10_beta/
http://labs.adobe.com/wiki/index.php/AIF_Toolkit

Java can't count on its threading or 2D/3D accelerated pipeline as an advantage forever. 

Fabrizio Giudici replied on Thu, 2008/05/15 - 8:00am

I'm pretty sure that Adobe is running (also because this explains pretty well why they caught Chat Haase and Hans Muller). But when comparing Flex to Swing/JavaFX I see often unfair comparison. A fair comparison is e.g. to compare things that are available today: for instance, Flex is shipping, JavaFX isn't (Flex advantage); Flex is not multithreading nor 3D accelerated, JavaFX is (Java advantage). If in a matter of months the latter Flex disadvantage will disappear, it is also true that JavaFX will be shipping, so also its advantage will disappear...

GeekyCoder coder replied on Thu, 2008/05/15 - 11:30am

Sidewinder,

unfortunately this is the reality of the market. RIA is a growing trend and is likely to influence direction and design of the web application especially given the growing popularity and marketing surrounding RIA. It will be grevious mistake to ignore such trend because the acceptance of technology in the enterprise has now been influenced by market's popularity. For example, Mac and Ruby, ROR, GRAILS, GROOVY will be something that hard for company to ignore as most of talented developer and professional start start using these technologies in mass. 

 Having Swing as core technology is no longer enough as Swing has a reputation of complexity and power with steep learning curve. And after a decade, its acceptance in the market is still disappointing  to the mass while it appeals to hardcore and loyal followers. However, Sun's decision to build JavaFX on top of Swing is astute as it leverages the power and maturity of Swing while adding its own capability. Such decision is tatamount to using Java to build other languages like Groovy, JRuby, Scala, JPython so to leverage on the infrastructure of Java technologies and platform while still offer the language its distinctive characteristic and power.

 Will JavaFX succeed ? It's still early to comment. It's success lies in developer and startup in Web 2.0 using it in a big way to help it gain traction and market share. If a startup that use JavaFX gain popularity, it will surely propel JavaFX's popularity just like Buzzword has done to FLEX.

 And thus by offering JavaFX and languages built on Java technologies, Sun will at least ensure that Java developer will continue to stay relevant, marketable and not deflect to other Java-independent language.

 Sun will need to align technological innovation with business opportunities, and I think JavaFX present wonderful opportunities for the developers, SUN and companies adopting Java. 

Mario Ballotelli replied on Thu, 2008/05/15 - 5:17pm in response to: James Imber

"developers ... like pretty much what Adobe is doing."

 

Uhh excuse me James, are you sure you have consulted us .Net developers on that one? LOL, have you approached any active .Net community recently? I did. People over there were discussing how SilverLight is going to shoot gas price down, wipe Al Queda out, set Iraq straight and stuff.

 

Ok enough kidding, but you get the picture how excited .Net folks are about SilverLight, right? Granted, it's still cautious optimism since M$ may very likely run into a glitch here and there. But their desire to use Flash instead of SilverLight is certainly NOT noticeable to say the least.

Vic Cekvenich replied on Fri, 2008/05/16 - 8:39pm

What is the estimated date when webkit will be GA to jre?

 

.V

Dmitri Trembovetski replied on Fri, 2008/05/16 - 11:46pm

Not earlier than Java 7. You should be able to use it before that as part of the JavaFX runtime (not necessarily through JavaFX script though).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.