SlideShare a Scribd company logo
1 of 16
Download to read offline
Coding for Desktop and Mobile
with HTML5 and Java EE 7
Petr Jiricka
SW Development Manager, Oracle
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3
Program Agenda
 Architecture of Java EE 7/HTML5 apps
 Desktop and Mobile
 Hybrid applications with Cordova
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4
Let’s look at a sample app
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5
Architecture patterns
■ “Thin server” - JSON over HTTP
■ WebSocket - bidirectional client/server communication
– Extension of HTTP, HTTP communication can be upgraded to WebSocket
■ Client-side MVVM frameworks
■ Responsive web design
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6
Java EE 7 features for HTML5 frontends
■ JAX-RS 2.0
– Standard API for Filters and Interceptors, Asynchronous processing,
Hypermedia, Jersey implementation has API for Server-Sent Events
■ WebSocket 1.0
– Server-side implementation of the WebSocket standard
■ JSON API 1.0
– Standard API for JSON, fine-grained control over JSON output
■ Servlet 3.1
– Protocol upgrade to WebSocket, NIO (new/non-blocking IO)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7
HTML5 trends and techniques
■ MVVM frameworks, Single-page apps
– Data binding, controller architecture, templating
■ JavaScript WebSocket API
– Supported by modern browsers (WARNING:
not the Android browser)
■ Responsive web design
– Device-specific styling based on device
parameters (e.g. width) using media queries
■ Hybrid applications
– Installable apps on mobile devices using
HTML5, tight integration with the device
–
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8
Hybrid mobile applications with Cordova
■ Installed from the App store
■ Implemented using HTML5
■ Cross-platform
■ JavaScript APIs for device
features
■ http://cordova.apache.org/
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9
Extending the sample app
■ Push notifications
– So the device gets an alert about the opponent’s move even if the app is
not running
■ Client-side
– Cordova plugin: https://github.com/phonegap-build/PushPlugin
– Send and receive JSON data
■ Server-side
– Send and receive JSON data
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10
Extending the Chess app with push notifications
■ Cordova plugin: https://github.com/phonegap-build/PushPlugin
■ How it works
1. Client app registers with the Android/iOS notification service to obtain “id”
2. Client app sends its “id” to the server (JSON)
3. Server receives this id (JAX-RS) and stores it
4. When the server has an update, it sends it to Android/iOS notification
service (HTTP, JSON)
5. Device receives notification from the Android/iOS notification service
6. The notification is routed to the Cordova Push plugin
7. Your client application code is called to handle the notification
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11
NetBeans 7.4 Features for Java EE 7
■ GlassFish 4
■ WebSocket
■ JAX-RS 2.0
■ JSON API
■ ...and many more
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12
NetBeans 7.4 Features for HTML5
■ JavaScript, HTML, CSS editing, including jQuery, AngularJS, Knockout
■ DOM inspector and Visual CSS editor
■ JavaScript debugging
■ iOS and Android devices and emulators
■ Cordova application development (with iOS and Android)
■ Tight Chrome integration, embedded WebKit browser
■ SASS/LESS editing and on-the-fly compilation
■ Network Monitor
■ All this with HTML5 project type, or with Java Web apps (Maven or Ant)
■ ...and more
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13
About NetBeans 7.4
■ Advanced HTML5 support first introduced in NetBeans 7.3
■ Java EE 7 support introduced in NetBeans 7.3.1
■ NetBeans 7.4 brings it all together
– Release Candidate 1 available now
– Final release expected in October 2013
– https://netbeans.org/community/releases/74/
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14
Summary
■ Java EE 7 was made for HTML5 frontends
■ NetBeans IDE supports both Java EE 7 and HTML5
– with desktop browsers and mobile devices
– including hybrid apps with Cordova
– Release Candidate available now, final release in October
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15
Graphic Section Divider
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16

More Related Content

What's hot

Gsm library for proteus the engineering projects
Gsm library for proteus   the engineering projectsGsm library for proteus   the engineering projects
Gsm library for proteus the engineering projectsZerihunDemere
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE abile technologies
 
PixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP DevelopersPixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP DevelopersPixel Crayons
 
Continuous Security: Zap security bugs now Codemotion-2015
Continuous Security: Zap security bugs now Codemotion-2015Continuous Security: Zap security bugs now Codemotion-2015
Continuous Security: Zap security bugs now Codemotion-2015Carlo Bonamico
 
Basic Vaadin knowledge
Basic Vaadin knowledgeBasic Vaadin knowledge
Basic Vaadin knowledgeJeroen Benats
 
