SlideShare a Scribd company logo
Web technologies for
desktop development

Darko Kukovec
@DarkoKukovec
Hybrid apps
● Web technologies + native wrapper
● Mobile hybrid apps
–
–

PhoneGap
Custom

● Desktop
Why hybrid
desktop
applications?
Multi-platform development

•
•
•
•

Java
.NET + mono
QT
Hybrid app
Wrappers
Adobe Air

•
•
•
•

Slow
Limited developer tools
HTML5 + ActionScript
Distribution: Executable file
Qt

•
•

Custom wrapper
HTML5 + native code
–
–
–

●

C++
Python
JavaScript

Distribution: Executable file
Chrome Apps
● HTML5 + Chrome APIs
–

50+ APIs

● Distribution: Chrome Web Store
app.js

•
•
•
●

webkit + node.js
Slow development
HTML5 + node.js
Distribution: Executable file
node-webkit
● Chromium + node.js
● Fast development (Intel)
–
–

Chromium 30
node.js 0.10.18

● HTML5 + node.js
●
Distribution: Executable file
node-webkit

Getting started
Hello world!

•

What is needed
–
–
–

node-webkit
manifest
HTML, JS
Running & testing
● running
–
–

nw is in the Terminal path
nw .

● testing
–
–

Chromedriver
Selenium
Debugging
●
●
●
●

Chrome Developer Tools
DevTools jail
remote debugging
Sublime Text 2 console
Packaging & distribution
● package.nw or package.json in the same
folder as the node-webkit executable
● Packaging into the executable file
–

–

Windows and Linux
●
Make the node-webkit package
●
Windows: copy /b nw.exe+app.nw app.exe
●
Linux: cat /usr/bin/nw app.nw > app && chmod +x app
OS X
●
Copy the app into the Contents/Resources folder
of the node-webkit app
Native elements
● file dialogs
–

Files and folders

● Opening URLs in the default browser
● Opening files in the default app or in the file
manager
● menu bar / status bar
● Clipboard access
● kiosk mode
Tech stuff
Node.js changes
● global → window
● Chromium console instead of node.js
console
● conflicts
–

–

node.js require and require.js
●
Solution: rename window.require befor loading
the require.js
node.js crypto and Chromium crypto
Node.js modules
● builtin
–

require

● JavaScript
–
–

Local install
node_modules

● C/C++
–
–
–

nw-gyp
Platform dependent
Node-webkit version dependent
DOM changes
● iframe
–
–
–

Disabled security features
Enabled node.js
Developer Tools
Code protection
● v8 snapshot
–
–
–
–

Can hide a part (tens of KB) of the code into a binary
file
Platform dependent
Little slower than the regular code
Loaded before the regular code
Who uses
node-webkit

And what interesting features
Who uses node-webkit
● Infinum :)
–
–

–

3 projects (Windows and OSX)
Crypto
●
about 50x faster than Adobe Air
Optical media access
●
Detection and reading
Who uses node-webkit
● Gifrocket
–

Creating gif animations from videos

● Ambiance
–

code editor with modules (npm)

● Arduinoscope
–
–

oscilloscope for Arduino
Hardware access

● Everytime
–
–

video bookmarking
Communicates with the VLC player
What can be done?
● Node.js + Chromium
Thank you for your attention

More Related Content

What's hot (20)

KEY
Getting Started with MongoDB and Node.js
Grant Goodale
 
PDF
Require js + backbone, bower and grunt
Joe Fleming
 
PDF
Continuous Integration for front-end JavaScript
Lars Thorup
 
PDF
Web of Technologies
dynamis
 
PDF
Windows azure and linux
Andrey Kucherenko
 
PPTX
JS digest. February 2017
ElifTech
 
PPTX
Windows Azure loves OSS
Kazumi Hirose
 
PPT
Node.js Basics
TheCreativedev Blog
 
PDF
Nodejs presentation
Arvind Devaraj
 
PDF
Production Ready Javascript With Grunt
XB Software, Ltd.
 
PDF
Node js实践
jay li
 
PDF
Building a REST API with Node.js and MongoDB
VivochaLabs
 
PDF
Preprocessor Workflow with Grunt
Vlad Filippov
 
PDF
Groovy a Scripting Language for Java
Charles Anderson
 
PPTX
Grunt to automate JS build
Tejaswita Takawale
 
PDF
Node.js - Introduction and role in Frontend Development
Julián David Duque
 
KEY
Scripting with NodeJS
Ben Pearson
 
PDF
NodeJS
Predhin Sapru
 
PDF
GruntJS + Wordpress
Leonardo Balter
 
