SlideShare a Scribd company logo
Hibridne aplikacije -
Upogonite Java web aplikaciju
na Androidu da radi offline
Matija TomaškovićMatija Tomašković
Daniel Strmečki
POSLOVNE WEB APLIKACIJE13.05.2014.
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Java web aplikacije - arhitektura
Web browser Web application server Database
SQL
Java
Servlet
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr2 | 13.05.2014.
SQL
DB
Java
web app
WAR
Servlet
server
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
KORAK 1 - prilagodba dizajna
Desktop Mobile
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr3 | 13.05.2014.
Ne zaboraviti: responsive design / CSS
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
APK
KORAK 2 – pakiranje linka
WebView
Icon Name URL
Web application server
Servlet
server
Java
web app
WAR
SQL
DB
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr4 | 13.05.2014.
WebView server
WAR
DB
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
KORAK 2 – pakiranje linka
Android SDK Tools
android update project
Apache Ant
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr5 | 13.05.2014.
Android Base Wrapper
Apache Ant
ant clean ant release
DEMO
Pakiranje linka
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr
Pakiranje linka
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
APK
KORAK 3 – izlaganje native funkcionalnosti
WebView
Icon Name URL
Web application
Servlet
server
Java
web app
WAR
SQL
DB
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr7 | 13.05.2014.
WebView
JavaScript proxy
Native features
server
WAR
DB
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
KORAK 3 – izlaganje native funkcionalnosti
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr8 | 13.05.2014.
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
APK
KORAK 4 – offline deployment
WebView
Icon Name URL
Web application
Servlet
server
Java
web app
WAR
SQL
DB
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr9 | 13.05.2014.
WebView
JavaScript proxy
Native features
server
WAR
DB
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
APK
KORAK 4 – offline deployment
WebView
Icon Name URL
Servlet
server
Java
web app
WAR
SQL
DB
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr10 | 13.05.2014.
WebView
JavaScript proxy
Native features
server
WAR
DB
SYNC sa online
sustavom
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
KORAK 4 – offline deployment
implements
/
extends
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr11 | 13.05.2014.
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
KORAK 4 – offline deployment
Instancira EF
AppServlet
Binda listening
socket
Context path
"/evolution_framework"
Webapp dir
Započinje
listening loop
Instancira
ServletConfig
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr12 | 13.05.2014.
Create ServletContext
instance
listening loop
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
KORAK 4 – offline deployment
Starta thread
Referenca na
input/output
Instanca
HttpServletRequest
Instanca
HttpServletResponse
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr13 | 13.05.2014.
Čita HTTP request:
GET/POST line, HTTP
header, content
input/output
socket streams
a) šalje
resource file
b) poziva servlet
doGet/doPost
Servlet piše u
ServletOutputStream
Šalje HTTP header i
content
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Offline webapp wrapper – on desktop
Priprema Java web aplikacije
compile & create JAR
Java classes & EF modules
zip EF java web app
copy app package
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr14 | 13.05.2014.
EF Offline Wrapper Builder
android update project
SDK Tools & Ant
add to base wrapper
ant clean, ant release
zip EF java web app
Android Base Wrapper
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
JARs
APK
build
create
copy
classpath
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr15 | 13.05.2014.
APK
Assets
copy
build
deploy
zip
copy
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Offline webapp wrapper – on Android device
Kopiranje APK na Android Web app funkcionira offline
Samo
Ako nije
pokrenut
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr16 | 13.05.2014.
Instalacija APK
Poketanje EF mobile wrapper app Unzip EF web app
Start servlet server
Samo
inicijalno
DEMO
Offline Java web aplikacija
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr
Offline Java web aplikacija
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Zaključak
bazirani na istom engine, Chromium od Android 4.4., HTML 5 support
WebView je po defaultu ograničen, potrebno ga je podesiti prema potrebama
za rad sa učitavanjem stranica, formama – koristiti WebViewClient
za napredniji rad sa JS i eventima – koristiti WebChromeClient
pure Java baza: HSQLDB
WebView vs Chrome
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr18 | 13.05.2014.
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Zaključak
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr19 | 13.05.2014.
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Zaključak
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr20 | 13.05.2014.
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Zaključak
<button type="button" value="someValue"
JS -> Java
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr21 | 13.05.2014.
<button type="button" value="someValue"
onclick="window.ok.performClick(this.value);">OK</button>
Java -> JS
HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE
Zaključak
bolja ergonomija pokretanja
prisutnost na marketu
izbjegava se dupli razvoj istih funkcionalnosti u web i native mobile obliku
(barem duplo) manji troškovi razvoja
manji potrebni know-how
moguće je napraviti native wrappere za više platformi, iskoristive za više web aplikacija
mogu se iskoristiti native funkcionalnosti uređaja
može se iskoristiti snagu HTMLa(5), JavaScripta, CSSa
ZA HIBRIDNE APLIKACIJE:
POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr22 | 13.05.2014.
može se iskoristiti snagu HTMLa(5), JavaScripta, CSSa
mogući offline deployment Java web aplikacija na Androidu
PROTIV:
performanse
ergonomske prilagodbe / responsive design
drag'n'drop
doubleclick
treba napisati native wrapper
za offline aplikacije staviti u pogon (svoj/3rd party) Android servlet server
Hvala na pažnji
www.evolva.hr
info@evolva.hr
POSLOVNE WEB APLIKACIJE

