SQL Zone is brought to you in partnership with:

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

How Can Oracle Make JavaFX More Popular?

07.15.2010
| 15256 views |
In JavaFX is a Train Wreck, Kirill Grouchnikov asks why he has yet to see a good looking JavaFX application. I always expected JavaFX to be more popular than it turned out to be, especially when the Java Store was launched, but maybe there's no place in the software development world for JavaFX anymore. On the mobile, Android seems to be the language of choice for Java developers, which is unsurprising given the huge potential for the platform. On the browser, developers are spoilt for rich frameworks. If it focussed on the desktop only, perhaps JavaFX would be a compelling option. Or maybe we're about to see a wave of new JavaFX apps following the release of JavaFX Composer with NetBeans 6.9.

Microsoft know they're up against it when trying to sell their Windows Phone 7  with competitors like Apple, Google and RIM. Their solution? Give developers handsets, tools and cash for developin apps for their new platform. It might just work. Should Oracle look at this model to improve the adoption of JavaFX?
Three years later, is JavaFX a relatively unused technology? And if so, what can be done to change the outlook for JavaFX?
Run a JavaFX Developer Challenge
5% (38 votes)
Pay developers to create JavaFX applications
8% (60 votes)
Narrow JavaFX's Focus
5% (42 votes)
Provide better tooling
19% (154 votes)
Give up on JavaFX
30% (242 votes)
Make JavaFX open source
28% (220 votes)
Other (Leave Comment)
6% (44 votes)
Total votes: 800

Comments

Casper Bang replied on Thu, 2010/07/15 - 3:16am

OMG just kill it already. Adobe kinda made this sort of RIA work for a while but for over 3 years now JavaFX has been too little, too late. Release the resources to more viable stuff.

El Gi replied on Thu, 2010/07/15 - 3:21am

Some additional suggestions to Oracle related to JavaFX advertising: [1] open source (and include them in samples on javafx.com) ALL the HOT samples presented on previous JavaOnes JavaFX shows (ex: MoonTank,... see bellow for more)  [2] be more open on what's into the cooking labs (ex: Chris Oliver & Antony Rogers JavaFX 3D/SlimShady  project : http://blogs.sun.com/chrisoliver/ & http://blogs.sun.com/ant/) and give access to previews/demos [3] add powerful demos: see FlexTour [4] pick selected applications from ShineDraw (http://www.shinedraw.com/flash-vs-silverlight-gallery/) and create/show how JavaFX implementation will be better.  

I reiterated these "request" several times on javafx blog, danny's blog & more ... without any response. So trying it again here (hopefully more succesfully): Why not all the demos from the JavaFX launch, JavaOne 2007/2008/2009, Devoxx presentations (ex: the FoxBox, Tank game, 100x videos on sphere...etc) are available on the javafx.com samples page (including the sources) ?! Also the FULL video(s) from JavaFX launch event will be more then welcomed since some very powerful demos were shown (ex: 6thSpaceFX from MaldenLabs, FoxBox ...etc)... Why to keep all these goodies "behind the veil" ?!?! I think these will be very helpful for developers in the wild to create even more compelling JavaFX demos. Oracle: keep up the good work on JavaFX and please share with us EVERYTHING (that was already demonstated anyway but for small crowds) that could benefit JavaFX !

 

 

Ricky Clarkson replied on Thu, 2010/07/15 - 3:23am

Compile to HTML5.

Geertjan Wielenga replied on Thu, 2010/07/15 - 4:47am

I think JavaFX will become more relevant once it is possible to use it in substantial desktop applications, i.e., existing modular Swing applications. Without that integration, though, it's a piece of a puzzle without a puzzle to put it into.

Dave Smith replied on Thu, 2010/07/15 - 5:00am

All this talk about not being able to create something that looks good in JavaFX is hot air. JavaFX has the functionality to do so, you just have to know how. What JavaFX needs is for the preview controls and layouts to be finished, controls such as a table implemented, and the Prism renderer implemented. When this is done it will be easy to write any application that could be written in Swing quicker, looking much better and with far greater performance. Personally i would of rathered investment in Swing instead, but Sun/Oracle have invested in JavaFX and in many ways its already far better than Swing, except for missing components.

