Post on 14-Jul-2020
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
1
THE FUTURE IS FUN!
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
2
Matthias Hänel
CEO & FOUNDER OF onexip GmbH & jpro technologies AG
Herzlich Willkommen!
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
3Heuteaktuelle Crossplattform Applikationen bestehen aus vielen Technologien
● 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.
5
Hans-Henry SandbaekCEO & Founder
Sandec Media AG
Florian KirmaierCTO & Founder
Sandec Media AG
Tobias BleyCTO & Founder
onexip GmbH
Matthias HänelCEO & Founder
onexip GmbH
Team Geschichtepeople bring up great solutions
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
6
technologies AG
Zusammen sind wirpeople bring up great solutions
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.
9
WindowsWindows Vista, 7, 8, 8.1 and 10 support
Mac OS XOS X 10.7.4 and later
Linuxany newer glibc 6 based Linux
Desktop SupportJavaFX runs on Windows, Mac and Linux
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
10IOT SupportJavaFX runs on embedded ARM systems
IoTembedded ARM Linux support
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
11
AndroidAndroid 4 and newer
iOSiOS 6 and newer
Qualitysame code on all platforms
Future safetynew platforms emerging?
Custom Designpossible mobile themed FXML for each platform
Mobile SupportJavaFX with Gluon works on iOS and Android
Gluon
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.
15
Porting it to JavaFXRe-implementing the entire Software
Reusable librariesreusing code is one of the major advantages of the Java ecosystem on Desktop
DJ Softwaredeployed to million computers wold wide
Beispiel Desktop ApplikationUltraMixer on Desktop is great
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
16Deployment UltraMixerUltraMixer on the Web is the future
Launch
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
17Crossplattform Technologie für Java JavaFX läuft auf Desktop, Mobile und Web
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
18
Showcasejpro 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
CalendarFX Fashion Shop
Tetris
MyLeporello
Scenebuilder
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
19How does the magic work?native cross platform support mit JavaFX
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
20jpro Architekturthin client model
controller and model tier (business logic)
Server
JavaFX (JAVA, FXML, CSS)
JVM
Client
HTML5 (CSS, JS, SVG)
view tier (rendering)
Browser
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
21JavaFX ArchitekturInside JavaFX
Java Virtual Machine
JDK API Libraries & Tools
Java 2D / OpenGL / D3D
Prism / Glass Windowing Toolkit / Media Engine / Web Engine
Quantum Toolkit
JavaFX Public APIs and Scene Graph
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
22jpro ArchitekturInside jpro
Java Virtual Machine
JDK API Libraries & Tools
Java 2D / OpenGL / D3D
Quantum Toolkit
JavaFX Public APIs and Scene Graph
Prism / Glass Windowing Toolkit / Media Engine / Web Engine
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
23jpro architectureInside jpro
Node1
JFX Scene
Node2
Node3
Node4
Node1
HTML DOM
Node2
Node3
Node4
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
24
Scene3
Scene2
Scene6
Scene5
Scene1 Scene4
Scene9
Scene8
...
..
Scene7 .
JavaFX-App● JavaFX läuft auf dem
Server● eine Scene Instanz pro
Nutzer
jpro ServerarchitekturInside jpro
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
25jpro ServerarchitekturInside jpro
JavaFX-App
JavaFX-App
JavaFX-App
Die gleiche App läuft auf verschiedenen Servern oder in der Cloud.
Server1 Server2 ServerX
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
26
1 2 3 4 5 6
Any JVM
Sprachee.g. Groovy, Kotlin,
Scala or Clojure
Any JFX
bindinge.g. GroovyFX,
KotlinFX, ScalaFXor ClojureFX
Pixel perfectrendering across
browsers
Development
speedthrough consistent
tools
IP Protectionis immanent
Jede LibraryAlmost any Java
Library can be used
Möglichkeiten der Architekturinside jpro
7
Middle tiercan be dropped
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
27Browser VoraussetzungenInside jpro
● Aktueller Browser● Websocket Support● Aktiviertes JavaScript
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
28
Gradle Java 8Linuxbevorzugt:
Ubuntu> Version 2.14 Oracle JDK 8
Server TechnologienVoraussetzungen für jpro
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
29Entwicklung mit jpro
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.
30Entwicklung mit jpro
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.
31von JavaFX zu jpro
static Attribute und Methoden (static) meidenAusnahme: alles was zwischen allen Nutzern geteilt wird
Preferences in der Cloud speichern (z.B. database, jclouds)
Dateizugriff ändern (Upload/ Download)
System.exit(0) und Toolkit.exit() entfernen
“Save as...” neu definieren. Entweder als Download oder Speichern in die Cloud
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
32jpro WebAPI
Platform switches (isDesktop() / isBrowser())
Upload/Download Files
Ausführen und eval JavaScript
Register Java Callbacks
Register JavaScript Variables
Cookies zugreifen
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
33
e.g. cache images, save effects,
optimise CSS rules, prevent
memory leaks
develop resource-aware
GUI adjustment for different
devices
Responsive Design
in case of performance
optimizations
Run JS Code in the Browser
e.g. rethink web or app metaphors
User Interfaceparadigm
like Ajax applications, defining
URLs, which direct to defined
states in a application like
home, purchase, pricing etc.
application states/pages
e.g. JMeter with Web-Driver or
Cloud services like loader.io
Run performance tests
best practicemit jpro
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
34
jpro.handsOnCode();
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
35
“Hello JPro”skinned by CSS
Controller Class
Tag Codeembed “Hello JPro”
Demo with <jpro>
Quellcodeshow case
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
36Real World ApplikationWeb page jpro.io
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
37
Server 1
AsiaServer 3: Sydney
AmericaServer 2: California
EuropeServer 1: Frankfurt
Server 2
Server N
GEO LOAD
Balancing
Real World ApplikationWeb page jpro.io
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
38
Hosting
3x Amazon EC2 t2.large
Geo-Balancing over DNS
Port-Forwarding for www.jpro.io(Port 80 => 8080)
Real World ApplikationWeb page jpro.io
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.
41
W.O.R.A.Wiederverwendung von
Source Code
sharing is caring
fast developmentEine Sprache (Java),
common tools (Maven, Gradle, Jenkins)
IP ProtectionGeistiges Eigentum ist
geschützt
scale easilyserverseitiges Scaling
Crossplattform deployment
Deployment auf alle Plattformen (Desktop,
Mobile, Web)
zentrale Updatessoftware updates finden
auf dem Server statt
being a great team
java und Crossplatform Enthusiasten
Unsere Philosophiesumup everything
www.jpro-software.com© 2016 jpro technologies AG. All Rights Reserved.
42
First Alpha
Demos, Beispiele
Ende 2015
Closed BetaViele neue Demos
Early Bird Customers
Sommer 2016
Selected Early BirdsCommunity Demos
Integration in Web Services
Erste TeaVM version
Anfang 2018
Open Release
Ende Juni 2017
RoadmapProjekt Status
www.jpro.io© 2017 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.
46MultiView?one more thing
Scene3
Scene2
Scene6
Scene5
Scene1 Scene4
Scene9
Scene8
...
..
Scene7 .
JavaFX● single Scene● Scene zu
mehreren Nutzern routen Scene5
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.
49
jpro_io
Follow us on Twitter
www.jpro.io© 2017 jpro technologies AG. All Rights Reserved.
50