More Related Content

What's hot

Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander ZengAlex Zeng
 
CQ 5.4 Deep-Dive
CQ 5.4 Deep-DiveCQ 5.4 Deep-Dive
CQ 5.4 Deep-Dive
Gabriel Walt
 
Web, Mobile, App and Back!
Web, Mobile, App and Back!Web, Mobile, App and Back!
Web, Mobile, App and Back!
Gabriel Walt
 
Java Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.CatagorizedJava Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.Catagorizedroialdaag
 
Building RIA Applications with JavaFX
Building RIA Applications with JavaFXBuilding RIA Applications with JavaFX
Building RIA Applications with JavaFX
Max Katz
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
Jeff Haynie
 
VisionX Prototyping.
VisionX Prototyping.VisionX Prototyping.
VisionX Prototyping.
SIB Visions GmbH
 
Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt
AEM HUB
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
JAX London
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
Gabriel Walt
 
Three WEM Dev Tricks
Three WEM Dev TricksThree WEM Dev Tricks
Three WEM Dev TricksGabriel Walt
 
Why Java
Why JavaWhy Java
Why Java
ifnu bima
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
Codemotion
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsModern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.js
Jonas Bandi
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
Ivano Malavolta
 
Android Development...Using Web Technologies
Android Development...Using Web TechnologiesAndroid Development...Using Web Technologies
Android Development...Using Web Technologies
CommonsWare
 
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Beat Signer
 
Joe Staner Zend Con 2008
Joe Staner Zend Con 2008Joe Staner Zend Con 2008
Joe Staner Zend Con 2008
ZendCon
 

What's hot (20)

Java Technology
Java TechnologyJava Technology
Java Technology
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander Zeng
 
CQ 5.4 Deep-Dive
CQ 5.4 Deep-DiveCQ 5.4 Deep-Dive
CQ 5.4 Deep-Dive
 
Web, Mobile, App and Back!
Web, Mobile, App and Back!Web, Mobile, App and Back!
Web, Mobile, App and Back!
 
Java Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.CatagorizedJava Edge.2008.Web.Frameworks.Catagorized
Java Edge.2008.Web.Frameworks.Catagorized
 
Building RIA Applications with JavaFX
Building RIA Applications with JavaFXBuilding RIA Applications with JavaFX
Building RIA Applications with JavaFX
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 
VisionX Prototyping.
VisionX Prototyping.VisionX Prototyping.
VisionX Prototyping.
 
Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
Three WEM Dev Tricks
Three WEM Dev TricksThree WEM Dev Tricks
Three WEM Dev Tricks
 
Why Java
Why JavaWhy Java
Why Java
 
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter LehtoJavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
 
Refactoring to a Single Page Application
Refactoring to a Single Page ApplicationRefactoring to a Single Page Application
Refactoring to a Single Page Application
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsModern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.js
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Android Development...Using Web Technologies
Android Development...Using Web TechnologiesAndroid Development...Using Web Technologies
Android Development...Using Web Technologies
 
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
Web Application Frameworks - Lecture 05 - Web Information Systems (4011474FNR)
 
