JavaFX

Post on 27-Jan-2015

1.672 views 4 download

Tags:

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.

Transcript of JavaFX

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