CSC 404 | Final Presentation
CSC 404 | Final PresentationCSC 404 | Final Presentation
CSC 404 | Final PresentationFrances Coronel
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Futureelliando dias
 
Basic Java script handouts for students
Basic Java script handouts for students Basic Java script handouts for students
Basic Java script handouts for students shafiq sangi
 
Apps multiplataforma com HTML5
Apps multiplataforma com HTML5Apps multiplataforma com HTML5
Apps multiplataforma com HTML5Jomar Silva
 
Desenvolvimento de Aplicativo Multiplataforma com Intel® XDK
Desenvolvimento de Aplicativo Multiplataforma com  Intel® XDKDesenvolvimento de Aplicativo Multiplataforma com  Intel® XDK
Desenvolvimento de Aplicativo Multiplataforma com Intel® XDKEvandro Paes
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07Enough Software
 
Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5
Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5
Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5Intel Software Brasil
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDEMuhammad Ghazali
 
Complete guide of python development
Complete guide of python developmentComplete guide of python development
Complete guide of python developmentNexSoftsys
 
Cisco Spark the Industry Challenge
Cisco Spark the Industry ChallengeCisco Spark the Industry Challenge
Cisco Spark the Industry ChallengeStefanie Maccarone
 
Mobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery MobileMobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery MobilePeter Hecker
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaPedro J. Molina
 

What's hot (18)

Gsm library for proteus the engineering projects
Gsm library for proteus   the engineering projectsGsm library for proteus   the engineering projects
Gsm library for proteus the engineering projects
 
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
JAVA J2EE Training in Coimbatore - Fundamentals of Java J2EE
 
PixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP DevelopersPixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP Developers
 
Continuous Security: Zap security bugs now Codemotion-2015
Continuous Security: Zap security bugs now Codemotion-2015Continuous Security: Zap security bugs now Codemotion-2015
Continuous Security: Zap security bugs now Codemotion-2015
 
Basic Vaadin knowledge
Basic Vaadin knowledgeBasic Vaadin knowledge
Basic Vaadin knowledge
 
CSC 404 | Final Presentation
CSC 404 | Final PresentationCSC 404 | Final Presentation
CSC 404 | Final Presentation
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
 
Django Frame Work
Django Frame WorkDjango Frame Work
Django Frame Work
 
Basic Java script handouts for students
Basic Java script handouts for students Basic Java script handouts for students
Basic Java script handouts for students
 
Apps multiplataforma com HTML5
Apps multiplataforma com HTML5Apps multiplataforma com HTML5
Apps multiplataforma com HTML5
 
Desenvolvimento de Aplicativo Multiplataforma com Intel® XDK
Desenvolvimento de Aplicativo Multiplataforma com  Intel® XDKDesenvolvimento de Aplicativo Multiplataforma com  Intel® XDK
Desenvolvimento de Aplicativo Multiplataforma com Intel® XDK
 
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
Ugly truths about html5   moosecon - robert virkus - 2013-03-07Ugly truths about html5   moosecon - robert virkus - 2013-03-07
Ugly truths about html5 moosecon - robert virkus - 2013-03-07
 
Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5
Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5
Desenvolvimento Apps multiplataforma para dispositivos móveis usando HTML5
 
Introduction To NetBeans IDE
Introduction To NetBeans IDEIntroduction To NetBeans IDE
Introduction To NetBeans IDE
 
Complete guide of python development
Complete guide of python developmentComplete guide of python development
Complete guide of python development
 
Cisco Spark the Industry Challenge
Cisco Spark the Industry ChallengeCisco Spark the Industry Challenge
Cisco Spark the Industry Challenge
 
Mobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery MobileMobile Websites und (Web)-Apps mit jQuery Mobile
Mobile Websites und (Web)-Apps mit jQuery Mobile
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
 

Similar to Coding for Desktop and Mobile with HTML5 and Java EE 7

Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Alen Leit
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
How Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentHow Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentBruno Borges
 
CNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New FeaturesCNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New FeaturesMayank Srivastava
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
 
Hybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JETHybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JETRohit Dhamija
 
Web Application Development
Web Application DevelopmentWeb Application Development
Web Application DevelopmentSanjay Kumar
 
Phonegap android
Phonegap androidPhonegap android
Phonegap androidumesh patil
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
 
