JavaFX Is Now Good

August 10th, 2009 by Avatar X Leave a reply »

tmp89

I try out JavaFX pretty much every 3 months or so. Have been doing so for almost a year now and i can finally said that JavaFX is now good. They recently finally released a update that enables it for Mobiles and they have been seriously tuning it for desktop use with the last two updates of Java.

The last time i tried out JavaFX it was still a trainwreck.  Even if i always have noted that JavaFX may well be a lot more powerful than Flex and Silverlight. In fact i am pretty much sure that it is more powerful.

However they got HUGE disadvantages against Flex and Silverlight and that Sun, now Oracle got vs Adobe and Microsoft. This continues to be the case. JavaFX even that it now has a mobile release, a devices release and the desktop reflects maturity. It will not be enough. Or it is not enough yet.

The Good

3 months ago or so, JavaFX had the highest CPU usage rate from all the RIA solutions. Now it seems to be lowest one and looks to get the best CPU performance rate i have seen. I tried this out in a Old PC, a Netbook and a Average Desktop PC with all JavaFX samples and the same amount of samples for Flex and Silverlight so i came very sure with what i was going to say here. So passing from worst to best in that crucial area,  In that time frame is nothing short of incredible and my props to the JavaFX team. It is a incredible evolution.

The bad

Last time JavaFX was excruciatingly slow to load. Any sample or any decent application was slower to load than any similar in scope  Flex or Silverlight alternative.

It is still the worst but by very very little. In some cases it maybe about even with Flex and Silverlight

The Ugly

1.-Authorization

Given that JavaFX is still essentially java at the base, That means that authorization and certificates are still a issue.  So every single thing done in JavaFX must be properly identified so it can load.

When it comes to “Load To Desktop” webstart apps it is not a big issue since the behavior and install experience is pretty much identical to .NET ClickOnce and Adobe AIR so it is to be expected.

But “Load In Browser” apps are another thing. Since usually you only need to identify them once and every time after they will load fine. This is based on who made it and how you authorized the maker. So if you encounter several apps from the same maker and you authorized the first app you encountered from said maker as a trusted party. All apps from that maker will just load every single time you encounter them in the future. If you didn’t marked it as trusted maker or the apps comes from a maker you have not authorized or encountered. Then each app will prompt you before it can load.

Complicated?, Not really. Annoying?, Not for me.  But for those users that could not stop whining about UAC in Vista having the nerve to prompt them once a day when it needed to?.  Oh you bet they are going to love (NOT) how JavaFX works. So this is something that needs to be seriously thought out and resolved.

My proposed solution is for Developers to be able to ask for “Clearance Keys” at Oracle so that the prompt only comes from not registered JavaFX apps or widgets. Well, it is just an idea that Oracle could steal from how oAuth works.

2.-Installer

The greatest virtue and flaw from JavaFX comes from being tied up with the rest of the Java Runtime.

It gives it ubiquity and all the power in the world, but it makes it a big download, gives it a big installation footprint and makes it a power hungry install when compared with Adobe Solutions that comes in 5 separate plugins and Silverlight that is a single plugin install.

But this is a issue that i don’t find Oracle being able to develop a workaround that satisfies them, given what they would lose if they unbundled JavaFX to be on its own.

3.-RAM Consume

The worse for last. RAM consume continues to be off the charts for JavaFX. It even makes the worst Flex, Flash or AIR apps look lean and light in RAM consume if compared to JavaFX. So it is dead last in this one.

Were else you could see a simple tiny widget (in-browser) consuming over 100mb of RAM on its own or a simple desktop app consuming as much as 500mb of RAM?.  Only with JavaFX.

So i guess that such dramatic gain on CPU efficiency had to be loaded somewhere. In this case to the GPU and to the RAM.  But even as bad as JavaFX RAM consume is. It is logical they decided to go this way since any laptop and desktop now comes with at least 3gb of RAM and some form of GPU chip or card a lot better than what came as default two years ago when RIA were materializing.

Conclusion

I don’t know how much the Start Load, Authorization and RAM consume issues can be improved but if they manage to improve them even a 50%. That alone would make JavaFX a true contender for 2nd place in the RIA space.  A 1st place is something i find almost impossible for they to get and that will be battled out on and off by Adobe and Microsoft.  A 2nd place is possible even if quite hard to see it now. But a very close 3rd place is what Oracle should aim for now,  given they are still in a very very very distant 3rd place. But maybe in 3 months i will have to change my mind.  So lets see.

JavaFX Downloads

JavaFX

3 comments

  1. Vince says:

    I wish I could try the examples on javafx.com on my Mac. Each time I load an example, it says something like “cannot trust source, treating code as unsigned”, and the it only shows the Java spinning wheel, not the actual app.
    I guess the provisioning experience really has to be improved, so that it works on the 2nd major platform, too.

  2. Avatar X says:

    @vince

    Yes, it is to be expected from what i talk about the whole authorization/certification thing with JavaFX

    My guess is that they have not added a way for JavaFX to identify to the Mac or Linux yet. In the case of linux it is not so hard because the user can simply force it or someone else will have a way to simply run them. But in the Mac given how OS X work, i imagine that it is trickier and most 99% will prefer to just wait until it is added acordingly.

Trackbacks /
Pingbacks

  1. JavaFX Tweeter Widget | Widgets Lab

Leave a Reply

Website maintained by Happy Shoe Media LLC