Joe Staner Zend Con 2008
Joe Staner Zend Con 2008Joe Staner Zend Con 2008
Joe Staner Zend Con 2008
 

Viewers also liked

FSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacija
Dinko Korunic
 
JavaCro'14 - Automatic database migrations – Marko Elezović
JavaCro'14 - Automatic database migrations – Marko ElezovićJavaCro'14 - Automatic database migrations – Marko Elezović
JavaCro'14 - Automatic database migrations – Marko Elezović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir DžaferovićJavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan JanssenJavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec
JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija KranjecJavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec
JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
JavaCro'14 - Going Digital with Java EE - Peter PilgrimJavaCro'14 - Going Digital with Java EE - Peter Pilgrim
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan RagužJavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad PećanacJavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...
JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...
JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan IvanovićJavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan KljajinJavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'14 - GWT rebooted – Gordan Krešić
JavaCro'14 - GWT rebooted – Gordan KrešićJavaCro'14 - GWT rebooted – Gordan Krešić
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 

Viewers also liked (20)

FSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacija
 
JavaCro'14 - Automatic database migrations – Marko Elezović
JavaCro'14 - Automatic database migrations – Marko ElezovićJavaCro'14 - Automatic database migrations – Marko Elezović
JavaCro'14 - Automatic database migrations – Marko Elezović
 
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
JavaCro'14 - Drools Decision tables – form of human-readable rules – Dragan J...
 
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir DžaferovićJavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
JavaCro'14 - Continuous deployment tool – Aleksandar Dostić and Emir Džaferović
 
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan JanssenJavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
JavaCro'14 - Profile any environment with Java Flight Recorder – Johan Janssen
 
JavaCro'14 - Packaging and installing of the JEE solution – Miroslav Rešetar
JavaCro'14 - Packaging and installing of the JEE solution – Miroslav RešetarJavaCro'14 - Packaging and installing of the JEE solution – Miroslav Rešetar
JavaCro'14 - Packaging and installing of the JEE solution – Miroslav Rešetar
 
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
JavaCro'14 - Cloud Platforms in Internet of Things – Krešimir Mišura and Bran...
 
JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec
JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija KranjecJavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec
JavaCro'14 - Gatling – weapon in ranks of performance testing – Andrija Kranjec
 
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
 
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
JavaCro'14 - Going Digital with Java EE - Peter PilgrimJavaCro'14 - Going Digital with Java EE - Peter Pilgrim
JavaCro'14 - Going Digital with Java EE - Peter Pilgrim
 
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...JavaCro'14 - Is there a single “correct” web architecture for business apps –...
JavaCro'14 - Is there a single “correct” web architecture for business apps –...
 
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
JavaCro'14 - Amphinicy crown jewels our software development infrastructure –...
 
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
JavaCro'14 - Auditing of user activity through NoSQL database – Kristijan Duv...
 
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan RagužJavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
JavaCro'14 - Java in M2M technologies – Mango M2M software – Ivan Raguž
 
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad PećanacJavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
JavaCro'14 - MEAN Stack – How & When – Nenad Pećanac
 
JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...
JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...
JavaCro'14 - Can You Tell Me How to Get to Sesame Street I wanna be a Grails ...
 
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan IvanovićJavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
 
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan KljajinJavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
JavaCro'14 - WebSockets and OpenLayers joined with Spring – Bojan Kljajin
 
JavaCro'14 - GWT rebooted – Gordan Krešić
JavaCro'14 - GWT rebooted – Gordan KrešićJavaCro'14 - GWT rebooted – Gordan Krešić
JavaCro'14 - GWT rebooted – Gordan Krešić
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
 

Similar to JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to run offline – Matija Tomašković and Daniel Strmečki

Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
Alexandre Marreiros
 
AWS Tech Summit - Berlin 2011 - Running Java Applications on AWS
AWS Tech Summit - Berlin 2011 - Running Java Applications on AWSAWS Tech Summit - Berlin 2011 - Running Java Applications on AWS
AWS Tech Summit - Berlin 2011 - Running Java Applications on AWS
Amazon Web Services
 