[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration[English version] JavaFX and Web Integration
[English version] JavaFX and Web IntegrationKazuchika Sekiya
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum SlidesAbhishek Gupta
 

Similar to Coding for Desktop and Mobile with HTML5 and Java EE 7 (20)

Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
 
Ramji
RamjiRamji
Ramji
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
How Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentHow Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web Development
 
Resume
ResumeResume
Resume
 
CNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New FeaturesCNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New Features
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Adf mobile overview
Adf mobile overviewAdf mobile overview
Adf mobile overview
 
Hybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JETHybrid mobile development with Oracle JET
Hybrid mobile development with Oracle JET
 
Web Application Development
Web Application DevelopmentWeb Application Development
Web Application Development
 
Phonegap android
Phonegap androidPhonegap android
Phonegap android
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration[English version] JavaFX and Web Integration
[English version] JavaFX and Web Integration
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum Slides
 
Notes
NotesNotes
Notes
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Coding for Desktop and Mobile with HTML5 and Java EE 7

  • 1. Coding for Desktop and Mobile with HTML5 and Java EE 7 Petr Jiricka SW Development Manager, Oracle
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3 Program Agenda  Architecture of Java EE 7/HTML5 apps  Desktop and Mobile  Hybrid applications with Cordova
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4 Let’s look at a sample app
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5 Architecture patterns ■ “Thin server” - JSON over HTTP ■ WebSocket - bidirectional client/server communication – Extension of HTTP, HTTP communication can be upgraded to WebSocket ■ Client-side MVVM frameworks ■ Responsive web design
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6 Java EE 7 features for HTML5 frontends ■ JAX-RS 2.0 – Standard API for Filters and Interceptors, Asynchronous processing, Hypermedia, Jersey implementation has API for Server-Sent Events ■ WebSocket 1.0 – Server-side implementation of the WebSocket standard ■ JSON API 1.0 – Standard API for JSON, fine-grained control over JSON output ■ Servlet 3.1 – Protocol upgrade to WebSocket, NIO (new/non-blocking IO)
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7 HTML5 trends and techniques ■ MVVM frameworks, Single-page apps – Data binding, controller architecture, templating ■ JavaScript WebSocket API – Supported by modern browsers (WARNING: not the Android browser) ■ Responsive web design – Device-specific styling based on device parameters (e.g. width) using media queries ■ Hybrid applications – Installable apps on mobile devices using HTML5, tight integration with the device –
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8 Hybrid mobile applications with Cordova ■ Installed from the App store ■ Implemented using HTML5 ■ Cross-platform ■ JavaScript APIs for device features ■ http://cordova.apache.org/
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9 Extending the sample app ■ Push notifications – So the device gets an alert about the opponent’s move even if the app is not running ■ Client-side – Cordova plugin: https://github.com/phonegap-build/PushPlugin – Send and receive JSON data ■ Server-side – Send and receive JSON data
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10 Extending the Chess app with push notifications ■ Cordova plugin: https://github.com/phonegap-build/PushPlugin ■ How it works 1. Client app registers with the Android/iOS notification service to obtain “id” 2. Client app sends its “id” to the server (JSON) 3. Server receives this id (JAX-RS) and stores it 4. When the server has an update, it sends it to Android/iOS notification service (HTTP, JSON) 5. Device receives notification from the Android/iOS notification service 6. The notification is routed to the Cordova Push plugin 7. Your client application code is called to handle the notification
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11 NetBeans 7.4 Features for Java EE 7 ■ GlassFish 4 ■ WebSocket ■ JAX-RS 2.0 ■ JSON API ■ ...and many more
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12 NetBeans 7.4 Features for HTML5 ■ JavaScript, HTML, CSS editing, including jQuery, AngularJS, Knockout ■ DOM inspector and Visual CSS editor ■ JavaScript debugging ■ iOS and Android devices and emulators ■ Cordova application development (with iOS and Android) ■ Tight Chrome integration, embedded WebKit browser ■ SASS/LESS editing and on-the-fly compilation ■ Network Monitor ■ All this with HTML5 project type, or with Java Web apps (Maven or Ant) ■ ...and more
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13 About NetBeans 7.4 ■ Advanced HTML5 support first introduced in NetBeans 7.3 ■ Java EE 7 support introduced in NetBeans 7.3.1 ■ NetBeans 7.4 brings it all together – Release Candidate 1 available now – Final release expected in October 2013 – https://netbeans.org/community/releases/74/
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14 Summary ■ Java EE 7 was made for HTML5 frontends ■ NetBeans IDE supports both Java EE 7 and HTML5 – with desktop browsers and mobile devices – including hybrid apps with Cordova – Release Candidate available now, final release in October
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15 Graphic Section Divider
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16