Linked by Thom Holwerda on Thu 4th Dec 2008 22:34 UTC, submitted by Stenley
Java 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."
Order by: Score:
From the download page...
by aaronb on Thu 4th Dec 2008 23:20 UTC
aaronb
Member since:
2005-07-06

JavaFX 1.0 is not currently supported on your operating system. We encourage you to try JavaFX on Windows XP, Windows Vista or Mac OS X. (See system requirements for details.)


Will it soon be available cross platform?

Edited 2008-12-04 23:20 UTC

Reply Score: 3

RE: From the download page...
by Moochman on Thu 4th Dec 2008 23:30 UTC in reply to "From the download page..."
Moochman Member since:
2005-07-06
RE[2]: From the download page...
by aaronb on Fri 5th Dec 2008 19:16 UTC in reply to "RE: From the download page..."
aaronb Member since:
2005-07-06

I look forwards to installing it!

Thanks for the link.

Reply Score: 2

RE[3]: From the download page...
by JeffS on Fri 5th Dec 2008 19:19 UTC in reply to "RE[2]: From the download page..."
JeffS Member since:
2005-07-12

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.

Reply Score: 3

Nice
by Moochman on Thu 4th Dec 2008 23:28 UTC
Moochman
Member since:
2005-07-06

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

Reply Score: 7

Flex
by memson on Thu 4th Dec 2008 23:57 UTC
memson
Member since:
2006-01-01

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?

Reply Score: 3

RE: Flex
by Moochman on Fri 5th Dec 2008 00:11 UTC in reply to "Flex"
Moochman Member since:
2005-07-06

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

Reply Score: 7

RE[2]: Flex
by suryad on Fri 5th Dec 2008 04:08 UTC in reply to "RE: Flex"
suryad Member since:
2005-07-09

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.

Reply Score: 2

RE[3]: Flex
by wanker90210 on Fri 5th Dec 2008 12:45 UTC in reply to "RE[2]: Flex"
wanker90210 Member since:
2007-10-26

Is this speed increase due to jqs.exe?

Reply Score: 1

RE: Flex
by google_ninja on Fri 5th Dec 2008 00:43 UTC in reply to "Flex"
google_ninja Member since:
2006-02-05

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.

Reply Score: 4

RE[2]: Flex
by modmans2ndcoming on Fri 5th Dec 2008 02:17 UTC in reply to "RE: Flex"
modmans2ndcoming Member since:
2005-11-09

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.

Reply Score: 2

RE[3]: Flex
by modmans2ndcoming on Fri 5th Dec 2008 13:58 UTC in reply to "RE[2]: Flex"
modmans2ndcoming Member since:
2005-11-09

wow... talk about not looking before I hit submit!

that should have been "LOVE from ME..."

Reply Score: 2

RE[2]: Flex
by joshv on Fri 5th Dec 2008 02:25 UTC in reply to "RE: Flex"
joshv Member since:
2006-03-18

You've obviously never used Flex - a first class RIA development platform which compiles to a flash target.

Reply Score: 2

open vs. closed
by buff on Fri 5th Dec 2008 00:45 UTC
buff
Member since:
2005-11-12

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

Reply Score: 2

RE: open vs. closed
by lemur2 on Fri 5th Dec 2008 04:37 UTC in reply to "open vs. closed"
lemur2 Member since:
2007-02-17

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.


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

Reply Score: 3

Have they fixed java sound?
by IkeKrull on Fri 5th Dec 2008 01:32 UTC
IkeKrull
Member since:
2006-01-24

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)

Reply Score: 1

modmans2ndcoming Member since:
2005-11-09

won't fly for whom?

Linux users? Darn? Seriously though, if it is broken, then tell someone to fix it. it is Open Source

Reply Score: 2

aesiamun Member since:
2005-06-29

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

Reply Score: 2

modmans2ndcoming Member since:
2005-11-09

someone should tell those projects that have those bug trackers then.

Reply Score: 2

RE: Have they fixed java sound?
by lemur2 on Fri 5th Dec 2008 04:49 UTC in reply to "Have they fixed java sound?"
lemur2 Member since:
2007-02-17

Last time i checked, Java sound was horribly broken on Linux - requiring exclusive access to the sound card.


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

Reply Score: 3

google_ninja Member since:
2006-02-05

PulseAudio integration for javax.sound


