Upload
mark-nankman
View
1.676
Download
4
Tags:
Embed Size (px)
DESCRIPTION
A primer for JavaFX. Several slides were borrowed from other presentation that I found on slideshare. I hope I haven't broken any copyright rules in that respect.
Citation preview
Together. Free your energies
JavaFX primer
…to get you started!
Mark NankmanUX ArchitectTTU-F52
“The most pervasive and powerful mobile platform is now the most expressive”
| Technology ServicesTogether. Free your energies
Agenda
What is JavaFX? History Who is JavaFX meant for? Applications Hello World (demo) JavaFX Script language Designer-Developer workflow (demo) Questions
| Technology ServicesTogether. Free your energies
JavaFX…
Is a highly productive scripting language, enables content developers to create rich media and content
for deployment on Java environments, Is a declarative, statically-typed programming language, has first-class functions, has declarative syntax, has list-comprehensions, has incremental dependency-based evaluation. can make direct calls to Java APIs that are on the platform Is NOT a replacement for Swing
| Technology ServicesTogether. Free your energies
JavaFX History
F3: Form Follows Function. developed by Chris Oliver around 2006. F3 was changed to JavaFX Script, and it became open
sourced at JavaOne 2007. JavaFX 1.0 was released on December 4, 2008 JavaFX 1.1 was released on February 20, 2009 JavaFX 1.1.1 was released on March 21, 2009
| Technology ServicesTogether. Free your energies
Cross-Platform
| Technology ServicesTogether. Free your energies
JavaFX Stack
| Technology ServicesTogether. Free your energies
Who is JavaFX meant for?
Rich media developers RIA developers
| Technology ServicesTogether. Free your energies
Applications
Rich cross-platform internet applications: Mobile devices Desktop TV
“rich” : Animations Cinematic effects Media streaming
Hello World
| Technology ServicesTogether. Free your energies
JavaFX Script Language
• Declarative syntax> GUI> Swing> Data binding> Incremental evaluation
• Statically typed> and code structuring, reuse, and encapsulation features that enable
creating and maintaining very large programs in the Java programming language.
| Technology ServicesTogether. Free your energies
JavaFX Script language - script
• A “script" is one or more declarations or functions.
Stage {scene: Scene {
content: Text{content: “Hello World!”}}
}
• No main, classes or functions are mandatory.
| Technology ServicesTogether. Free your energies
JavaFX Script language - Class
class Knight { public var health = 100; public var strength = 10;
public function die(){ health = 0 }
public function hurt(amount: Integer){ strength -= amount } }
| Technology ServicesTogether. Free your energies
JavaFX Script language - Objects
var myKnight = Knight {}
var superKnight = Knight { health: 150; strength: 15; }
myKnight.hurt(superKnight.strength);
// myKight.health = 75
| Technology ServicesTogether. Free your energies
JavaFX Script language - Basic Data Types
JavaFX
> String> Boolean> Number> Integer> Duration
Java
> java.lang.String> java.lang.Boolean> java.lang.Number> byte, short, int, long, BigInteger> N/A
| Technology ServicesTogether. Free your energies
JavaFX Script language - String Examples
var s1 = "Java"; var s2 = "FX"; var s3 = "Java{s2}"; // s3 = 'Hello Joe' var s4 = "{s1}{s2}"; // s4 = "JavaFX"
| Technology ServicesTogether. Free your energies
JavaFX Script language - Boolean Examples
var cool = true; var s = "Java{if(cool)"FX"else"Script"}"; //s = "JavaFX"
var a = true; // a = true var b = false; // b = false var c = a and b; // c = false var d = a or b; // d = true var e = not a; // e = false
| Technology ServicesTogether. Free your energies
JavaFX Script language - Duration
var t1 = 5ms; // 5 milliseconds var t2 = 10s; // 10 seconds var t3 = 30m; // 30 minutes var t4 = 1h; // 1 hour
var t5 = t1 + t2 + t3 + t4; // 1 hour 30 min 10 secs and 5 millisecs
| Technology ServicesTogether. Free your energies
JavaFX Script language - Sequences
var x = [1,2,3]; // array initialization
insert 10 into x; // [1, 2, 3, 10]
insert 12 before x[1]; // [1, 12, 2, 3, 10]
delete 12 from x; // [1, 2, 3, 10]
insert [1..10] into x; // [1, 2, 3, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
| Technology ServicesTogether. Free your energies
Designer-Developer workflow
Designers produce pixels UI Developers need shapes, UI elements, dimensions… What if designer could export the designs to a format a
developer can work with?
The JavaFX Productivity Suite does just that!
JavaFX Productivity Suite
| Technology ServicesTogether. Free your energies
Questions