salah atwa (Java Developer )
salah atwa (Java Developer )salah atwa (Java Developer )
salah atwa (Java Developer )salah atwa
 
App developer as a Web developer (ROROSyd - Jul 15)
App developer as a Web developer (ROROSyd - Jul 15)App developer as a Web developer (ROROSyd - Jul 15)
App developer as a Web developer (ROROSyd - Jul 15)
Sameera Gayan
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick Introduction
Steven Herod
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
David Wesst
 
Centric - PWA WebCast
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCast
Timmy Kokke
 
Ali Ali
Ali AliAli Ali
Ali Ali
AliAli972
 
The Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle KeynoteThe Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle Keynote
Bruno Borges
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Timmy Kokke
 
Connfa! Progressive web app
Connfa! Progressive web appConnfa! Progressive web app
Connfa! Progressive web app
Lemberg Solutions
 
Virendra Jain Portfolio
Virendra Jain PortfolioVirendra Jain Portfolio
Virendra Jain Portfolio
Virendra Jain
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
Aayush Shrestha
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of Light
Prolifics
 
Play Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level Overview
Josh Padnick
 
Karl-Grittner-Resume
Karl-Grittner-ResumeKarl-Grittner-Resume
Karl-Grittner-Resumekarl grittner
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGapMihai Corlan
 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocks
Juarez Filho
 

Similar to JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to run offline – Matija Tomašković and Daniel Strmečki (20)

Jws masterclass progressive web apps
Jws masterclass progressive web appsJws masterclass progressive web apps
Jws masterclass progressive web apps
 
AWS Tech Summit - Berlin 2011 - Running Java Applications on AWS
AWS Tech Summit - Berlin 2011 - Running Java Applications on AWSAWS Tech Summit - Berlin 2011 - Running Java Applications on AWS
AWS Tech Summit - Berlin 2011 - Running Java Applications on AWS
 
salah atwa (Java Developer )
salah atwa (Java Developer )salah atwa (Java Developer )
salah atwa (Java Developer )
 
Sap mobility training
Sap mobility trainingSap mobility training
Sap mobility training
 
Sap mobility training
Sap mobility trainingSap mobility training
Sap mobility training
 
App developer as a Web developer (ROROSyd - Jul 15)
App developer as a Web developer (ROROSyd - Jul 15)App developer as a Web developer (ROROSyd - Jul 15)
App developer as a Web developer (ROROSyd - Jul 15)
 
Force.com Canvas - a Quick Introduction
Force.com Canvas - a Quick IntroductionForce.com Canvas - a Quick Introduction
Force.com Canvas - a Quick Introduction
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
Centric - PWA WebCast
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCast
 
Ali Ali
Ali AliAli Ali
Ali Ali
 
The Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle KeynoteThe Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle Keynote
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Connfa! Progressive web app
Connfa! Progressive web appConnfa! Progressive web app
Connfa! Progressive web app
 
Virendra Jain Portfolio
Virendra Jain PortfolioVirendra Jain Portfolio
Virendra Jain Portfolio
 
Workshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic FrameworkWorkshop on Hybrid App Development with Ionic Framework
Workshop on Hybrid App Development with Ionic Framework
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of Light
 
Play Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level Overview
 
Karl-Grittner-Resume
Karl-Grittner-ResumeKarl-Grittner-Resume
Karl-Grittner-Resume
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Ionic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocksIonic adventures - Hybrid Mobile App Development rocks
Ionic adventures - Hybrid Mobile App Development rocks
 

More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association

Java cro'21 the best tools for java developers in 2021 - hujak
Java cro'21   the best tools for java developers in 2021 - hujakJava cro'21   the best tools for java developers in 2021 - hujak
Java cro'21 the best tools for java developers in 2021 - hujak
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
JavaCro'21 - Java is Here To Stay - HUJAK KeynoteJavaCro'21 - Java is Here To Stay - HUJAK Keynote
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan LozićJavantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander RadovanJavantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - When remote work really works - the secrets behind successful ...Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - When remote work really works - the secrets behind successful ...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Kotlin-Java Interop - Matej VidakovićJavantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Just say it v2 - Pavao Varela Petrac
Javantura v6 - Just say it v2 - Pavao Varela PetracJavantura v6 - Just say it v2 - Pavao Varela Petrac
Javantura v6 - Just say it v2 - Pavao Varela Petrac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Automation of web apps testing - Hrvoje RuhekJavantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - Building IoT Middleware with Microservices - Mario KusekJavantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 

