23 Apr 2010

JavaFX 1.3 Released, Improves User Experiences

JavaFX 1.3 Released, Improves User Experiences: "

We're very excited to announce the immediate availability of the JavaFX 1.3
platform. This release represents an important upgrade to the product and
delivers a range of performance and functional improvements, including:



  • New and enhanced support for UI
    controls, CSS skinning, and programmatic layout

  • Performance improvements in the
    JavaFX Runtime

  • New NetBeans IDE 6.9 Beta with improved editing and an updated JavaFX Composer plug-in

  • New features
    and enhanced
    performance in JavaFX Production Suite

  • A native JavaFX font family
    called Amble

  • Support for the development of
    TV applications, including a new TV emulator

  • Availability of the mobile
    emulator on the Mac platform


Check out What's new
in JavaFX 1.3
for more details and additional enhancements




It
might be hard to believe that JavaFX has only been in the market for less than one and a half years, it certainly is for us! In that time, we've built out the
foundation for mobile with a deployment ready runtime, delivered a library of
UI controls to make it substantially easier to build out consistent user
interfaces, and were able to entice developers to download over 400,000 copies
of our tools by our 1.2 release. We've released a beta of the JavaFX Composer to provide
visual-editing for form-based UIs with an exceptionally positive response and
seen the community rally around the platform with projects like JFXtras, numerous blogs, and over
a dozen
books
. We've also been very excited to see companies like the
Vancouver Organizing Committee for the 2010
Olympic and Paralympic Winter Games
adopting the technology for commercial
products and services, and we've got another well-known customer that we're
excited to start talking to you about shortly!


But
lets get back to the JavaFX 1.3 release. As we began working with some of
these high-profile customers, we found they were really pushing the limits of
JavaFX. Since our 1.2 release we've spent a lot of time carefully
evaluating our performance goals to meet the needs of these customers and have
heavily optimized in the following areas:




  • Bind performance: 2-3x faster

  • Applet start-up time: 20%
    faster (with Java SE 6u18+)

  • Text Rendering: 5-10x faster
    (frames per second/FPS)

  • Highly complex animations: up
    to 10x faster (FPS)

  • Memory usage: 20-33% reduction
    (real-world apps, w/ Java SE 6u18+)

  • UI Controls: 50% faster, 33%-50% less memory (typical)


Lets
take a quick look at a few of these. Binding has
often been described as one of the more powerful features in JavaFX, but many
developers found they had to use it sparingly due to performance
considerations. In JavaFX 1.3 we've implemented substantial improvements
in the way JavaFX handles binding and have seen tremendous payoffs, in
particular with applications that make heavy usage of this feature.




Start-up
time
is another area where we've made substantial improvements. First,
it’s important to understand that we measure start-up time in two ways.
We measure both cold-start (the first time a user loads an applet, includes
download and initialization) and warm-start (subsequent launches of the applet). Cold-start is critical, because it’s the user’s first
impression and it’s also where we've achieved the most improvements with
1.3. To improve start-up time, we implemented a number of optimizations
throughout the stack, including the JRE and the JavaFX runtime. Basic
applications running on systems with a recent version of the JRE (Java SE
6u18+) launch 20% faster and complex applications start nearly twice as
fast! Obviously your mileage will vary depending on the specifics of your
application.



Animation
performance
has been another area of focus in JavaFX 1.3. In one of our
more extreme benchmarks, we applied animations to 900 objects
simultaneously. In JavaFX 1.2 this would have resulted in a paltry 6
FPS. With JavaFX 1.3 we are now seeing an impressive 67 FPS - that's over
10x faster! Unless you are using a ton of objects in your application you
probably won't see this kind of performance gain but we've effectively removed
animations as a performance bottleneck so developers can use them much more freely in their applications. A similar benchmark with 500 animated objects managed to
deliver a 5x improvement.


A key area of focus in JavaFX 1.2 was to deliver UI controls to make it
easier for developers to build great looking user interfaces. This effort was very well received by the community and has actually become one of the most requested areas for continued improvement! To this end, UI Controls
have continued to be a major area of focus for us with JavaFX 1.3. With 1.3, we have
added and/or substantially upgraded 9 controls and have released previews for
an 8 additional controls for developers to begin experimenting with in their
applications. In addition, we have rewritten all of the existing UI
controls to take full advantage of the new CSS support in JavaFX, making them
simpler, more powerful and highly customizable. Our UI controls improvements
have also yielded substantial performance gains, in particular with
applications that make heavy usage of UI controls such as enterprise-class applications.
While applications that use complex UI controls (such as ListView & TreeView) will be 150%
faster, and consume up to 50% less memory
, we achieved substantially better performance with
more complex applications. For example, a 1.3 application with 200 controls uses 50-80% less memory, starts nearly
twice as quickly, and runs 50% faster (comparisons are with 1.2). For developers who might have used
UI controls sparingly in the past and/or avoided using JavaFX for applications
that required a substantial number of UI controls, JavaFX 1.3 really opens the
door to a range of new use-cases.



There's a lot more we could say about this release (and we will), but for now head
over to the download page, get a copy of the new SDK, and try it today!

"

0 comments:

Post a Comment