Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

JavaWorld Daily Brew

Chris Oliver's Weblog

F3, JavaFX, Programming. RSS feed

JavaFX Script Keywords and Java Interoperability

In JavaFX script any sequence of characters enclosed in "french quotes" is treated as a lexical identifier, and thus may be used as a valid name of a variable, function, or class.

var <<this is a variable>> = "Hello World";
<<this is a variable>>.toUpperCase();

This mechanism may be used to access Java methods which conflict with JavaFX keywords, for example:

var textField = new javax.swing.JTextField();
textField.<<insert>>("Hello World");

This mechanism is also useful for code generators in translating symbols

Read more ...

 

From F3 to JavaFX 1.0 - Effects

An important and impressive innovation between F3 and JavaFX is the Effects framework created by Chris Campbell.

F3 had a simple system of software pixel filters, which could be applied to any Node or group of Nodes in a scene.

Read more ...

 

Performance matters - 25x for JavaFX script over Groovy and JRuby

JavaFX script

function tak(x:Number, y:Number, z:Number): Number {
if (y >= x) z else tak(tak(x-1, y, z),
tak(y-1, z, x),
tak(z-1, x, y));
}

for (i in [1..1000]) {
tak(24, 16, 8);
}

time javafx -server -cp . Tak

real 0m10.724s
user 0m10.105s
sys 0m0.173s

Groovy

def tak(double x, double y, double z) {
return y >= x ?

Read more ...

 

Performance matters - 25x for JavaFX script over Groovy and JRuby

JavaFX script

function tak(x:Number, y:Number, z:Number): Number {
if (y >= x) z else tak(tak(x-1, y, z),
tak(y-1, z, x),
tak(z-1, x, y));
}

for (i in [1..1000]) {
tak(24, 16, 8);
}

time javafx -server -cp . Tak

real 0m10.724s
user 0m10.105s
sys 0m0.173s

Groovy

def tak(double x, double y, double z) {
return y >= x ?

Read more ...

 

Data binding in Silverlight and Flex compared to JavaFX 1.0...

Silverlight

Flex

Don't be fooled by the naysayers and the hype.

Although JavaFX 1.0 is only a few days old, when it comes to data binding: functionality-wise, usability-wise, and performance-wise it appears to me it's already "no contest".

For those who've never actually tried JavaFX script, let me just say this: any JavaFX script variable may be bound to any expression

Read more ...

 

Data binding in Silverlight and Flex compared to JavaFX...

Silverlight

Flex

Don't be fooled by the naysayers and the hype.

Although JavaFX 1.0 is only a few days old, when it comes to data binding: functionality-wise, usability-wise, and performance-wise it appears to me it's already "no contest".

For those who've never actually tried JavaFX script, let me just say this: any JavaFX script variable may be bound to any expression

Read more ...

 

Performance matters, but for whom?

Alexander A. Stepanov (inventor of C++ STL):

Computers that were able to deal just with numbers evolved into computers with byte-addressable memory, flat address spaces, and pointers. This was a natural evolution reflecting the growing set of problems that people were solving. C, reflecting the genius of Dennis Ritchie, provided a minimal model of the computer that had evolved over 30 years. C was not a quick hack.

Read more ...

 

Media

For the observant who are in the "know" about making real media, there are a few glimpses (here, and here, and here), and also the fact that the individuals who through self-motivation decided to revamp the Java browser plugin are actually 3d graphics experts, that we're not completely oblivious.

There's a broad cultural divide between the real media world, and the world of current 2d graphics toolkits, such web

Read more ...

 

Experiments with JavaFX script

A nice introduction to JavaFX script by Weiqi Gao.

 

JavaFX script - functional and procedural programming, and animation

Functional programming and procedural programming often provide different views of the same thing. When I declare a function, such as

y = 2x

I may think of this as a procedure (sequential process): "Give me something, I'll double it, and then I'll give it back to you".

Read more ...

 

JavaFX 1.0 on Mac - Don't jump to conclusions

Although JavaFX 1.0 runs on the Mac, keep in mind that the browser plugin on this platform is not new, but rather is the same problematic plugin that has been around for years - it has repainting bugs, memory leaks, thread leaks, the security dialog handling is broken, it blocks the browser during application loading, etc.

These are the very problems that motivated the new browser plugin, mentioned in my previous post.

The new browser plugin is in the pipeline for delivery on Mac, and it's only a matter of time until you'll see it in an Apple software update.

Read more ...

 

JavaFX 1.0 - Now you can judge for yourself

In a few more days the official release of JavaFX 1.0 will be made.

It's been almost exactly 2 years since my first entry on this blog, which introduced the F3 language that has since come to be known as JavaFX script.

Although F3 was almost entirely a one-man project, JavaFX 1.0 is the product of many, many contributors.

Along the way there have been many supporters, and quite a few detractors and nay-sayers, both inside and outside of Sun.

I believe what you'll see in December does indeed reflect much of the vision I've expressed on this blog over the past 2 years.

Nevert

Read more ...

 

JavaFX script vs ActionScript Performance

In a
previous post
I compared Java performance to that of ActionScript,

Thanks to the efforts of our JavaFX script compiler team (Robert Field, Per Bothner, Brian Goetz) the performance of JavaFX script is now on par with Java in many cases.

Read more ...

 

Why JavaFX?

Our goal with JavaFX is to deliver a "media" stack for the Java platform. What does that mean? Well, in simple terms, 5 things:

Read more ...

  • Audio
  • Video
  • 2D Graphics
  • 3D Graphics
  • Animation

 

Java on the NVidia APX 2500

Ken Russell describes the experience. This device kicks the IPhone's butt all over the place.

NVidia has created a beautiful platform, supporting a full media stack - OpenGL ES-2.0, OpenMAX-IL, OpenVG. In addition, they've created their own 3D compositing window manager, which they're contributing to Khronos as part of OpenKode.

Read more ...

 
Syndicate content