Sun has released the first version of JavaFX, aptly named JavaFX 1.0. “JavaFX 1.0 returns to the sales pitch that Sun used during Java’s launch more than 13 years ago: a foundation for software on a wide variety of computing “clients” such as desktop computers or mobile phones. JavaFX builds on current Java technology but adds two major pieces. First is a new software foundation designed to run so-called rich Internet applications–network-enabled programs with lush user interfaces. Second is a new programming language called JavaFX Script that’s intended to be easier to use than traditional Java.”
Will it soon be available cross platform?
Edited 2008-12-04 23:20 UTC
It’s coming:
http://blogs.sun.com/javafx/entry/a_word_on_linux_and
I look forwards to installing it!
Thanks for the link.
I’ve been looking at JavaFX at the JavaFX website, at the demos, code examples, etc. And I just finished downloading it with the sdk and Netbeans integration.
So far, JavaFX is looking pretty killer. I think it’s a game changer, and in some ways has leap-frogged ahead of Flex/Flash and Silverlight. At the very least, JavaFX is a huge shot in the arm for client side Java.
It’s going to be a boon for Sun’s Java business as well, and Sun’s Java business is already pretty healthy, profitable, and growing.
I’ve been following JavaFX for quite a while now. It’s been a long time coming, but I’m very happy it’s here, for many reasons:
-I’m a Java desktop developer (as unlikely as that may sound ), so I’m excited about all the power I’m getting. Sure, stuff like this was possible with plain Swing, but way harder.
-Java SE media support is finally getting some love (again). It’s waaay too late, but at least it’s arriving.
-Flash and Silverlight are finally getting some competition. This means I can design/develop Rich Internet Applications for free (no Adobe/MS tax), and on my platform of choice (Mac). Plus I get to use millions of open-source Java libraries. W00t!
-JavaFX should mean that apps on mobile devices have better cross-device compatibility, since they will all share a single runtime environment. (and there was much rejoicing.)
-Theoretically (so rumors have it) JavaFX has a good chance of coming to Blu-ray. This would make Blu-ray developers’ lives easier and potentially result in more rich content on Blu-ray discs.
All this said, it will be a while till everything is mature enough for real market-beating capacity. Mac support is lagging as always (no JRE update 10 for us means no drag-to-install feature), and Linux/Solaris support is still missing. Performance could also be a lot better, and I expect it will get a lot better with time.
But the important thing is that it has arrived!
Edited 2008-12-04 23:46 UTC
Seems to be an awful lot like Flex, except Flex runs on Flash player and this runs on, I’m guessing Java VM? I know people will shout, but Flash seems more likely to be installed these days, and if not is a miniscule download. How does this compare?
Starting with the current version of the Java Runtime Environment (Update 10), the parts of the JRE that are needed for a given applet to run are downloaded on-demand. According to Sun, this results in an initial JRE download size of 4-5MB for the average applet. (in comparison to 14+MB to download the full JRE, which was previously the case)… This compares pretty well to Flash’s 5.4MB download.
http://java.sun.com/developer/technicalArticles/javase/java6u10/#ke…
Also, browser integration in Update 10 is much better. If I understand the release notes correctly, the Java plug-in can now be installed directly in-browser without a visit to Sun’s site, just like it is for Flash.
http://java.sun.com/developer/technicalArticles/javase/java6u10/#pl…
As for comparison to Flex… Java has some pluses and minuses. On the definite plus side is power — there are way more libraries out there written for Java than for Flex, and the Java Standard Edition API is incredibly rich. Java also has the nice ability to display widgets in the native operating system’s look and feel if you like, which Flex can’t do. On the downside, Flex has *way* better (more mature) UI-building tools. And of course Flash has *way* better design and animation tools. It will take quite a while for Sun to catch up on those (actually they may never catch up to Flash on the ease of use for designers).
However, when the design tools for JavaFX are released, they will be free. (as opposed to FlexBuilder)
Edited 2008-12-05 00:30 UTC
Its quite amazing to see how fast the Java 6 Update 10 plugin for the browser works. I dont know much about Flex but with this new JDK release, I think it is definitely a step in the right direction in terms of producing desktop apps and web based apps.
Is this speed increase due to jqs.exe?
Flash has phenomenal tools for making movies, but is a terrible programming environment.
JavaFX/Silverlight allow for true RIAs on the web on platforms that were made for more serious programming, using tools and languages that are robust and made for the job.
Exactly.
I am not so much a fan of Java as I am of C#, but Java certainly gets more live from my as a platform than Flash/Flex does.
wow… talk about not looking before I hit submit!
that should have been “LOVE from ME…”
You’ve obviously never used Flex – a first class RIA development platform which compiles to a flash target.
How does this compare?
One area where they don’t compare is that Flash is closed, in that Adobe doesn’t release the source forcing vendors to distribute binaries. An example is the quality of the binary Flash plugin for Windows versus Linux. The Linux version is usually behind and not up to speed with the Windows version. Java, with OpenJDK, can be distributed with source and compiled for specific platforms. I see this as a significant benefit for Java as a plugin. As others have pointed out, the graphic design and animation aspects of Java are not as WYSIWYG as Flash is, yet.
Edited 2008-12-05 00:47 UTC
The specifications for Flash are open.
http://www.phoronix.com/scan.php?page=news_item&px=NjQ1Mg
“Adobe has this morning announced the Open Screen Project. The Open Screen Project is actually open and is designed to push consistent rich Internet experiences across a plethora of devices and varying screens.”
The latest release of 32-bit binaries for flash 10 from Adobe had same-day releases for Windows and Linux.
http://www.phoronix.com/scan.php?page=news_item&px=Njc4Mw
“Yesterday the Free Software Foundation released a beta update for Gnash, the Flash Player that’s written by the community and is comprised of all open-source code, but today Adobe has updated its official Flash Player. Adobe’s Flash Player 10 has been officially released for all supported platforms — Linux included.”
Linux is the ONLY platform that has a 64-bit version of Flash Player 10!!
http://www.phoronix.com/scan.php?page=news_item&px=Njg1OQ
“Since acquiring Macromedia, Adobe has improved its Flash Player for Linux quite a bit in recent times with the Linux version of Flash being updated in sync with the Windows and Mac OS X versions. For instance, development of Flash Player 10 led to several public alpha and beta releases that brought a number of new features to this platform. The most voiced complaint though about Adobe Flash for Linux is that it’s been limited to 32-bit Linux and Adobe has ignored all 64-bit Linux users, but today that has changed. Adobe has started bringing Flash to 64-bit Linux! “
Sorry, but you got that the wrong way around.
Edited 2008-12-05 04:37 UTC
Last time i checked, Java sound was horribly broken on Linux – requiring exclusive access to the sound card.
This just won’t fly for browser-based apps – imagine having a tab with a some flash content on it, and finding that this prevented JavaFX apps from playing sound.
I’m not sure if this is actually going to be the case with JavaFX, but if it is, its a loser from day 1.
This is not entirely Sun’s fault,rather the general inability to put a decent sound API into Linux (and no, more layers e.g. PulseAudio is not the answer)
won’t fly for whom?
Linux users? Darn? Seriously though, if it is broken, then tell someone to fix it. it is Open Source
Actually if it’s broken, you’re supposed to fix it instead of complaining. You don’t ask people to fix problems with open source, you’re expected to fix it yourself.
That’s what I always read at least
someone should tell those projects that have those bug trackers then.
http://fedoraproject.org/wiki/Docs/Beats/Java#PulseAudio_integratio…
PulseAudio integration for javax.sound
PulseAudio integrations provides all the benefits of PulseAudio to any java application using the javax.sound package.
Edited 2008-12-05 04:50 UTC
so… your saying its still horribly broken?
sorry, couldn’t help myself 😉
Maybe so 😉 … but at least now it doesn’t tie up the sound card.
http://www.pulseaudio.org/
“PulseAudio is a sound server for POSIX and Win32 systems. A sound server … allows you to … mixing several sounds into one … easily achieved using a sound server. “
http://en.wikipedia.org/wiki/PulseAudio#Features
Support for multiple audio sources and sinks
It is being distributed now on most major Linux distributions … recent releases of Mandriva, Ubuntu, Fedora (and as far as I know OpenSuse) all use it now as the default sound server.
Why not? It is the answer they used.
BTW … java on Linux does not necessarily mean “Sun”.
Edited 2008-12-05 05:20 UTC
Admittedly, the last time i checked was a few weeks ago – i guess now that fedora 10 is out theres one distro that might run java audio apps, as long as you don’t install the Sun JDK or happen to be running an app like audacity.
I suppose thats progress.
Their are examples on the JavaFX web page (http://www.javafx.com/samples/). I tried some but most of them are really really slow on my macbook.
And I thought the flash-plugin for mac sucked!
They load really slow … and work really slow … and I have artifacts around the browser window’s buttons (Mac OSX).
This takes me back to the days when someone was actually using Java applets. There is no point to this. Flash and Flex are already mature, have more features and are not this horribly broken.
I hope the JavaFX guys get their act straight, but I really don’t think this is going anywhere.
more features for what exactly?
the Java and .net platforms have more features in one namespace than all of flex’s platform.
“the Java and .net platforms have more features in one namespace than all of flex’s platform.”
Agreed. Flash is great for video, animation, and games. But for real world, fully functional, desktop applications, even with the niceness that is Flex, it falls way short of both Java and .Net. Really, the Java and .Net runtimes/platforms offer huge APIs that cover pretty much everything any application can ever need.
And Java is fully cross platform, and .Net is not (Moonlight will always be a step behind Silverlight).
So JavaFX is really compelling – bringing a full Java Runtime environment with it’s rich APIs, being fully cross platform, being fully open, being fully capable of running across all different types of phones, set-top boxes, desktops, laptops, browsers, blu-ray (all to be supported eventually), and now having very rich video/media/animation support that is comparable to Flash or Silverlight.
It did take around 10 seconds on my machine to start up. And this is the effects playground demo. And for some reason it loaded up IN the browser and also separate from the browser complete in its own window. That was rather odd I thought.
The mp3 player also took 10 seconds to load. I think it was mostly the fact that it was downloading the binaries and I happen to be torrenting right now.
The screenshot maker took 1 second to load up on my machine lol after the binaries got downloaded.
The photoflip to like 10 seconds to load up.
I guess what I am trying to say is that the load times for me are not superfast but they are acceptable, especially since I think that it still has to download the application code over the web. I definitely would like to see if flash apps with the same functionality loads up quicker than that which I think they do.
I dont think so, flash apps take often quite a while til they start. But I have not given the current version of javafx a testrun, but last time i tried it was seriously slower than flash 🙁
Well I would not call the OSX VM the best on earth.
I use a Mac myself for java development and I can see that it is slow on OSX, but believe me running the stuff while not being the fastest on earth is fast enough on Windows.
The OSX VM is seriously lacking. First of all, OSX still is on JDK5 as public VM, and that one has bugs, secondly the JDK6 VM is 64 bit only which means problems in supporting 32 bit based browsers and no SWT for now since Apple decided not to move over Carbon towards 64 bits!
The Windows JDK6 update 10 VM however is a huge step in the right direction. First of all they have decoupled the VM from the browser so that it runs in its own process space. That speeds up things in the browser significantly and applets finally are as fast as desktop apps. Secondly, the core VM is reduced down to a few megabytes and additional parts are loaded on demand. Thirdly with the new VM you can drag and drop applets now to the desktop and restart them again from there, which makes software distribution way easier.
All I can say is Apple has a load of work to do.
must admit it works pretty good on windows. demos looked impressive. Some cosumes high CPU, but most of them are fine. i think problem with mac is their Java2D implementation. Sun does not have much control on it. have you tried the lates java on Mac?
Don’t get me wrong Sun is my favourite tech company but they
1. Spend millions developing, testing, etc the language
2. Spend more optimising the runtime
3. Spend more doing documentation and examples
4. Spend yet more on creating free tools
And how exactly do they get anything back for it? Seems like their plans for generating revenue always far removed from the source of the cost.
I was curious and compared their shares prices last night with IBM, HP, Apple, Google (not all are direct compettors, I know). And the picture is that they don’t make much money. They actually lost most of their shares value during last 2 years, and they lost much more than others on recent crisis. That sucks but maybe they finally learn how to do things right and sell some more servers rather than wasting money on half-opened OpenSolaris or half-working Java FX or half-open Java. They never finish anything they started opening – that’s why their “open source” products don’t gain much attention – and I believe bringing attention to Sun’s servers is reason for all the software products existence.
i think java (oprn JDK) and solaris (open solaris) are fully open. what is your argument?
Edited 2008-12-05 13:33 UTC
OpenOffice, OpenJDK, Netbeans, VirtualBox do not gain much attention? What rock are you living under?
Edited 2008-12-05 13:36 UTC
“And how exactly do they get anything back for it? Seems like their plans for generating revenue always far removed from the source of the cost.”
That’s been my usual perception.
But Jonathan Schwartz has posted their actual recent numbers, and breaking down revenue by category.
It shows that Java, including all the money pours into Java R&D, is actually profitable and growing.
Trouble is for Sun is that their biggest revenue is from hardware, mostly in big iron servers, particularly in the Financial services market (which is currently in the toilet). So they’ve lost a bunch of revenue from that, and thus the need for big layoffs.
But Java, for Sun, is healthy, profitable, and growing.
Well, from the user’s point of view… I don’t think I will use apps developed in JavaFX if they use the same Java VM plugin we have right now… the plugin takes some seconds loading that actually freeze the browser during that time. It’s a really bad user experience IMHO, you cannot rely on something like that for common media like flash is used right now.
Of course, I hope they just fix it… But I’m a bit septic as in several and several years, the java plugin didn’t get much better besides some native widgets and less crashes (again, from user’s point of view)…
i notice that freezing happens only in Google Chrome. seems like a chrome issue.
Well, it always happened to me in Firefox/Mozilla, IE and Opera… haven’t tested java with Chrome yet actually…
Here is a very good JavaFX language tutorial.
http://www.ociweb.com/jnb/jnbDec2008.html
They’ve created an entirely new language, and struck out in their own direction by creating an extremely idiosyncratic view layout description. Flex and Silverlight get it right. Define layouts in XML, code in your platform’s preferred language.
So instead of coming up with a nice platform of light weight “webified” widgets, with an XML based view description, and Java based code – Sun comes up with some horrible mishmash of code and layout description that uses a language that’s not quite java, and not quite javascript. Wonder-friggin-ful.
The Android platform is a much better example of how to properly go about creating a Java based platform that generates light weight Java apps. It probably wouldn’t take much to port it to the desktop.
“Flex and Silverlight get it right. Define layouts in XML, code in your platform’s preferred language.”
Are you serious? I absolutely detest XML, and it’s horribly overused. Thank God the Java Enterprise world is getting away from XML for configuration (being replaced by annotations and “configuration by convention”).
Really, XML is just noise, and it’s tedious, and ugly. XML’s only (good) reason for existence is Web Services.
Using it to describe a UI – that’s about as much fun as having teeth pulled.
Sun got it right by *not* following the pack, and not going the XML route with JavaFX, preferring a declaritive scripting syntax, which is much, much cleaner, easier, less error prone, less tedious, and much more closely models the actual design/layout of the actual UI.
But if you like XML, more power to you.
Edited 2008-12-05 17:19 UTC
“Using it to describe a UI – that’s about as much fun as having teeth pulled.”
What exactly do you think HTML is? It’s XML. So I guess the entire HTML universe has been wrong this last decade to use XML to describe layout.
So what exactly you do find wanting in this picture:
<VBox width=”100%” height=”120″ borderStyle=”solid” borderThickness=”1″ corderRadius=”5″ backgroundColor=”#AEAEAE” borderColor=”#3b3b3b” >
<TextInput width=”100″ id=”username” />
<TextInput width=”100″ id=”password” type=”password” />
<Button label=”Login” id=”submitButton” click=”{clickHandlerFunction}” width=”50″ />
</VBox>
I cannot imagine a more concise and readable way to describe the layout of an application. In Flex, if you really want to pull your hair out, you can manually instantiate each object, set their properties, insert the children into the parent in the right order, and hook the event listeners – in this example, probably about 30-50 lines of code would result. Or you could write a few lines of XML.
“What exactly do you think HTML is? It’s XML. So I guess the entire HTML universe has been wrong this last decade to use XML to describe layout.”
I’ve done lot’s of DHTML/Ajax/CSS stuff. For me, the weakest part of that equation is the HTML. HTML was never meant to describe UI. CSS is much better for that – cleaner, easier, more efficient. HTML is markup, and is good as an anchor for content, but not great for describing UI.
“So what exactly you do find wanting in this picture:”
I just don’t like it. To me, it’s noisy, and I find thing like CSS, or declaritive scripting, or even plain old API calls (like Win32, QT, GTK, Swing, Swt, etc) in language of choice, all much better, and less cumbersome.
For me markup is for, well, markup – an anchor for content. For describing UI and presentation, there much better tools.
But if you like the XML based Flex type stuff, more power to you! Different strokes for different folks.
Well, flex also does style sheets, so you can remove many of the property settings to a global style sheet if you so want – I don’t tend to find that helps much, and it can actually makes it a little bit harder to read the code.
In flex I typically do a mix of declarative view definition and XML layout. XML is excellent for describe the high level layout of components – and this is not just personal opinion. Compare my simple login box (property indented) to the declarative equivalent – you understand the XML at a glance – the declarative equivalent – not so much. I don’t know how you could argue otherwise. I can throw a brand new programmer (new to the language) at a complex layout, and they just “get” it immediately – visually it’s very easy to follow the flow of a layout done in XML.
Sure, from a purist perspective, xml is only “supposed” to describe content – but at a higher level xml describes objects, their attributes, and their relationships – which is a perfect fit for describing a visual layout.
I used to think the way you do – and as a result I wasted a lot of time.
No, XHTML is XML, HTML is not. Both a variants of SGML.
I agree with the earlier poster about XML being bad, and much prefer to define my UIs with code for the following reasons:
1) You stick to a single language, no “half my app is in English and the other half in Swahili” mismatch
2) The compiler will help you catch errors during construction time
3) You can deploy your app as a single executable JAR, no need to have text files lying about the place. This simplifies deployment considerably (‘xcopy deployability’, on all platforms).
4) Your application can’t be broken by someone inadvertently deleting the UI definition from the file system
5) You don’t have to write the UI code anyway, since tools like Matisse will do it for you, so you don’t have to care how many lines of code it takes (although occasionally I still like to write my Swing GUIs by hand so I can get resizing behaviour just right). Going back to XML can mean defining the UI by hand rather than using tools.
6) Most XML files define their own tags, so to use this file you essentially have to learn a new programming language that the XML author has defined. This is usually a pain compared to the tool support that you get with an equivalent Javadoc-ed API.
7) A properly written Java API can be just as ‘declarative’ as an XML API (which is why people like XML).
8) You can do calculations in Java for your UI that you can’t do in XML.
I too am glad that the XML fad is starting to fade. It really annoys me with Java Persistence (JPA) you can do everything with annotations in code but you still need a small XML file to define the storage manager stuff. This is just bad design.
If you find that you require XML in your application (and it is not a webservice) then I would argue that you should reconsider re-designing it. XML is a pain for others to use. Consider the ease of use of BeanKeeper vs the XML mess required to get Hibernate going on a bigger project (even when using Spring). Even if you don’t like BeanKeeper you have to admit that the design philosophy of keeping it simple lead to a vastly better design of its API.
Good on the JavaFX team for getting the product out.
“No, XHTML is XML, HTML is not. Both a variants of SGML.”
Thanks Mr. Pendantic. The point is that functionally speaking html is XML – there are some semantic differences between HTML and strictly compliant xhtml, but the concepts involved are identical.
Defining my layout in Flex using XML is almost identical to writing a page in HTML – and I don’t think anyone would call HTML a failed model.
“1) You stick to a single language, no “half my app is in English and the other half in Swahili” mismatch”
In flex MXML is a strict XML subset. There is no “language” – I define tags, which have a one to one mapping to visual components in the Flex framework, and I set properties, which have a one to one mapping to properties of those objects.
“2) The compiler will help you catch errors during construction time”
The flex compiler fully validates the xml layout at design time.
“3) You can deploy your app as a single executable JAR, no need to have text files lying about the place. This simplifies deployment considerably (‘xcopy deployability’, on all platforms). ”
Flex compiles to a single .swf – this is really implementation dependent and has nothing whatsoever to do with how the layout is specified.
“4) Your application can’t be broken by someone inadvertently deleting the UI definition from the file system”
Flex uses the XML document as a source format and compiles it to ActionScript byte code – the same way it would compile a layout defined in the ActionScript language. Define it in code, or define it in XML, the end result is the same.
“5) You don’t have to write the UI code anyway, since tools like Matisse will do it for you, so you don’t have to care how many lines of code it takes (although occasionally I still like to write my Swing GUIs by hand so I can get resizing behaviour just right). Going back to XML can mean defining the UI by hand rather than using tools.”
Every code generating visual layout tool I’ve ever used sucked hard. Sometimes I use the Flex visual design tool, but mostly I code by hand, which is pretty easy when the layout is defined in XML.
“6) Most XML files define their own tags, so to use this file you essentially have to learn a new programming language that the XML author has defined. This is usually a pain compared to the tool support that you get with an equivalent Javadoc-ed API.”
As mentioned previously the tag names are the UI component names. For example the Flex class TextInput has a tag <TextInput />.
“8) You can do calculations in Java for your UI that you can’t do in XML.”
Flex allows me to embed code in a CDATA block. I can also embed code or function calls in the tag properties – for example <TextInput width=”{parent.width – 30}” />. Though not conceptual very clean, it’s damned convenient if you use it sparingly.
“If you find that you require XML in your application (and it is not a webservice) then I would argue that you should reconsider re-designing it. XML is a pain for others to use.”
Flex is designed around XML layouts. The Android platform is designed around XML layouts. I use XML layouts because these platforms have first class support for them, and in most cases it makes coding and supporting my applications MUCH easier. Sometimes I define layouts in code, but I usually have very specific reasons for doing it this way.
“Consider the ease of use of BeanKeeper vs the XML mess required to get Hibernate going on a bigger project (even when using Spring). Even if you don’t like BeanKeeper you have to admit that the design philosophy of keeping it simple lead to a vastly better design of its API.”
Hibernate XML config files are a mess? They make perfect sense to me.
They make sense to me as well, but this doesn’t mean they good from a design point of view. Compare Zune to iPod.
I think the problem is you are so familiar with the technology that you can’t see the design alternatives. It is possible to do persistence without requiring developer’s to learn Hibernate’s XML mapping dialect which is my entire point. Why get humans to do work that machines can do themselves ? (eg. BeanKeeper). In the example I chose, Hibernate makes you add entries for trivial mappings that a machine could figure out from your Java domain model. This is just poor design in my point of view.
So, what I was trying to say is that XML is so familiar to people they never seem to stop and think if there might be a better way to do things.
I keep coming back to Einstein’s
“As simple as possible but no simpler”
Is using XML really the simplest way to do things in many cases? Not always.
Edit: typo
Edited 2008-12-06 02:19 UTC
I wasn’t aware that I was originally talking about hibernate XML configuration files. I was talking about coding visual layouts in XML. XML may or may not be an appropriate means of specifying configuration for hibernate – I am not exactly sure what this has to do with specifying user interface in XML.
Ok, for the slow learners out there I was trying to respond to an earlier poster who indicated that XML was the best way to configure GUIs. I disagree with this, and with the general malaise of using XML all over the place.
Since some can’t think how else it could be done I used Hibernate as an example (contrasting with the simpler pure-Java interface of BeanKeeper). This analogy was intended to show that XML is not the only way things (including GUIs, get it?) can be done, and not even the best way. Do I need to labour the point any longer? I was just trying to point out the blinkered vision of those who believe XML is the “one true way” of doing things (it’s not, and is quite a poor design model, and it is one of the reasons why people find Ruby+Rails etc so much more efficient to work with).
“Ok, for the slow learners out there I was trying to respond to an earlier poster who indicated that XML was the best way to configure GUIs.”
That poster was me.
“I disagree with this, and with the general malaise of using XML all over the place. ”
I never advocated “using XML all over the place”.
“Since some can’t think how else it could be done I used Hibernate as an example (contrasting with the simpler pure-Java interface of BeanKeeper).”
I can think of a lot of ways to define a visual layout. If you are going to store it in a text file and edit it by hand, XML is simply the best way – I gave lots of reasons why – which you haven’t directly addressed.
Now, I agree, ideally we should have wonderful magical visual editing tools that store the layout in whatever format they want – but even if such existed, I sometimes just want to edit the source.
“This analogy was intended to show that XML is not the only way things (including GUIs, get it?) can be done, and not even the best way. Do I need to labour the point any longer?”
No, but you could attempt to address the actual reasons I gave for why an XML specified visual layout is a good thing. The reasons why Hibernate XML configuration is a bad thing may or may not apply to visual layouts – I have not heard you argue anything specific here.
“I was just trying to point out the blinkered vision of those who believe XML is the “one true way” of doing things (it’s not, and is quite a poor design model, and it is one of the reasons why people find Ruby+Rails etc so much more efficient to work with).”
I never said XML is the “one true way”.
“Hibernate XML config files are a mess? They make perfect sense to me.”
They make perfect sense to me too, but I like annotations much, much better.
And for GUI, I prefer a declarative scripting syntax, to describe the GUI, over XML.
In both cases (annotations, JavaFX), I find the alternatives to XML simpler, cleaner, and more intuitive.
And another poster made the point that if you describe the GUI in XML, or you config your Hibernate mappings in XML, then the compiler can’t catch any of your errors in the XML. If you put that stuff back in the regular code (where it belongs, IMHO), then the compiler can help you. To me, that’s huge.
In Flex, if you really want to pull your hair out, you can manually instantiate each object, set their properties, insert the children into the parent in the right order, and hook the event listeners – in this example, probably about 30-50 lines of code would result.
This is exactly the kind of thing that JavaFX saves you as compared to Swing….
Amen!
Anyone else notice that the argument against browsers was that they’re all owned by a big company who competes in the mobile market? While this is true for IE, Safari and Chrome it’s not true for Opera. But, Opera is closed source, so OK. What about Firefox? “Firefox is owned by Google,” says the article.
Did somebody forget to tell the Mozilla foundation?
Well, it’s not totally off base. All their revenue comes from Google.
Any by ‘all’, you mean ‘some’. They get a lot from Google, yes, but not even close to all their revenue.
I guess it depends on how close one considers 85% of their revenue to be “all:
“””
Tuesday, Baker released the company’s 2006 tax return and audited financial statement, which showed that Mozilla’s revenues had grown 26%, to $66.8 million from $52.9 million, over the previous year. The bulk of 2006’s revenues, the statement said — 85% to be precise — came from Google.
“””
http://tinyurl.com/333sem
Edit: That was for 2006. In 2007 it was up to 88% according to their 2007 financial FAQ. That’s getting pretty close to “all”, I’d say.
Edited 2008-12-07 21:03 UTC
The article assumes that the Mozilla people lie when they say that they don’t allow Google’s money to have undue influence on what they do. I believe them, the article says “Well you can’t believe them and must assume that they dance to any tune google chooses to play.” This is inaccurate and unfair. While I’m sure they take their relationship with Google in to account in some decisions, they certainly don’t let Google dictate the direction of their projects!
So no, Google does not own Firefox in any sense!
They do. It might not have been tested yet, because the relationship between Google Inc and Mozilla Corporation has been mutually beneficial.
But any company which gets 88% of its revenue from one source is going to be heavily influenced by that source. If the execs claim they are not, they are lying or fooling themselves. The community could stand to update its views on exactly what Mozilla Corp is. Which is not to say that it is evil. But it is not exactly the same thing as it was when the Mozilla Foundation started out.
You say they are influenced, they say they are not. Who do I believe? They are in a position to know exactly how much influence Google has, you are not.
I don’t claim there’s no consideration given to Google’s wishes, but I don’t see any undue influence. They direct people to Google’s sites by default; big deal! If Google comes back and demands they change something in the browser as a result of this I am sure they’ll tell Google to take a hike. I’m sure Microsoft, Yahoo, or any number of companies would be interested in having the same relationship Google now enjoys.
You’re saying, and the article was saying, that no matter what they /say/, they will do exactly as instructed by Google. I just don’t believe it, I see no evidence for it, I see no reason why they would feel they need to.
The article should not just assert this, nor should you assume it, unless you can *prove* it! I don’t take “It’s obvious,” as proof. Is there a shred of evidence that Mozilla the corporation has ever altered Firefox at Google’s direction any more than at the request of anyone else? I don’t know of any such evidence, if you do supply it. If you don’t, cease your libelous comments.
This poster doth protest too much, methinks.
Meaning what?
Java will allow seamless and easy integration with JavaFX. It will be very interesting to see how JavaFX turns out. Declarative languages have some really nice properties. It is good that JavaFX sticks out, being declarative. And Java is installed on more than one billion times. I think this can be really big, if it as good as it seems.
This kinda irks me… ok, better for those coming from C++ for example, but a strongly justified design decision from Sun like going for Interfaces instead of allowing programmers to extend more than one base class seems oddly reversed here and I am not clear about the benefits it allows or what exactly is the problem with Interfaces.
It is kind of an unneeded discontinuity from Java that JavaFX brings… maybe minor, but still weird…
Edited 2008-12-06 13:48 UTC
I totally get the idea of JavaFX and where this is going…
One thing, I grabbed a few “demo’s” like the famous “Clock” and found that CPU went through the roof…
I just downloaded Netbeans 6.5 and ran the displayShelf test app. When it was sitting idol it was using 0%. As soon as I started flicking between the images (just like coverflow) the CPU when up to over 90% at one point.
I’m running this on a iMac 2.16GHz with 2GB ram and Leopard 10.5.5…
Is anyone else getting this kind of performance?