You are on page 1of 50

1

THE FUTURE IS FUN!

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
2

Herzlich Willkommen!

Matthias
Hänel
CEO & FOUNDER OF
onexip GmbH & jpro technologies AG

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Heute
aktuelle Crossplattform Applikationen bestehen aus vielen Technologien
3

● viele verschiedene
Technologien
● Applikationen nutzen mehrerer
Technologien
● Unterschiedliche Technologien
für Desktop, Mobile und Web
Applikationen
● Zu viel non-shareable code

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
4

Wir müssen das ändern.

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Team Geschichte
people bring up great solutions
5

Hans-Henry Sandbaek Florian Kirmaier Tobias Bley Matthias Hänel


CEO & Founder CTO & Founder CTO & Founder CEO & Founder
Sandec Media AG Sandec Media AG onexip GmbH onexip GmbH

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Zusammen sind wir
people bring up great solutions
6

technologies AG

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
7

Wie ändern wir diese Situation?

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
8

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Desktop Support
JavaFX runs on Windows, Mac and Linux
9

Windows
Windows Vista, 7, 8, 8.1 and
10 support

Mac OS X
OS X 10.7.4 and later

Linux
any newer glibc 6 based
Linux

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
IOT Support
JavaFX runs on embedded ARM systems
10

IoT
embedded ARM
Linux support

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Mobile Support
JavaFX with Gluon works on iOS and Android
11

Android Quality
Android 4 and newer same code on all platforms

iOS Future safety


iOS 6 and newer new platforms emerging?

Gluon Custom Design


possible mobile themed
FXML for each platform

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
12

for the Web

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
13

Wir nennen es einfach ...

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
14

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Beispiel Desktop Applikation
UltraMixer on Desktop is great
15

DJ Software
deployed to million
computers wold wide

Reusable libraries
reusing code is one of the
major advantages of the
Java ecosystem on Desktop

Porting it to JavaFX
Re-implementing the entire
Software

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Deployment UltraMixer 16

UltraMixer on the Web is the future

Launch

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Crossplattform Technologie für Java
17

JavaFX läuft auf Desktop, Mobile und Web

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
CalendarFX Fashion Shop Scenebuilder 18

Tetris MyLeporello

Showcase
jpro shows its power in those demos

jpro it is already used in some real world applications. More follow in the next months.
See http://jpro.io/?page=demos

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
How does the magic work?
native cross platform support mit JavaFX
19

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
jpro Architektur
thin client model
20

Client Server
view tier controller and model tier
(rendering) (business logic)

HTML5 JavaFX
(CSS, JS, SVG) (JAVA, FXML, CSS)

Browser JVM

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
JavaFX Architektur Inside JavaFX
21

JavaFX Public APIs and Scene Graph

Quantum Toolkit

Prism / Glass Windowing Toolkit / Media Engine / Web Engine

Java 2D / OpenGL / D3D

JDK API Libraries & Tools

Java Virtual Machine

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
jpro Architektur Inside jpro
22

JavaFX Public APIs and Scene Graph

Quantum Toolkit

Prism / Glass Windowing Toolkit / Media Engine / Web Engine

Java 2D / OpenGL / D3D

JDK API Libraries & Tools

Java Virtual Machine

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
jpro architecture Inside jpro
23

JFX Scene HTML DOM

Node1 Node1

Node2 Node2

Node3 Node3

Node4 Node4

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
jpro Serverarchitektur Inside jpro
24

JavaFX-App
● JavaFX läuft auf dem
Server
Scene1 Scene4 Scene7 .
● eine Scene Instanz pro
Nutzer Scene2 Scene5 Scene8 ..

Scene3 Scene6 Scene9 ...

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
jpro Serverarchitektur Inside jpro
25

Die gleiche App läuft auf


verschiedenen Servern
oder in der Cloud.

Server1 Server2 ServerX


Ja Ja Ja
va va va
FX FX FX
-A -A -A
pp pp pp

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Möglichkeiten der Architektur inside jpro
26

1 2 3 4 5 6 7

Any JVM Any JFX Development


binding Pixel perfect IP Protection Jede Library Middle tier
Sprache speed
e.g. GroovyFX, rendering across Almost any Java can be dropped
e.g. Groovy, Kotlin, through consistent is immanent
KotlinFX, ScalaFX browsers Library can be used
Scala or Clojure tools
or ClojureFX

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Browser Voraussetzungen Inside jpro
27