PDF
Deep dive-oz
Li Jiansheng
 
Getting Started with MongoDB and Node.js
Grant Goodale
 
Require js + backbone, bower and grunt
Joe Fleming
 
Continuous Integration for front-end JavaScript
Lars Thorup
 
Web of Technologies
dynamis
 
Windows azure and linux
Andrey Kucherenko
 
JS digest. February 2017
ElifTech
 
Windows Azure loves OSS
Kazumi Hirose
 
Node.js Basics
TheCreativedev Blog
 
Nodejs presentation
Arvind Devaraj
 
Production Ready Javascript With Grunt
XB Software, Ltd.
 
Node js实践
jay li
 
Building a REST API with Node.js and MongoDB
VivochaLabs
 
Preprocessor Workflow with Grunt
Vlad Filippov
 
Groovy a Scripting Language for Java
Charles Anderson
 
Grunt to automate JS build
Tejaswita Takawale
 
Node.js - Introduction and role in Frontend Development
Julián David Duque
 
Scripting with NodeJS
Ben Pearson
 
GruntJS + Wordpress
Leonardo Balter
 
Deep dive-oz
Li Jiansheng
 

Viewers also liked (7)

PDF
Multiplatform hybrid development
Darko Kukovec
 
PDF
Web technologies for desktop development @ berlinjs apps
Darko Kukovec
 
PDF
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
PDF
Web tehnologije u desktop developmentu
Darko Kukovec
 
PDF
WebApp #3 : API
Jean Michel
 
PDF
Making react part of something greater
Darko Kukovec
 
PDF
The Outcome Economy
Helge Tennø
 
Multiplatform hybrid development
Darko Kukovec
 
Web technologies for desktop development @ berlinjs apps
Darko Kukovec
 
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
Web tehnologije u desktop developmentu
Darko Kukovec
 
WebApp #3 : API
Jean Michel
 
Making react part of something greater
Darko Kukovec
 
The Outcome Economy
Helge Tennø
 
Ad

Similar to Web technologies for desktop development (20)

PDF
Desktop apps with node webkit
Paul Jensen
 
PDF
Desarrollo de apps multiplataforma con tecnologías web
Software Guru
 
PDF
Sg conference multiplatform_apps_adam_stanley
n_adam_stanley
 
PPTX
JavaScript on the Desktop
Domenic Denicola
 
PPTX
Mobile Web Apps and the Intel® XDK
Intel® Software
 
PPTX
Mobile Web Apps
Athhar Ahamed
 
PDF
Amsterdam.js talk: node webkit
Fabian Jakobs
 
PPTX
NWJS. Web on desktop
Aigars Zeiza
 
PPTX
Web summit.pptx
171SagnikRoy
 
PDF
HTML5 Technical Executive Summary
Gilad Khen
 
ODP
Mobileweb
Daniel Desira
 
KEY
20120802 timisoara
Richard Rodger
 
PDF
HTML5 Can't Do That
Nathan Smith
 
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
PDF
Modern web applications
Andrea Tino
 
ODP
Riereta Node.js session 3 (with notes)
Tekno Paul
 
PDF
Meetup. Technologies Intro for Non-Tech People
IT Arena
 
PDF
Node.js Web Development .pdf
Abanti Aazmin
 
PPTX
Ten years later
Cristian Vat
 
PPTX
It ppt.pptx
GurupreetSinghArora1
 
Desktop apps with node webkit
Paul Jensen
 
Desarrollo de apps multiplataforma con tecnologías web
Software Guru
 
Sg conference multiplatform_apps_adam_stanley
n_adam_stanley
 
JavaScript on the Desktop
Domenic Denicola
 
Mobile Web Apps and the Intel® XDK
Intel® Software
 
Mobile Web Apps
Athhar Ahamed
 
Amsterdam.js talk: node webkit
Fabian Jakobs
 
NWJS. Web on desktop
Aigars Zeiza
 
Web summit.pptx
171SagnikRoy
 
HTML5 Technical Executive Summary
Gilad Khen
 
Mobileweb
Daniel Desira
 
20120802 timisoara
Richard Rodger
 
HTML5 Can't Do That
Nathan Smith
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
Modern web applications
Andrea Tino
 
Riereta Node.js session 3 (with notes)
Tekno Paul
 
Meetup. Technologies Intro for Non-Tech People
IT Arena
 
Node.js Web Development .pdf
Abanti Aazmin
 
Ten years later
Cristian Vat
 
Ad

Recently uploaded (20)

PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
July Patch Tuesday
Ivanti
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 

Web technologies for desktop development