We developed several web applications for different customers, from simple kind-of-boring-looking CRUD-style GUIs for those poor admin guys to fancy-schmancy AJAX-enhanced GUIs for those Internet people. All of these were based on JSF 1.2 in combination with JBoss Seam 2, using Facelets and RichFaces as presentation layer.
We do know about the limitations of JSF 1.2 and (I'm feeling sad about that) we have not yet managed the transition to Java EE 6, but with defining this setup as our technology stack, we gained some experience with that technology, feeling comfortable to reliably develop web applications for our customers.
So, why the heck do I tell you that? Because we experience more and more that customers who heard of "Web 2.0" want to have rich client functionality while only accepting a browser as their door to all applications. Allthough we know that one can do that with the technology we use, we feel, that it might be a good idea to use something different on the client side to support those needs. And since we are mostly Java programmers and we keep shooing away this one guy bugging us with his Adobe Flex, we think, that JavaFX in its new version might be a good thing to go with.
I made my hands aching digging into the deep of the JavaFX resources I could manage to find - but one thing which came to my mind quite often was that JavaFX presents itself as a technology that is able to do some nice graphical effects, but while bouncing colored shaded bubbles might look cool, they are basically useless in business applications.
Well, to make a long story short - we like to use Java EE 6 in the backend while having rich and nice looking functionality on the client. Is JavaFX a good alternative here to the classic web pages or even to the upcoming modern HTML 5 webpages when developing business web applications and where can one find examples for that?
Thanks for your time reading this and for the answers which hopefully arise.
Most examples of "the enterprise side" of JavaFX you'll find will be a JavaFX client talking to the back end through a RESTful webservice.
But, Java Web Start is a cool technology. With it you will have an application client launched through your web site, automatically updated to the latest version and with all new dependencies automatically downloaded from the server. You can even do dependency injection and inject a client local proxy to server side resources; Enterprise JavaBeans, JMS administered objects et cetera.
This is a really useful technology, one that will let your client talk with the server in a numerous amount of ways and not only use HTTP wired web services. However, JavaFX brake that pattern. There isn't a straight forward way to embed a JavaFX application client in an EAR package and have it use dependency injection. But I found a solution which is quite intuitive and simple to reproduce. So to give you yet another example of a JavaFX application working as a remote GUI to the back end, please have a look at my tutorial:
http://blog.martinandersson.com/the-enterprise-side-of-javafx-the-missing-part/
You may want to take a look at DataApp sample from JavaFX Samples bundle at http://www.oracle.com/technetwork/java/javafx/downloads/index.html
It's an example of the enterprise application with JavaFX UI in Browser. It will give you a good example of that can be made on JavaFX for enterprise clients.
You may need to invest some time into installing MySQL, EE and stuff for this sample (quite easy, just follow provided README), but you will see how full stack is handled from DB to client UI.
Small screenshot of the first screen:
I'd go for HTML 5, unless I had some needs a web app couldn't satisfy.
I'm certain you can build great apps with JavaFX, but there is very little tooling, except for the standard Java stuff. And since it's not very widely used, you'll have trouble finding support, and hiring people who are good at it. There's also always the risk of it going the same way as its .Net counterpart Silverlight - to the trash can (Oracle aren't sentimental). As for Flex, Adobe just donated Flex to Apache with the explanation that HTML 5 is the "best technology for enterprise application development".
Compare this with HTML 5. It's not only more widely used (which means you'll be able to find support and have an easier time recruiting), but it also gains more support, better tooling and new features continually. I think it's rather obvious which is more future proof.