● Aktueller Browser
● Websocket Support
● Aktiviertes JavaScript

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Server Technologien
Voraussetzungen für jpro
28

Linux Gradle Java 8


bevorzugt: > Version 2.14 Oracle JDK 8
Ubuntu

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Entwicklung mit jpro 29

jpro app mit Sourcecode starten (z.B. während Entwicklung)

● Gradle-Script erzeugen (build.gradle + settings.gradle)


● Ordner-Struktur erzeugen
/src
/main
/java
/resources
/test
/java
/resources
● Deployment:
Gradle scripts und src-folder zum Server hochladen
Kommandozeile: gradle runBrowser oder gradle restartServer

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Entwicklung mit jpro 30

Automatisch erzeugte jpro Pfade


● http://localhost:8080/test/default
● http://localhost:8080/test/fullscreen/default

Selbst definierte jpro Pfade


● Selbst definierte und zugreifbare Ressourcen liegen in: „resources/jpro/html“
● z.B. resources/jpro/html/index.html
● Zugriffe per http://localhost:8080/index.html

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
von JavaFX zu jpro 31

static Attribute und Methoden (static) meiden


Ausnahme: alles was zwischen allen Nutzern geteilt wird
Preferences in der Cloud speichern (z.B. database, jclouds)

Dateizugriff ändern (Upload/ Download)

“Save as...” neu definieren. Entweder als Download oder Speichern in die Cloud

System.exit(0) und Toolkit.exit() entfernen

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
jpro WebAPI 32

Platform switches (isDesktop() / isBrowser())


Upload/Download Files
Ausführen und eval JavaScript
Register JavaScript Variables
Register Java Callbacks
Cookies zugreifen

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
best practice mit jpro
33

User Interface Responsive Design application


paradigm states/pages
e.g. rethink web or app metaphors GUI adjustment for different like Ajax applications, defining

devices URLs, which direct to defined


states in a application like
home, purchase, pricing etc.

develop Run JS Code in the


resource-aware Run performance
Browser tests
e.g. cache images, save effects,
in case of performance e.g. JMeter with Web-Driver or
optimise CSS rules, prevent
optimizations Cloud services like loader.io
memory leaks
www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
34

jpro.handsOnCode();

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Quellcode show case
35

“Hello JPro” Tag Code


skinned by CSS embed “Hello JPro”
Controller Class Demo with <jpro>

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Real World Applikation
Web page jpro.io
36

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Real World Applikation
Web page jpro.io
37

Europe
Server 1: Frankfurt Balancing Server 1

America Server 2
Server 2: California
GEO LOAD

Asia Server N
Server 3: Sydney

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Real World Applikation
Web page jpro.io
38

Hosting
3x Amazon EC2 t2.large

Geo-Balancing over DNS

Port-Forwarding for
www.jpro.io
(Port 80 => 8080)

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
39

= Web 3.0

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
40

Finally

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Unsere Philosophie
sumup everything
41

W.O.R.A. fast development


Wiederverwendung von Eine Sprache (Java),
Source Code common tools (Maven,
sharing is caring Gradle, Jenkins)

scale easily Crossplattform


serverseitiges Scaling deployment
Deployment auf alle
Plattformen (Desktop,
Mobile, Web)

IP Protection zentrale Updates being a great


Geistiges Eigentum ist software updates finden team
geschützt auf dem Server statt java und Crossplatform
Enthusiasten
www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Roadmap Projekt Status
42

First Alpha Selected Early Birds


Community Demos
Demos, Beispiele
Integration in Web Services
Ende 2015

Closed Beta Erste TeaVM


Open Release version
Viele neue Demos
Early Bird Customers Anfang 2018
Sommer 2016 Ende Juni 2017

www.jpro-software.com
© 2016 jpro technologies AG. All Rights Reserved.
43

SIGN UP!

jpro.io/?page=signup

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
44

KAFFEE PAUSE ?
….

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
45

ONE MORE THING?


Go to

multiview.jpro.io
www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
MultiView? one more thing
46

JavaFX
● single Scene
● Scene zu
mehreren Scene1 Scene4 Scene7 .

Nutzern routen Scene2 Scene5 Scene8 ..

Scene3 Scene6 Scene9 ...

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
47

VIELEN DANK!

jpro_io

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
48

Q & A?

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
Follow us on Twitter 49

jpro_io

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.
50

www.jpro.io
© 2017 jpro technologies AG. All Rights Reserved.

You might also like