21
Together. Free your energie JavaFX primer …to get you started! Mark Nankman UX Architect TTU-F52 “The most pervasive and powerful mobile platform is now the most expressive”

JavaFX

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

Page 1: 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”

Page 2: JavaFX

| 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

Page 3: JavaFX

| 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

Page 4: JavaFX

| 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

Page 5: JavaFX

| Technology ServicesTogether. Free your energies

Cross-Platform

Page 6: JavaFX

| Technology ServicesTogether. Free your energies

JavaFX Stack

Page 7: JavaFX

| Technology ServicesTogether. Free your energies

Who is JavaFX meant for?

Rich media developers RIA developers

Page 8: JavaFX

| Technology ServicesTogether. Free your energies

Applications

Rich cross-platform internet applications: Mobile devices Desktop TV

“rich” : Animations Cinematic effects Media streaming

Page 9: JavaFX

Hello World

Page 10: JavaFX

| 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.

Page 11: JavaFX

| 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.

Page 12: JavaFX

| 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 } }

Page 13: JavaFX

| 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

Page 14: JavaFX

| 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

Page 15: JavaFX

| 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"

Page 16: 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

Page 17: JavaFX

| 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

Page 18: JavaFX

| 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]

Page 19: JavaFX

| 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!

Page 20: JavaFX

JavaFX Productivity Suite

Page 21: JavaFX

| Technology ServicesTogether. Free your energies

Questions