Just a bit background as to why I am asking this..
Myself, coming from a .Net background... hated Java for one reason only. Designing front ends is a pain. From the most popular tools that I have used like eclipse it is a pain.
Some other tools are a bit better but even still after the front end is created I still found there is a slight second or 2 for the UI to load when the Java ‘EXE LIKE’ app is launched.
I am the programmer that love to write myself some programs… What programs… Programs that will process data from a file? No! But sure programs like Winamp or MediaPlayer like apps. That being said windows apps… no batch or web based apps (web is cool but not fast responsive for the type of apps that I like to develop)
I want fast, flashy (I have seen plenty of bad bad programming apps that went live but due to the nice look and feel, users did accept the initial problems in the app) and effective Desktop based programming.
When coming to a more flashy type of UI like WPF (again forgive me as I am not trying to weigh Java vs .Net against one another but it’s all I know)… Suppose JavaFX can be compared to WPF. Is this statement correct?
I haven’t played that much with Java FX. And I understand that there was a mayor move from JavaFX 1.0 to JavaFX 2.0. Can JavaFX really be used to create a world class desktop based application that is super fast as WPF? What is in the pipe line for JavaFX? Is this really something to start to learn?
If yes… does anyone know of an example… even if it is a trail app that was written in JavaFX that I can download and install to get a basic idea of a real life scenario.
Thanks so much for your input,
I am not familiar with WPF, so cant compare with JavaFX, even my JavaFX expertise is a mere beginner. There has been a lot of traction in JavaFX these days, moreover the project being released to the community its attracting lot of interest in the developer community. You can find plenty of information at the JavaFX site. Also there is a roadmap which shows the plan for JavaFX ahead. Moreover beta support for linux has been recently released for JavaFX.
To better understand the JavaFX architecture, read http://docs.oracle.com/javafx/2.0/architecture/jfxpub-architecture.htm. Here, you will see that JavaFX has been implemented from the ground up as a set of Java code APIs built on top of native libraries which can take advantage of GUI windowing code from the underlying OS as well as the graphics acceleration capabilities of modern GPUs. If you do not use any of the Swing or AWT code in your application and you keep your application initialization functions light, then startup time for a JavaFX application should be significantly improved over what traditional java client Swing and AWT applications provided.
As to where JavaFX is headed, there is a roadmap for that http://www.oracle.com/technetwork/java/javafx/overview/roadmap-1446331.html. The platform itself is still lacking in numerous areas (e.g. multi-touch support, higher level 3D graphics primitives, print capabilities, portability to multiple platforms, etc), but many of these deficiencies will be addressed in upcoming builds.
A graphical design tool for JavaFX (named the SceneBuilder) is due for public beta release sometime in the next few months. Hopefully, such a tool would ease the pain you have experienced in the past with designing from ends in Java. The scenegraph paradigm, css styling and accessible accelerated graphic and media effects available to JavaFX applications make it easier to create flashy applications in JavaFX than it is in Swing and AWT.
I do not have the experience with WPF to compare the two technologies.