More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)

Java cro'21 the best tools for java developers in 2021 - hujak
Java cro'21   the best tools for java developers in 2021 - hujakJava cro'21   the best tools for java developers in 2021 - hujak
Java cro'21 the best tools for java developers in 2021 - hujak
 
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
JavaCro'21 - Java is Here To Stay - HUJAK KeynoteJavaCro'21 - Java is Here To Stay - HUJAK Keynote
JavaCro'21 - Java is Here To Stay - HUJAK Keynote
 
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan LozićJavantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
 
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
Javantura v7 - The State of Java - Today and Tomowwow - HUJAK's Community Key...
 
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader -...
 
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
JavaCro'19 - The State of Java and Software Development in Croatia - Communit...
 
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander RadovanJavantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
 
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
Javantura v6 - On the Aspects of Polyglot Programming and Memory Management i...
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
 
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
Javantura v6 - How to help customers report bugs accurately - Miroslav Čerkez...
 
Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - When remote work really works - the secrets behind successful ...Javantura v6 - When remote work really works - the secrets behind successful ...
Javantura v6 - When remote work really works - the secrets behind successful ...
 
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Kotlin-Java Interop - Matej VidakovićJavantura v6 - Kotlin-Java Interop - Matej Vidaković
Javantura v6 - Kotlin-Java Interop - Matej Vidaković
 
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
Javantura v6 - Spring HATEOAS hypermedia-driven web services, and clients tha...
 
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
Javantura v6 - End to End Continuous Delivery of Microservices for Kubernetes...
 
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
Javantura v6 - Istio Service Mesh - The magic between your microservices - Ma...
 
Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...Javantura v6 - How can you improve the quality of your application - Ioannis ...
Javantura v6 - How can you improve the quality of your application - Ioannis ...
 
Javantura v6 - Just say it v2 - Pavao Varela Petrac
Javantura v6 - Just say it v2 - Pavao Varela PetracJavantura v6 - Just say it v2 - Pavao Varela Petrac
Javantura v6 - Just say it v2 - Pavao Varela Petrac
 
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Automation of web apps testing - Hrvoje RuhekJavantura v6 - Automation of web apps testing - Hrvoje Ruhek
Javantura v6 - Automation of web apps testing - Hrvoje Ruhek
 
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
Javantura v6 - Master the Concepts Behind the Java 10 Challenges and Eliminat...
 
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - Building IoT Middleware with Microservices - Mario KusekJavantura v6 - Building IoT Middleware with Microservices - Mario Kusek
Javantura v6 - Building IoT Middleware with Microservices - Mario Kusek
 

Recently uploaded

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 

