SlideShare a Scribd company logo
Java Restart with WebFX
A new web and a new web browser
Nikita Lipsky (twitter: @pjBooms)
Excelsior
Agenda
• Client side: Web vs. Native clients
• WebFX live demo
• WebFX and Java ReStart technical highlights
• FAQ
– WebFX vs. Java applets
– Java ReStart vs. Java Web Start
– WebFX and Java ReStart vs. RDP
– Security
• Future Development
• Q&A
Java Restart with WebFX
Java Restart with WebFX
Java Restart with WebFX
Java Restart with WebFX
Client side today
• Web
• Mobile
• Desktop
Three different worlds
What’s Good with Web
Web Advantages
1. No client side installation
Web Advantages
1. No client side installation
2. Built-in free “auto updates“
Web Advantages
1. No client side installation
2. Built-in free “auto updates“
3. Lazy partial downloading
Web Advantages
1. No client side installation
2. Built-in free “auto updates“
3. Lazy partial downloading
4. Simple expressive means: HTML +
JavaScript
Web Advantages
1. No client side installation
2. Built-in free “auto updates“
3. Lazy partial downloading
4. Simple expressive means: HTML + JavaScript
5. Runs anywhere (where browser
exists)
What’s Wrong with Web
Browser Hell
Irresponsive UI
JavaScript Is Ineffective
Mobile and Desktop
• Two worlds, same property:
installable native clients
What’s Good with Native Clients
Fast and Responsive
Effective Programming Languages
Look (almost) the same on any PC
• Do not depend on multiple external renderers
What’s Wrong with Native Clients
Segmentation
Large systems weigh too much
Explicit Auto Updates
Summary
We need a system with the advantages of both
worlds and without their disadvantages.
Summary
• No client side installation
Summary
• Runs anywhere (where “browser” exists)
Summary
• The same in all browsers
Summary
• With built-in transparent auto updates
Summary
• With lazy downloading of required parts
Summary
• Simple!
Summary
• With fast responsive expressive UI
Summary
• Written in effective programming languages
Next Big Client Wish list
1. No installation (one click access)
2. Transparent “auto updates“
3. Instant startup (lazy partial downloading)
4. Fast, expressive UI that is the same in all
browsers (written in effective languages)
5. Runs anywhere (where “browser” exists)
Science fiction?
WebFX Project
Bruno Borges
Live Demo!
https://www.youtube.com/watch?v=2LUF7lgpKLg#t=8
WebFX Key Features
• FXML as a new HTML
• Any JVM scripting language can be integrated
with FXML
• Arbitrary Java byte-code downloaded
on demand via Java ReStart
Java ReStart Technical Highlights
• Client downloads classes/resources on demand
• App executes in parallel with downloading
(streaming a la YouTube)
• Server collects app downloading profile
• Subsequent clients can prefetch required
classes/resources with a single HTTP request
Result: startup of an application from the web can
be at least as fast as local startup!
Check list
No client side installation
Check list
Runs anywhere (where “browser” exists)
Check list
The same in all browsers
Check list
With built-in transparent auto updates
Check list
With lazy downloading of only required parts
Check list
Simple!
Check list
With fast responsive UI (native UI is allowed)
Check list
In effective programming languages
What’s the Trick?!
• Web with native client look-n-feel
OR
• Native client with dynamics & flexibility
of the Web
Java Applets
• Have not evolved since 1995
• Applets are foreigners in the traditional web
• Applets are not supported by browser vendors
• Applets are monolithic
• No “download-on-demand” out-of-the-box
• Poor startup time as a result
Java Web Start
• Cool idea, but implementation not so cool
• There is lazy jar downloading but no “lazy”
downloading of jar contents
• As a result, applications are monolithic with
poor startup time
• Very unusual for end-user: apps are not
in a browser, but are not native either
• Too many security warnings!
RDP-like Approaches
• Tight and constant communication with
the server provokes lags
• Session context on the server is the whole
program
– Result: poor scalability on the server
Security
Security
• Security is often a social, not technical problem
• Do you feel secure when you run a just-
downloaded native client?
• Are you sure that you can’t get malware when
surfing the Internet?
• I feel secure only when I trust the vendor of an
internet resource
Security
• WebFX reuses Java security model
– At least more secure than C/C++
• Can run on top of HTTPS/SSL, to ensure the
source of the remote content
• Can employ mobile like security:
– an app describes what it needs, an end-user has to
provide access for the app to what it needs
• Application stores as secure place for apps
Future Developments
• Create Java application store
– Start with Java apps hosting for JavaFX community
• Run Java IDEs via Java ReStart (to employ the
hype around cloud-based IDEs)
• WebFX browser as rebrandable standalone
“small” native client.
Conclusion
• Web and native clients have their advantages
in comparison with each other
• It is possible to erase the borders between
web/mobile/desktop
• We can run Java applications from the web as fast
as locally
• So the network is the computer! Finally!
Q&A
Nikita Lipsky
Excelsior
nlipsky@excelsior-usa.com
twitter: @pjBooms
https://github.com/brunoborges/webfx
https://github.com/pjBooms/Java-ReStart

