Is JavaFX Ready For The Enterprise? or Why Should You Care (11 questions and answers)
- Easy start
- Starting with Java FX is surprisingly easy. You can build your first application in minutes. There are many "hello world" tutorials out there. That is important for the first impression and so adoption. The tutorials, however, are more focussed on visual effects and less on clean application structure, patterns and code organization.
- Good IDE support
- The plain IDE support (e.g. editing experience) is still not as good as Java. You get basic refactorings like e.g. renaming methods, classes and packages, moving artifacts etc. More sophisticated refactorings like e.g. extract method, extract attribute, quick fix etc. are still not available. The tool support right now is, however, orders of magnitude better than it was at the beginning of Java (around JDK 1.2-1.3).
- Unit test integration
- Junit 3 can be used easily to test your components. You only have to integrated the library and run the test. It is, however, not as seemless integrated to your IDE, as it is the case in Java (e.g. no green bar).
- Continuous integration support
- You can already build Java FX with ANT (standard in NetBeans 6.8) and Maven therefore you can also easily use e.g. hudson to run continuous builds. There is still work to be done.
- Books, tutorials, docs and online resources available
- There are a lot of resources out there. Most of them go far beyond "hello world" and simple applications. The amount and quality is still not comparable with e.g. Swing - but is amazing for such young technology. So far I was able to find answers to the majority of my open questions.
- Support for form based applications. They are still typical in the enterprise
- Building Java FX forms is easy. Even without any WYSIWYG support, manually with simple VBox / HBox containers. NetBeans 6.8 comes with a visual designer (composer), which allows the composition of visual components in WYSIWYG way.
- Easy to use visual components
- The current version (1.2) is lacking more complex controls, what will be fixed in the 1.3 version. Table controls will be available after the 1.3 release. Tables are crucial, but you can still easily integrate Swing JTables without any effort. The only caveat - you will have to code the TableModels probably in Java.
- Easy integration with "legacy" Java world
- The Java FX -> Java integration is seamless and works well. The Java -> Java FX integration is possible but not well defined yet.
- Support for remoting - remote protocols
- Java FX comes with good HTTP, REST / XML support. You can invoke instantiate and invoke Java classes directly from Java FX, so you can use whatever you want from Java FX - from CORBA to Hessian
- RCP / Java integration
- NetBeans engineers are working on an interesting idea - you will be able to implement whole RCP applications with plain Java FX.
- Productivity
- Java FX comes with closures and functional aspects - you can save a lot of code, comparing it to Swing / JFace development. You don't have to implement interfaces as listeners and just register your functions (methods). Binding, triggers and the functional capabilities allow you to build enterprise UIs with a fraction of the in Java necessary code. Model View Presenter patterns are easy to implement. You don't need any framework for data binding. It comes with the language. You can reuse any Java business logic and integrate it with Java FX.
1. Support flash ?
2. Compatible with awt/swt components ?
3. other reasons ...
:(
Posted by Rafael Rocha Cavalcanti on March 29, 2010 at 09:20 AM CEST #
1. Why that? Java FX has its own codec from on2 (the same as flash).
2. Yes it is compatible with Swing
3.?
So it is interesting :-),
adam
Posted by 192.168.0.24 on March 29, 2010 at 01:14 PM CEST #
I just started exploring JavaFX and I like it because I can integrate java stuff I did and have a great looking interface. But most importantly the learning curve is steep. It is fun building things with it. And other than with Flash and Flex, I can go on using my IDE and tools I became to like over time.
Posted by caspar2d on March 31, 2010 at 12:19 PM CEST #
I say it again and again: JavaFX have the wrong license:
http://lobobrowser.wordpress.com/2008/12/22/javafx-10-license-unreasonable/
http://lobobrowser.wordpress.com/2009/10/21/lobo-integration-in-deepamehta/
http://weblogs.java.net/blog/robogeek/archive/2010/02/03/ipad-flash-kerfluffle-applets-and-javafx
If you want something like JavaFX, then take Nokias QML, which will be in the future LGPLv2 and GPLv3 together with the the other stuff of Qt.
Posted by theuserbl on April 04, 2010 at 03:24 AM CEST #
If you want to know, what is QML:
http://labs.trolltech.com/blogs/2010/01/27/upcoming-qtcreator-support-for-qml-or-what-is-bauhaus/
Posted by 80.133.79.178 on April 04, 2010 at 03:30 AM CEST #
JavaFX being a RIA product needs a good GUI tool. Flash has Adobe Flash app, Flex has Flex builder, silverlight has expression blend. JavaFX has support on Netbeans. Designers wont be comfortable with a tool inside a IDE. A independent development environment for JavaFX would be much more acceptable.
Silverlight applications can be developed in VS too, but microsoft created expression blend for attracting designers.
If JavaFX wants to compete strongly in RIA, it should go head on and provide a IDE comparable or even better than the likes of expression blend or adobe flash application.
Posted by nash on April 10, 2010 at 07:18 PM CEST #