so... your saying its still horribly broken?

sorry, couldn't help myself ;-)

Reply Score: 4

lemur2 Member since:
2007-02-17

"PulseAudio integration for javax.sound
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.

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)


Why not? It is the answer they used.

The main PulseAudio features include:

Per-application volume controls[1]
An extensible plugin architecture with support for loadable modules
Compatibility with many popular audio applications[which?]
Support for multiple audio sources and sinks
Low-latency operation[citation needed] and support for latency measurement
A zero-copy memory architecture for processor resource efficiency
Ability to discover other computers using PulseAudio on the local network and play sound through their speakers directly
Ability to change which output device an application plays sound through while the application is playing sound (without the application needing to support this, and indeed without even being aware that this happened)
A command-line interface with scripting capabilities
A sound daemon with command line reconfiguration capabilities
Built-in sample conversion and resampling capabilities
The ability to combine multiple sound cards into one
The ability to synchronize multiple playback streams
Bluetooth audio devices with dynamic detection


BTW ... java on Linux does not necessarily mean "Sun".

Edited 2008-12-05 05:20 UTC

Reply Score: 1

IkeKrull Member since:
2006-01-24

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.

Reply Score: 1

Examples
by Arno on Fri 5th Dec 2008 02:10 UTC
Arno
Member since:
2006-01-10

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!

Reply Score: 1

RE: Examples
by pandronic on Fri 5th Dec 2008 05:08 UTC in reply to "Examples"
pandronic Member since:
2006-05-18

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.

Reply Score: 2

RE[2]: Examples
by modmans2ndcoming on Fri 5th Dec 2008 14:02 UTC in reply to "RE: Examples"
modmans2ndcoming Member since:
2005-11-09

more features for what exactly?

the Java and .net platforms have more features in one namespace than all of flex's platform.

Reply Score: 2

RE[3]: Examples
by JeffS on Fri 5th Dec 2008 17:30 UTC in reply to "RE[2]: Examples"
JeffS Member since:
2005-07-12

"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.

Reply Score: 3

RE[2]: Examples
by suryad on Sat 6th Dec 2008 02:06 UTC in reply to "RE: Examples"
suryad Member since:
2005-07-09

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.

Reply Score: 2

RE[3]: Examples
by werpu on Sat 6th Dec 2008 17:47 UTC in reply to "RE[2]: Examples"
werpu Member since:
2006-01-18

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 :-(

Reply Score: 1

RE[2]: Examples
by werpu on Sat 6th Dec 2008 17:45 UTC in reply to "RE: Examples"
werpu Member since:
2006-01-18

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.

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.

Reply Score: 1

RE: Examples
by ahmetaa on Fri 5th Dec 2008 07:00 UTC in reply to "Examples"
ahmetaa Member since:
2005-07-06

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?

Reply Score: 3

How does Sun pay for this
by andrewg on Fri 5th Dec 2008 08:46 UTC
andrewg
Member since:
2005-07-06

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.

Reply Score: 2

RE: How does Sun pay for this
by kajaman on Fri 5th Dec 2008 09:34 UTC in reply to "How does Sun pay for this"
kajaman Member since:
2006-01-06

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.

Reply Score: 0

RE[2]: How does Sun pay for this
by ahmetaa on Fri 5th Dec 2008 13:32 UTC in reply to "RE: How does Sun pay for this"
ahmetaa Member since:
2005-07-06

i think java (oprn JDK) and solaris (open solaris) are fully open. what is your argument?

Edited 2008-12-05 13:33 UTC

Reply Score: 2

RE[2]: How does Sun pay for this
by evangs on Fri 5th Dec 2008 13:35 UTC in reply to "RE: How does Sun pay for this"
evangs Member since:
2005-07-07

OpenOffice, OpenJDK, Netbeans, VirtualBox do not gain much attention? What rock are you living under?

Edited 2008-12-05 13:36 UTC

Reply Score: 3

RE: How does Sun pay for this
by JeffS on Fri 5th Dec 2008 17:25 UTC in reply to "How does Sun pay for this"
JeffS Member since:
2005-07-12

"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.

Reply Score: 2

users
by JrezIN on Fri 5th Dec 2008 11:19 UTC
JrezIN
Member since:
2005-06-29

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)...

Reply Score: 2