More Related Content

PPT
OWASP WebGoat and PANTERA Web Assessment Studio Project.
PDF
Performance tuning of Websites
PPTX
How to build webapps with tools
PPTX
Progressive Web App
PDF
Build Fail-Proof Tests in Any Browser with Selenium
PPTX
Advanced Appium
PPTX
Laravel Dusk
PPTX
Building a Reddit Clone from the Ground Up
OWASP WebGoat and PANTERA Web Assessment Studio Project.
Performance tuning of Websites
How to build webapps with tools
Progressive Web App
Build Fail-Proof Tests in Any Browser with Selenium
Advanced Appium
Laravel Dusk
Building a Reddit Clone from the Ground Up

What's hot (20)

PPTX
Selenium for Jobseekers
PDF
SeConf_Nov2016_London
PPT
Selenium
PDF
Testing desktop apps with selenium
PPTX
Flask and Paramiko for Python VA
PDF
Bring Order to the Chaos: Take the MVC Plunge
PPTX
WebMatrix
PPTX
Selenium tutorial (1)
PPTX
Selenium tutorial
PPTX
Selenium
PDF
Naked and afraid Offline Mobile
PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
PPTX
Selenium introduction
PPTX
Visual Studio ❤ JavaScript
PDF
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
PPTX
Testing your Single Page Application
PPTX
Helpful Automation Techniques - Selenium Camp 2014
ODP
Introduction to Progressive Web Apps (PWA)
PPTX
Blazor - .NET in the Browser!
Selenium for Jobseekers
SeConf_Nov2016_London
Selenium
Testing desktop apps with selenium
Flask and Paramiko for Python VA
Bring Order to the Chaos: Take the MVC Plunge
WebMatrix
Selenium tutorial (1)
Selenium tutorial
Selenium
Naked and afraid Offline Mobile
Moving From a Selenium Grid to the Cloud - A Real Life Story
Selenium introduction
Visual Studio ❤ JavaScript
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Testing your Single Page Application
Helpful Automation Techniques - Selenium Camp 2014
Introduction to Progressive Web Apps (PWA)
Blazor - .NET in the Browser!
Ad

Similar to Java Restart with WebFX (20)