Ronald Miura replied on Thu, 2010/07/15 - 5:24am

Make their salesman sell it to CTOs. They managed to sell OAS, they could sell anything if they try.

William Siqueira replied on Thu, 2010/07/15 - 5:46am

Give up isn't the solution. JavaFX is great. Forgt all small JavaFX problems and simply test JavaFX and you'll see.

I have some suggestions to Oracle:

- Mature samples on JavaFX.com;
- Release JavaFX Designer Tool;
- Posts/Articles, a lot , to show how to solve commom problems. A guide for real initial users on JavaFX.
Look at the popular posts on DZone today: Styling with JavaFX. JavaFX CSS is great, and we have a complete reference guide about how to style with JavaFX (http://java.sun.com/javafx/1.3/docs/api/javafx.scene/doc-files/cssref.html)... BTW, I believe in JavaFX. He is getting better each release, isn't time for bad comments, is time to explore the platform!

William Antônio Siqueira.

Alois Cochard replied on Thu, 2010/07/15 - 6:16am

For me JavaFX is simply born-dead.

HTML5 + CSS3 gonna kill it (and fortunatly flash gonna disappear too).

Alois Cochard
http://aloiscochard.blogspot.com
http://www.twitter.com/aloiscochard

Srikanth Shenoy replied on Thu, 2010/07/15 - 6:39am

We need more success stories in JavaFX.... Eye candies are cute to see and enteratining to watch, but lets get to the real world..., but no sane company makes it technology decisions based on them

I developed a large system using JavaFX a while back. The project accomplished most of its goals, but went over budget and over time (took thrice as long and as much expensive). The reason for this were several:

  1. Sun/Oracle does not have samples showing how to use JavaFX in serious enterprise applications (i.e. beyond eye candies).
  2. Lack of components (Yes JFxtras fills some of this gap, but there are gaps as others have already pointed out - There is no editable table grid among many other things. )

If Sun addressed these two correctly, then developers and enterprises will start believing and start to adopt JavFX for large projects. That will automatically drive JavaFX adption. None of it is happenning. Most of the sample applications are coming from open source and volunteers (myself included). But this is a slow process as voluntary contributors dont have deep pockets and need to work on other things to pay the bills.

James Sugrue replied on Thu, 2010/07/15 - 7:00am

If I could create my project in JavaFX and cross compile for other platform targets, like Android or maybe even the iPhone, it would definitely grab my attention again.

 

Ryan Developer replied on Thu, 2010/07/15 - 8:30am

I've been waiting for the tooling to be fully released before I get serious about JavaFX.  Sun showed off the designer tool (like Flash Studio) at JavaOne long before showing off the composer tool in NetBeans, and yet the composer tool was released first.  They've had more than a year to finish the designer tool, what's going on?  Not even a beta or preview?

Another major issue to me is that I'm not aware of any mobile platform that is using JavaFX.  Sun came out with Java FX for Windows Mobile a while back, but you had to open a Java FX icon, select the program you want to launch from a list, and look at a full screen Java FX splash screen to use a program.  That is not the kind of experience or platform integration I want.   Plus I don't think it will work on Windows Phone 7.   I remember a JavaOne 2008 demo of Java FX running on Android, but haven't heard anything about it since.  Flash and Silverlight are on the next generation BlackBerry phones.  For Java developers, BlackBerry offers Java 1.0 or something from the dark ages that is TERRIBLE to work with. The industry needs to move on to the next generation of Java ME that provides a full Java SE 6 JVM and Java FX. Unltil then, there will be more and more Java ME developers moving on to Flash, Silverlight, iPhone and Android.  The billions of phones with Java ME doesn't matter because the phones that matter to our customers, smart phones, don't have it or offer a much more complete language (C#, ActionScript, Java 6, Objective C) than the Java 1.0 currently offered by Java ME. Plus I've read about the nightmares Java ME developers have to go through with PER CARRIER signing of midlets.  Java FX mobile runs as as a midlet at the lowest level, right?

And finally, I think most or all of the demos should be removed from JavaFX.com because they cater to someone who wants to make a game or the equivalent of a Flash advertisement, by hand, without using the missing designer tool.  Instead, show me jaw dropping real world business samples, like the Parleys.com app.  Give us fundamental UI controls like a table with column sorting, filtering, pagination, etc.  Build these sorts of *fundamental* UI controls into Java FX.  I remember watching a guy at work using Flex, and even the most Hello World basic application had sex appeal because it looked so good.  I don't think we get that with Java FX. We have to work to get that, which is not good when people are trying to evaluate it.

Will JavaFX support VP8?

Mikael Grev replied on Thu, 2010/07/15 - 9:02am in response to: Geertjan Wielenga

Why would anyone use JavaFX instead of Swing?

Isidoro Trevino replied on Thu, 2010/07/15 - 9:12am

I would rather have a full Swing upgrade and fix all the things wrong on Java Web Start than a new pseudo language like JavaFX.

 I think an agile framework like Griffon is a more feasible path than focusing on a white elephant like JavaFX

Mikael Grev replied on Thu, 2010/07/15 - 9:30am

What they need to do it to explain why one should throw away thousands of hours, per deveper, of Swing training and learn JavaFX from scratch. JavaFX must be so so much better that it pays off to do the switch. (No none-Java developer will buy into JavaFX without asking the current Java developers what they think first. And if the "old" develoers doesn't see a need for JavaFX, no one will.)

Since above can't be fulfilled they should swollow the pride, fire some middle management and get back to doing what they know, Swing. Now with modules for Java 7 they can make a new clean version of Swing (SwingHD with JavaHD), that is much better and takes only minutes for Swinge developers to learn. Adoption effort would be minimal. They could maybe rebrand JavaFX's Scene Graph to JavaHD and build SwingHD on to of it).

Of course they will never do this, there's too much pride is involved, but it is the only way and they probably all know it.

There's a name for this phenomenon, Death March. (http://en.wikipedia.org/wiki/Death_march_%28software_development%29)

Nathan Pruett replied on Thu, 2010/07/15 - 9:20am

Give up on JavaFX (and then release it as Open Source for whoever wants to use it). 

The problems with JavaFX and Silverlight is that they were just way to late to the RIA game, and they don't really provide any advantage over competing frameworks. 

Flex has been around since 2004, Silverlight was only relased in 2007, JavaFX was announced in 2007 and released in 2008.

Anyone who was serious about developing RIA-style apps jumped to Flex early, and had already been developing Flex for 3-4 years before Silverlight/JavaFX came out.  And Flex had those 3-4 years to mature their initial framework.

Flex also has a massive advantage in that it runs in the Flash player plugin.  First, because the Flash plugin has such a large install base; Second, because the Flash community was already a pretty good mix of developer and designer types.

JavaFX requires a recent JVM and Java plugin installed - which is possible on a managed instranet, but nowhere near as widely installed as the Flash plugin (or as fast and easy to install/upgrade) 'in the wild' for the random internet user.  Second, Java development is overwhelmingly focused on developers and on web frameworks.  Any designers on Java projects were 'web designers' only and not 'Java app designers'.  Swing desktop development lagged at a far second, and any design effort at all was probably only done by Sun generating the Swing L&F.

Silverlight should have an even bigger advantage than Flash as far as install base because Microsoft can just push everyone the plugin through Windows update.  And WPF appears to be pretty successful in becoming the new .NET desktop development framework.  But Windows apparantly has a problem with people actually installing updates.  See all the problems with unpatched windows bot-nets and people still stuck on IE 6 and not upgrading.

Ultimately, the biggest problem with both Silverlight and JavaFX is that their basic premise is, "You can develop RIA apps just like Flash/Flex, but you can leverage your existing .NET/Java skills!" But in JavaFX's case, instead of using Java as the language for JavaFX - they created JavaFX script - so is there *any* advantage there?  In any case, this just isn't a big enough advantage to sway existing developers away from Flex.  It seems like Silverlight and JavaFX are destined to just be toy APIs for developers who want to develop a "Flash/Flex"-like app without going outside the comfort zone of .NET or Java.  Or maybe develop apps for controlled environments, like intranets, or tools for .NET/Java developers.  But if they ever want to make something applicable to general users, they'll probably have to use Flex.

 

 

RIchard replied on Thu, 2010/07/15 - 9:32am

@Ricky: Exactly. Mr. Ellison, a word of advice from the prospective of imperative business management AKA small/mid-size companies. Merge JavaFX with Java, and be done with browser plugin dependency. It's a great technology and would meld nicely with the OSS community's desktop initiative for Java. It's time to take applet's place, so it's mandatory that you include Java as one of it's programming languages. However, being browser embeddable is only a feature, it cant carry the technology. The split from Java was really another poor decision, in a long line of poor decisions (you know what I mean). When it comes to the browser, I can tell you, with absolute certainty, that Google has the reigns now. Not Adobe, not MS, and certainly not Oracle. If you had purchased Sun 8 years ago, maybe... but ask yourself, would you have started JavaFX? I don't think so.. If MS cant make Silverlight take off... Anyway, my 2cents

Jacek Furmankiewicz replied on Thu, 2010/07/15 - 9:30am

Kill it. 

It's been a detriment that has distracted useful engineering resources from what really matters: making Java and Swing better.

Honestly, after I've seen what HTML5/JQuery/Canvas will bring to the browser in terms of RIA, I doubt the case for these plugin-based RIA tools is that strong.

JQuery UI looks nicer out of the box than JavaFX ever was. And doesn't take 30 seconds to load the page.

Tom Eugelink replied on Thu, 2010/07/15 - 9:47am

JavaFX only real target group ATM are Swing developers. Swing is powerful but bloated and complex, but at least they are on the Java team. Win them over first. Another market could be new technology; e.g. embed in interactive TV's like it is in blueray players. But that is a whole different audience and that does not have many developers.

Greg Brown replied on Thu, 2010/07/15 - 9:59am

I'd personally like to see them drop JavaFX and adopt Pivot (http://pivot.apache.org) as their next-gen UI framework, but I'll admit that I'm a bit biased in this area. :-)

Jay Huang replied on Thu, 2010/07/15 - 10:13am

Oracle should work with Google or Intel to prompt JavaFX apps through their stores.  Java Store is dead and there is no new development with Java Store.  I don't think that Oracle even care about Java on mobile or deaktop patform.  Lack of PR and communication with developer community is a major problem for Java's future sucess.

Guido Amabili replied on Thu, 2010/07/15 - 10:17am

 

How many guys that want to kill JavaFX.... but how many did try ?

I am bit disapointed too, but nevertheless, if I had the choice and I developed a Java desktop based application, my UI framework surely would be JavaFX.

It has a ton more features than all the other frameworks put together

(E4, Pivot, SwingX,Swing, you name it).

But, (I'am not talking about a table component because it's really easy to implement one+ there are already implementations nelson,jfxtras, plus you can embed the swing table component.)

  • There is no browser component (think of it to implement an ebook reader for example, I wrote one in JavaFX but used the Swing based Flying Saucer Browser...)
  • You still can't distribute the JavaFX runtime with your application.

My 2c

Guido

Greg Brown replied on Thu, 2010/07/15 - 10:39am in response to: Guido Amabili

> It has a ton more features than all the other frameworks put together

Such as...?

JavaFX may actually have a number of compelling features, but one feature it does not have is the ability to actually write applications in Java (or other JVM scripting language). To me, that's a pretty big shortcoming.

G

JeffS replied on Thu, 2010/07/15 - 10:55am

My stance has changed.  Prior, I was very pro JavaFX.  I saw lot's of potential.  It's an easy scripting language, with good video/RIA capability. 

 But, unfortunately, it never realized it's potential.  It was late to the party, and never had enough resources to help it deal with it's shortcomings and realize it's potential.

Plus, RIA technology, whether Flash, Silverlight, and JavaFX, is on it's way out.  With HTML5 (using V8, not h.264) and JQuery (and others) is all anyone is going to need.  Even with Silverlight, which is eons ahead of JavaFX, there is very little compelling story to use it over other stuff.

 So I say kill JavaFX (or just open source it and let the Java community play with it), and then allocate those engineering resouces to Swing, and higher level Swing frameworks.

Guido Amabili replied on Thu, 2010/07/15 - 10:55am in response to: Greg Brown

Hi Greg,

My favourite features:

CSS Styling, FXD Files, Animation, Video Support.

For me, writing JavaFX applications is as fun as writing demos for the old Atari ST.

You can mix seamlessly Java and JavaFX files.

Not sure for the other scripting languages, but I think it should be possible. (Griffon has support for JavaFX)

But Pivot is an impressive piece of software, congrats!

I will borrow some concepts of Pivot for my JavaFX applications.

Guido

Mark Smith replied on Thu, 2010/07/15 - 10:59am

Give up on JavaFX as it is. Reactive paradigm is fantastic and there's some good ideas in JavaFX. Take a look what Microsoft is doing with Rx, I believe it provides a stronger foundation without inventing a new language (Rx is ported to Javascript too).

Possible ideas:

- implement JavaFX (JavaRx?) as a DSL on top of a flexible language (Scala is probably the best choice)
- focus on HTML5, good jquery integration too
- invent a slick client/server communication (comet, websockets, json, rest, ...)

Greg Brown replied on Thu, 2010/07/15 - 11:02am in response to: JeffS

For certain types of applications, I agree that HTML 5 will be the best choice. However, I don't think it is going to displace RIA toolkits altogether. For UI-intensive applications, I would much rather work with a dedicated GUI toolkit than HTML. Regardless of how many extensions have been added onto it over the years, HTML is still fundamentally a document markup language. It still gets ugly pretty quickly when you try to push it too far.

Greg Brown replied on Thu, 2010/07/15 - 11:05am in response to: Guido Amabili

That makes sense - it sounds like your applications are focused more heavily on media delivery and interaction, where JavaFX is stronger. Pivot also has support for styling (via JSON) and animation, but we have placed much less emphasis on the "rich" aspects of the framework and more on the "internet" and "application" parts. So I agree that, from your perspective, JavaFX may offer a more compelling feature set.

James Sugrue replied on Thu, 2010/07/15 - 11:17am in response to: JeffS

You raise some very good points there Jeff. I was thinking the same - that HTML5 is the big technology now in place of those other RIA approaches.  I won't give up on JavaFX just yet though. 

Microsofts approach of rewarding developers for developing for Windows Phone 7 could be a worthwhile approach for Oracle to take with JavaFX. 

 

Otengi Miloskov replied on Thu, 2010/07/15 - 12:06pm

Kill JavaFX, I does not have a future and It will never have nothing. The future is HTML5+CSS3+Javascript et al. As a Java developer I would prefer to invest in GWT than JavaFX or even Flex/Flash(Flash will be dead for app development it will stay only for video). GWT kind of frameworks are the future for Java web/Ria development. Only one thing I will thank to JavaFX, Thanks to JavaFX the JRE is more fast to load and little more thin so it helped my Swing applications. For Desktop I will continue to use Swing and Java2D but for RIA or WEB I will use GWT and the like.

T.a. Hubbard replied on Thu, 2010/07/15 - 12:18pm

I love JavaFX. Years ago, Jonathan stated that JavaFX ran on Android and Rich Green stated that "it was a very simple act." That is where we should be - right now! What happened? Put the current and future JavaFX runtimes on Android and it's over - tools or not! JavaFX programmers will flock to Android! Let's face it, Android is 'the' hot OS now and will be 'the' OS for the next ten years (and it's written in some variation of Java too!).

Oracle, this JavaFX conversation is tired. Come on, get it together!!!!! Give us access to the Android market, now.

Comment viewing options

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