RE: users
by ahmetaa on Fri 5th Dec 2008 13:31 UTC in reply to "users"
ahmetaa Member since:
2005-07-06

i notice that freezing happens only in Google Chrome. seems like a chrome issue.

Reply Score: 2

RE[2]: users
by JrezIN on Sat 6th Dec 2008 01:08 UTC in reply to "RE: users"
JrezIN Member since:
2005-06-29

Well, it always happened to me in Firefox/Mozilla, IE and Opera... haven't tested java with Chrome yet actually...

Reply Score: 2

Good language link
by ahmetaa on Fri 5th Dec 2008 13:34 UTC
ahmetaa
Member since:
2005-07-06

Here is a very good JavaFX language tutorial.

http://www.ociweb.com/jnb/jnbDec2008.html

Reply Score: 3

So let me get this straight...
by joshv on Fri 5th Dec 2008 14:45 UTC
joshv
Member since:
2006-03-18

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.

Reply Score: 2

RE: So let me get this straight...
by JeffS on Fri 5th Dec 2008 17:18 UTC in reply to "So let me get this straight..."
JeffS Member since:
2005-07-12

"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

Reply Score: 3

joshv Member since:
2006-03-18

"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.

Reply Score: 1

JeffS Member since:
2005-07-12

"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. ;)

Reply Score: 3

joshv Member since:
2006-03-18

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.

Reply Score: 1

StaubSaugerNZ Member since:
2007-07-13


What exactly do you think HTML is? It's XML.


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.

Reply Score: 3

joshv Member since:
2006-03-18

"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.

Reply Score: 1

StaubSaugerNZ Member since:
2007-07-13

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

Reply Score: 2

joshv Member since:
2006-03-18

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.

Reply Score: 2

StaubSaugerNZ Member since:
2007-07-13

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).

Reply Score: 2

JeffS Member since:
2005-07-12

"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.

Reply Score: 2

Moochman Member since:
2005-07-06

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....

Reply Score: 2

DeadFishMan Member since:
2006-01-09

Amen!

Reply Score: 2

Owned by Google
by sorpigal on Fri 5th Dec 2008 17:44 UTC
sorpigal
Member since:
2005-11-02

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?

Reply Score: 2

RE: Owned by Google
by sbergman27 on Fri 5th Dec 2008 17:49 UTC in reply to "Owned by Google"
sbergman27 Member since:
2005-07-24

"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.

Reply Score: 3

RE[2]: Owned by Google
by Delgarde on Sun 7th Dec 2008 20:34 UTC in reply to "RE: Owned by Google"
Delgarde Member since:
2008-08-19

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.

Reply Score: 1

RE[3]: Owned by Google
by sbergman27 on Sun 7th Dec 2008 20:51 UTC in reply to "RE[2]: Owned by Google"
sbergman27 Member since:
2005-07-24

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

Reply Score: 2

RE[4]: Owned by Google
by sorpigal on Mon 8th Dec 2008 00:53 UTC in reply to "RE[3]: Owned by Google"
sorpigal Member since:
2005-11-02

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!

Reply Score: 2

RE[5]: Owned by Google
by sbergman27 on Mon 8th Dec 2008 01:23 UTC in reply to "RE[4]: Owned by Google"
sbergman27 Member since:
2005-07-24

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.

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.

Reply Score: 2

RE[6]: Owned by Google
by sorpigal on Mon 8th Dec 2008 12:38 UTC in reply to "RE[5]: Owned by Google"
sorpigal Member since:
2005-11-02

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.

Reply Score: 2

RE[7]: Owned by Google
by sbergman27 on Mon 8th Dec 2008 12:43 UTC in reply to "RE[6]: Owned by Google"
sbergman27 Member since:
2005-07-24

If you don't, cease your libelous comments.

This poster doth protest too much, methinks.

Reply Score: 2

Interesting
by Kebabbert on Fri 5th Dec 2008 20:36 UTC
Kebabbert
Member since:
2007-07-27

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.

Reply Score: 3

Multiple Inheritance vs Interfaces
by Panajev on Sat 6th Dec 2008 13:45 UTC
Panajev
Member since:
2008-01-09

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

Reply Score: 1

CPU, is it just me?
by thavith_osn on Mon 8th Dec 2008 00:53 UTC
thavith_osn
Member since:
2005-07-11

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?

Reply Score: 2