PPTX
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
PPTX
NCDevCon 2017 - Cross Platform Mobile Apps
PPTX
Introduction to Progressive Web App
PDF
Webapi
KEY
Mobile ECM with JavaScript - JSE 2011
PPTX
Hybrid Mobile Development with Apache Cordova and
PPT
Top 10 web application development frameworks 2016
PDF
Firefox OS Weekend
PDF
Hybrid application development
PPTX
Decoupled Architecture and WordPress
PPTX
Progressive Web Apps
PDF
Apache cordova
PPTX
Les nouveautés ASP.NET 5 avec Visual Studio 2015
ODP
Synapse india reviews on cross plateform mobile apps development
PPTX
Enhanced_Visual_Java_Applet_Presentation.pptx
PDF
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
PDF
Net training in bhubaneswar
PDF
Mobile Hybrid Development with WordPress
PDF
GeneralMobile Hybrid Development with WordPress
PDF
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
NCDevCon 2017 - Cross Platform Mobile Apps
Introduction to Progressive Web App
Webapi
Mobile ECM with JavaScript - JSE 2011
Hybrid Mobile Development with Apache Cordova and
Top 10 web application development frameworks 2016
Firefox OS Weekend
Hybrid application development
Decoupled Architecture and WordPress
Progressive Web Apps
Apache cordova
Les nouveautés ASP.NET 5 avec Visual Studio 2015
Synapse india reviews on cross plateform mobile apps development
Enhanced_Visual_Java_Applet_Presentation.pptx
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Net training in bhubaneswar
Mobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
JS Fest 2018. Тимофей Лавренюк. Делаем веб приложение лучше с помощью совреме...
Ad

More from Nikita Lipsky (20)

PPTX
Escaping The Jar hell with Jigsaw Layers
PDF
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
PPTX
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
PPTX
Java 9 Модули. Почему не OSGi?
PDF
AOT для Java: Мифы и Challenges
PPTX
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
PPTX
Верификация Java байткода: когда, как, а может отключить?
PPTX
Java 8 Support at the JVM Level
PPTX
Ahead-Of-Time Compilation of Java Applications
PPTX
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
PPTX
Поддержка Java 8 в Excelsior JET
PPTX
JVM: краткий курс общей анатомии
PPTX
Клиентская Java вне браузера. Делаем нативные клиенты на Java
PPTX
Delivering Native User Experience In Client Side Java Applications
PDF
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
PPTX
Java Ahead-Of-Time compilation
PDF
Excelsior JET в действии
PDF
Веб 3.0. Есть ли будущее у Java в RIA и Mobile?
PDF
Занимательные истории из жизни технической поддержки JVM
PPTX
Неумолимая близость десктопа, веба и мобайла
Escaping The Jar hell with Jigsaw Layers
JIT Versus AOT: Unity And Conflict of Dynamic and Static Compilers (JavaOne 2...
Java 9 Modules: The Duke Yet Lives That OSGi Shall Depose
Java 9 Модули. Почему не OSGi?
AOT для Java: Мифы и Challenges
JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers
Верификация Java байткода: когда, как, а может отключить?
Java 8 Support at the JVM Level
Ahead-Of-Time Compilation of Java Applications
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
Поддержка Java 8 в Excelsior JET
JVM: краткий курс общей анатомии
Клиентская Java вне браузера. Делаем нативные клиенты на Java
Delivering Native User Experience In Client Side Java Applications
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java Ahead-Of-Time compilation
Excelsior JET в действии
Веб 3.0. Есть ли будущее у Java в RIA и Mobile?
Занимательные истории из жизни технической поддержки JVM
Неумолимая близость десктопа, веба и мобайла

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
medical staffing services at VALiNTRY
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Nekopoi APK 2025 free lastest update
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
assetexplorer- product-overview - presentation
PPTX
L1 - Introduction to python Backend.pptx
PDF
Designing Intelligence for the Shop Floor.pdf
PTS Company Brochure 2025 (1).pdf.......
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
medical staffing services at VALiNTRY
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Nekopoi APK 2025 free lastest update
Softaken Excel to vCard Converter Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 41
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Transform Your Business with a Software ERP System
Digital Systems & Binary Numbers (comprehensive )
Navsoft: AI-Powered Business Solutions & Custom Software Development
assetexplorer- product-overview - presentation
L1 - Introduction to python Backend.pptx
Designing Intelligence for the Shop Floor.pdf

Java Restart with WebFX