JavaCro'14 - Hybrid mobile apps – deploy Java web application on Android to run offline – Matija Tomašković and Daniel Strmečki

  • 1. Hibridne aplikacije - Upogonite Java web aplikaciju na Androidu da radi offline Matija TomaškovićMatija Tomašković Daniel Strmečki POSLOVNE WEB APLIKACIJE13.05.2014.
  • 2. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Java web aplikacije - arhitektura Web browser Web application server Database SQL Java Servlet POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr2 | 13.05.2014. SQL DB Java web app WAR Servlet server
  • 3. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE KORAK 1 - prilagodba dizajna Desktop Mobile POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr3 | 13.05.2014. Ne zaboraviti: responsive design / CSS
  • 4. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE APK KORAK 2 – pakiranje linka WebView Icon Name URL Web application server Servlet server Java web app WAR SQL DB POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr4 | 13.05.2014. WebView server WAR DB
  • 5. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE KORAK 2 – pakiranje linka Android SDK Tools android update project Apache Ant POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr5 | 13.05.2014. Android Base Wrapper Apache Ant ant clean ant release
  • 6. DEMO Pakiranje linka POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr Pakiranje linka
  • 7. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE APK KORAK 3 – izlaganje native funkcionalnosti WebView Icon Name URL Web application Servlet server Java web app WAR SQL DB POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr7 | 13.05.2014. WebView JavaScript proxy Native features server WAR DB
  • 8. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE KORAK 3 – izlaganje native funkcionalnosti POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr8 | 13.05.2014.
  • 9. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE APK KORAK 4 – offline deployment WebView Icon Name URL Web application Servlet server Java web app WAR SQL DB POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr9 | 13.05.2014. WebView JavaScript proxy Native features server WAR DB
  • 10. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE APK KORAK 4 – offline deployment WebView Icon Name URL Servlet server Java web app WAR SQL DB POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr10 | 13.05.2014. WebView JavaScript proxy Native features server WAR DB SYNC sa online sustavom
  • 11. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE KORAK 4 – offline deployment implements / extends POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr11 | 13.05.2014.
  • 12. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE KORAK 4 – offline deployment Instancira EF AppServlet Binda listening socket Context path "/evolution_framework" Webapp dir Započinje listening loop Instancira ServletConfig POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr12 | 13.05.2014. Create ServletContext instance listening loop
  • 13. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE KORAK 4 – offline deployment Starta thread Referenca na input/output Instanca HttpServletRequest Instanca HttpServletResponse POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr13 | 13.05.2014. Čita HTTP request: GET/POST line, HTTP header, content input/output socket streams a) šalje resource file b) poziva servlet doGet/doPost Servlet piše u ServletOutputStream Šalje HTTP header i content
  • 14. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Offline webapp wrapper – on desktop Priprema Java web aplikacije compile & create JAR Java classes & EF modules zip EF java web app copy app package POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr14 | 13.05.2014. EF Offline Wrapper Builder android update project SDK Tools & Ant add to base wrapper ant clean, ant release zip EF java web app Android Base Wrapper
  • 15. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE JARs APK build create copy classpath POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr15 | 13.05.2014. APK Assets copy build deploy zip copy
  • 16. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Offline webapp wrapper – on Android device Kopiranje APK na Android Web app funkcionira offline Samo Ako nije pokrenut POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr16 | 13.05.2014. Instalacija APK Poketanje EF mobile wrapper app Unzip EF web app Start servlet server Samo inicijalno
  • 17. DEMO Offline Java web aplikacija POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr Offline Java web aplikacija
  • 18. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Zaključak bazirani na istom engine, Chromium od Android 4.4., HTML 5 support WebView je po defaultu ograničen, potrebno ga je podesiti prema potrebama za rad sa učitavanjem stranica, formama – koristiti WebViewClient za napredniji rad sa JS i eventima – koristiti WebChromeClient pure Java baza: HSQLDB WebView vs Chrome POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr18 | 13.05.2014.
  • 19. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Zaključak POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr19 | 13.05.2014.
  • 20. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Zaključak POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr20 | 13.05.2014.
  • 21. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Zaključak <button type="button" value="someValue" JS -> Java POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr21 | 13.05.2014. <button type="button" value="someValue" onclick="window.ok.performClick(this.value);">OK</button> Java -> JS
  • 22. HIBRIDNE APLIKACIJE - UPOGONITE JAVA WEB APLIKACIJU NA ANDROIDU DA RADI OFFLINE Zaključak bolja ergonomija pokretanja prisutnost na marketu izbjegava se dupli razvoj istih funkcionalnosti u web i native mobile obliku (barem duplo) manji troškovi razvoja manji potrebni know-how moguće je napraviti native wrappere za više platformi, iskoristive za više web aplikacija mogu se iskoristiti native funkcionalnosti uređaja može se iskoristiti snagu HTMLa(5), JavaScripta, CSSa ZA HIBRIDNE APLIKACIJE: POSLOVNE WEB APLIKACIJE | info@evolva.hr | www.evolva.hr22 | 13.05.2014. može se iskoristiti snagu HTMLa(5), JavaScripta, CSSa mogući offline deployment Java web aplikacija na Androidu PROTIV: performanse ergonomske prilagodbe / responsive design drag'n'drop doubleclick treba napisati native wrapper za offline aplikacije staviti u pogon (svoj/3rd party) Android servlet server