Sun has unveiled a new open mobile platform called JavaFX, which it hopes will bring open rapid open development to the mobile space, an environment long dominated by telcos and cellular carriers.
Sun has unveiled a new open mobile platform called JavaFX, which it hopes will bring open rapid open development to the mobile space, an environment long dominated by telcos and cellular carriers.
Not exactly, JavaFX is a scripting language based on Java, will run on Java*, and should run on all the Java platforms with the javafx “compiler” package.
i.e., it’s not just for mobiles.
should run on all the Java platforms with the javafx “compiler” package
No, it should compile on computers with teh javafx compiler. To run it, you just need a jre.
I’ve seen a few tutorials for JavaFX and for me it is such an ugly language Don’t know why they haven’t choosen JavaScript or Groovy. Why should I learn a new Scripting Language? We have so many great ones.
Greetings
Mike
It is not just another dynamic scripting language suitable for text processing. Instead of comparing JavaFX to JavaScript or Groovy, it is more similar to Adobe Flash or Microsoft Silverlight.
JavaFX is aimed to be widely used to create animated rich Internet applications, especially for mobile devices. It may well become important technology considering the importance of mobile market, rich internet applications and the need for open alternatives.
Edited 2007-08-02 12:48
Hi,
but in the tutorials I’ve seen they not only create the gui. They also use JavaFX for some logic behind the GUI.
But nevertheless: It looks strange Don’t know the competitors (Flash, Silverlight), maybe they are even more ugly
Greetings
Mike
Well Silverlight uses .Net so I’m guessing that they would use whatever language is supported in .net. I think python is one of those languages. If that is true then that is a huge win right their because the language is fairly powerful and established. I personally like javafx better at the moment if only because it’s the only real open alternative at the moment. If Sun releases it to the public then some hackers could fix the issues with the language.
Adobes Flex is open source, or on it’s way to being open source and the SDK is free for download now.
It runs on Flash 9 plugins and uses Active script for logic, which at quick glance reminds me of java a lot.
Don’t hold your breath; I’d like to see opensource flash player and creation framework – but I don’t see it happening anytime soon. Adobe seem to be like the Quark of the internet world – screwing people when ever they have the opportunity.
Regarding JavaFX – whats the situation with audio/video functionality? has that been defined? what are they using for it? JavaFX looks like a great flash killer but until they provide an easy to use interface that non-technically minded people can use to develop content and it goes beyond just create rich media experiences – that is, provide the same rich indepth abilities that flash can, its going to be difficult for people to change given those limitations.
“I think python is one of those languages. If that is true then that is a huge win right their because the language is fairly powerful and established.”
What makes you think Python would make a good language for developing multimedia application? Being established and powerful doesn’t mean it is the right tool for the job.
I am primarily a Java developer and do quite a bit of Flash (ActionScript) development on the side. I have not looked at JavaFX yet, but I will be honest with you I’m skeptical. Plus you can’t rely on a functional JRE on the client workstation. Until they prove they can make the JRE as ambiguous as the flash player JavaFX is going nowhere.
Until they prove they can make the JRE as ambiguous as the flash player JavaFX is going nowhere.
I am assuming you meant ubiquitous and not ambiguous since its hard to image a scenario in which ambiguous would be agood thing.
“I am assuming you meant ubiquitous and not ambiguous since its hard to image a scenario in which ambiguous would be agood thing.”
Yes of course I meant that
the JRE is a billion times better than the flash runtime.
and lots of people does have the JRE, and those who dont will get it, simply because: “they just want it to work!!!!!”
It better be considering how much longer it takes to install, and even after it is installed how long it takes to initialize when you first try to loan an applet.
I still think Sun has quite a bit of work to do on the JRE.
Plus you can’t rely on a functional JRE on the client workstation.
JavaFX is meant mainly for mobile platforms, not so much for desktops and workstations.
I find python easier to program in than Java. That’s just my opinion. A lot of users use python already, major 3d packages have almost all incorporated some sort of python engine. What I meant to say was that it was a win for me as I don’t really feel like learning another sripting language.
As for the whole flash/javafx thing I’d rather support javafx since its an open solution that works across different platforms and get updated across all platform simultaneously. With Flash we are pretty much at the mercy of Adobe’s whims. Look how long it took for a Flash 9 to come out for Linux. Will this happen with the next version of Flash? Will the oss community have tio wait until version 12 to get an update? So I’d rather go with the one who will support the most platforms. I would like to see some improvements in java though.
The tragedy for Sun is that JavaScript was never designed to be compatible with the Java framework or virtual machine, which are Sun’s greatest development assets. Microsoft and Adobe designed their .NET and Flex frameworks to be compatible with ECMAScript, which is poised to become the dominant Web-2.0 virtual machine.
The upcoming ECMAScript v4 virtual machine specification will support dynamic or static object-oriented languages like IronPython or Boo, whereas the previous spec only supported prototype-oriented languages like JavaScript. Mozilla is definitely going this direction, although WebKit has yet to confirm its intentions.
So while Microsoft and Adobe are embracing JavaScript, the dominant client-side scripting language, and a whole host of higher-level scripting languages, JavaScript has no future in Sun’s Web-2.0 stack. They need a scripting language based on Java and the JVM, plus a markup language. Instead of using Groovy or Jython and creating a separate markup language like XAML and MXML, Sun developed a declarative scripting language that integrates the markup component.
This is a horrible idea because it doesn’t allow developers to leverage their existing language skills on Sun’s JavaFX stack. The whole framework is bound to JavaFX Script, a brand-new and somewhat unusual language. Furthermore, it uses a heavier runtime that isn’t going to be the default in the next-generation rendering engines.
JavaScript, not Java, turned out to be the killer app for the web. How could Sun NOT have seen that coming?
Er, what about Rhino – Mozilla’s JS engine written in pure Java: http://www.mozilla.org/rhino/
I think Rhino is going to be replaced by Tamarin, the ECMAScript v4 engine contributed by Adobe. This forms the backbone of Mozilla 2, upon which Firefox 4 will be based.
But, yes, Sun could have used something like Rhino if they wanted to support JavaScript and other ECMAScript languages in JavaFX.
Hi, very interesting post!
But in JavaFX it is possible to use everything of Java or not? So it should be possible to write some backend code with the language Java and call it from the JavaFX-based gui. Or isn’t this possible?
Greetings
Mike
“The best software on the planet is free”
Had to laugh at that line. Had they said “Some great somewhere is free”, you couldn’t argue, but the best? Come on.
It’s a simple calculation. If we define “best” software as “Quality / Price”, i.e., Value.
Give any free (no cost software), it’s Value is (Q / 0) = Infinite.
Simple, really.
Unless its quality is 0. And also I’d say it’s not the price that matters, but cost. So not that simple, really.
i think that if you look up the best software in the various fields, the majority would be free..
also, you seem to have your prioities mixed up..
imagine a country where you have everything, except for 1 thing, freedom, could that ever really be the best, even though you have a thousand other “benefits” over the other democratic country which pays more in tax for less service?
JavaFX, Groovy, Jython, JRuby, JavaScript (Rhino), are all great alternatives for scripting on the Java Platform.
The JRE is simply awesome – runs everywhere, has fantastic APIs. The Java language itself is great too, but it’s more systems oriented, and statically typed, and requires full write/compile/test/debug cycles.
Enter the dynamic scripting languages, where one can leverage the power of the JRE with the high productivity of dynamically typed, write/test/debug (runs immediately without compilation) cycle, scripting languages.
Of the lot, I think I like Groovy the best, because it’s the most integrated with the Java platform. After that, I like JavaScript (Rhino), because JavaScript is so ubiquitous, and web designers can easily leverage the power of the Java platform. But they’re all good.
JavaFX is interesting because it’s XML/declarative, making it more approachable for web/content designers. It’s similar in implementation to Flex, only it does not use full ECMAScript for the scripting part (the scripting part is more Java-like).
Nevertheless, I strongly believe that existing Web/Content authors and JavaScript developers would have a very very easy time getting up to speed with JavaFX.
Hi,
well there are some things that are really cool in JavaFX: The model bindings and triggers.
In swing those things aren’t possible at the moment in that easy way.
What I don’t understand, here a small example:
class Model {
attribute tabPlacement: TabPlacement;
attribute tabLayout: TabLayout;
attribute tabCount: Integer;
attribute selectedTab: Integer;
}
var model = Model {
tabPlacement: TOP
tabLayout: WRAP
selectedTab: 3
tabCount: 5
};
Frame {
height: 300
width: 400
content: TabbedPane {
tabPlacement: bind model.tabPlacement
tabLayout: bind model.tabLayout
tabs: bind foreach (i in [1..model.tabCount])….
}
Is it possible to write this class “Model” with Java? The GUI gets connected to the Class, the logic of the program. So for me it is important to use already existing classes here. I don’t want to write whole programs with JavaFX
Greetings
Mike
It’s not just mobile… It’s also Sun’s attempt to muscle in and steal some of Flash’s marketshare, which I think is a good thing given JavaFX’s open nature verson Flash’s locked down nature.
I tried the demos, and while some of the functionality is nifty – especially the SVG to JavaFX importer, its just too slow, like waaaaaay too slow – to start up.
I’m running this on a dual-core 3800+ Athlon (Ubuntu w/Java6 JRE), and i have to wait >10s for each of these tiny little widget-y demos to start up.
Thats ridiculous. If Sun is going to make Java useful on the desktop, theyre going to have to figure out a way for applications to launch quickly.
Come on, its how many years since Java was released and Sun still can’t get a window on a high-end PC to pop onto the screen near-instantly?
I can only imagine what an awful experience JavaFX must be on an actual mobile device.
What are you talking about?
http://labs.adobe.com/wiki/index.php/Flex:Open_Source
You don’t have to pay for the SDK now if you don’t need the UI builder, just download it. Have you even looked at Flex?
Excuse me, but who are you actually replying to – heard of the ‘reply button’? how about using it.
Regarding Flex, its a castrated, cut down version which is not a fully Flash creation tool – basically, *NIX developers are once again handed the wooden spoon. As a result, developers should shun it in favour of a fully open source alternative.
Did you watch the announcement? Gosling’s performance is so funny, “um…um…”, like give me a break, even he struggles for a rationale for JavaFX. This is such a non-starter! Seriously, for any of these frameworks to fly they will have to show why they are better than simple AJAX. The sample JavaFX app will leave you laughing!
Sorry to burst some bubbles but Silverlight is mopping the floor with JavaFX right now. The energy around it is awesome – check out the main site – and the synergy with the overall .NET Framework makes it a true contender. Microsoft is just so much more sophisticated than Sun, from the engineering effort they are applying, the pace, the use of blogging/community, the marketing….sorry to be blunt but it’s no contest.
Flash/AIR is the only real competitor (aside from the status-quo of AJAX itself), but with .NET being now so advanced, I do think Microsoft has a chance of taking Adobe down.
Just my biased opinion, and yeah I’m being flippant. That’s just how Java makes me feel these days.