Web tehnologije u desktop developmentu

Darko Kukovec
Darko KukovecJavaScript Developer at Infinum
Web tehnologije
u desktop
developmentu

Darko Kukovec
@DarkoKukovec
Hibridne aplikacije
● Web tehnologije + nativni wrapper
● Mobilne hibridne aplikacije
–
–

PhoneGap
Custom

● Desktop
Zašto hibridne
desktop aplikacije?
Razvoj za više platformi

•
•
•
•

Java
.NET + mono
QT
Hibridne aplikacije
Wrapperi
Adobe Air

•
•
•
•

Spor
Ograničeni developer toolsi
HTML5 + ActionScript
Distribucija: Izvršna datoteka
Qt

•
•

custom wrapper
HTML5 + nativni kod
–
–

•

–

C++
Python
JavaScript

Distribucija: Izvršna datoteka
Chrome Apps
● HTML5 + Chrome APIs
–

50+ API-ja

● Distribucija: Chrome Web Store
app.js

•
•
•
•

webkit + node.js
spori razvoj
HTML5 + node.js
Distribucija: izvršna datoteka
node-webkit
● Chromium + node.js
● brzi razvoj (Intel)
–
–

Chromium 30
node.js 0.10.18

● HTML5 + node.js
● Distribucija: izvršna datoteka
node-webkit

Getting started
Hello world!

•

Što je potrebno za izradu aplikacije
–
–
–

node-webkit
manifest
HTML, JS
Pokretanje i testiranje
● pokretanje
–
–

nw je u pathu
nw .

● testiranje
–
–

Chromedriver
Selenium
Debuggiranje
●
●
●
●

Chrome Developer Tools
DevTools jail
remote debugging
Sublime Text 2 konzola
Pakiranje i distribucija
● package.nw ili package.json u istoj mapi kao
i node-webkit izvršna datoteka
● pakiranje u izvršnu datoteku
–

–

Windows i Linux
●
napraviti node-webkit paket
●
Windows: copy /b nw.exe+app.nw app.exe
●
Linux: cat /usr/bin/nw app.nw > app && chmod +x app
OS X
●
kopirati aplikaciju u Contents/Resources mapu
unutar node-webkit aplikacije
Nativni elementi
● file dialozi
–

datoteke i mape

● otvaranje URL-a u defaultnom browseru
● otvaranje datoteke u defaultnoj aplikaciji ili u
file manageru
● menu bar / status bar
● pristup clipboardu
● kiosk mode
Tech stuff
Node.js promjene
● global → window
● Chromium konzola umjesto node.js konzole
● konflikti
–

–

node.js require i require.js
●
Rješenje: preimenovati window.require prije
učitavanja require.js
node.js crypto i blink crypto
Node.js moduli
● defaultni
–

require

● JavaScript
–
–

instalirati lokalno
node_modules

● C/C++
–
–
–

nw-gyp
ovisi o platformi
ovisi o verziji node-webkita
DOM promjene
● iframe
–
–
–

onemogućene sigurnosne značajke
omogućen node.js
Developer Tools
Zaštita koda
● v8 snapshot
–
–
–
–

može sakriti dio (nekoliko desetaka kB) koda u
binarnu datoteku
radi se za svaku platformu posebno
malo sporiji od običnog koda
učitava se prije običnog koda
Tko koristi
node-webkit

I koje njegove mogućnosti koristi
Tko koristi node-webkit
● Infinum :)
–
–

–

3 projekta (Windows i OSX)
Crypto
●
oko 50x brži od Adobe Air
Pristup optičkim medijima
●
detekcija i čitanje
Tko koristi node-webkit
● Gifrocket
–

kreiranje gif animacija iz videa

● Ambiance
–

code editor s modulima (npm)

● Arduinoscope
–
–

osciloskop za Arduino
pristup hardwareu

● Everytime
–
–

video bookmarking
komunicira sa VLC playerom
Što se može napraviti?
● Node.js + Chromium
Hvala na pažnji
1 of 26

Recommended

Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre... by
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...
Razvoj aplikacija za Google Chromecast - Branimir Conjar, Matija Kovačić, Kre...Five
1K views16 slides
FSEC2011-Dinko by
FSEC2011-DinkoFSEC2011-Dinko
FSEC2011-DinkoDinko Korunic
78 views37 slides
FSEC2011: Reverzni inzenjering Android aplikacija by
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaDinko Korunic
255 views37 slides
WebUG - Hibridne mobilne aplikacije by
WebUG - Hibridne mobilne aplikacijeWebUG - Hibridne mobilne aplikacije
WebUG - Hibridne mobilne aplikacijeMatija Šmalcelj
527 views40 slides
Goran Aleksić - HORA games - Development automatizacija by
Goran Aleksić - HORA games - Development automatizacijaGoran Aleksić - HORA games - Development automatizacija
Goran Aleksić - HORA games - Development automatizacijaSerbian Games Association
161 views10 slides

More Related Content

Similar to Web tehnologije u desktop developmentu

Zašto nam treba PaaS u Srcu? by
Zašto nam treba PaaS u Srcu?Zašto nam treba PaaS u Srcu?
Zašto nam treba PaaS u Srcu?Denis Kranjčec
31 views27 slides
Vert.x - Mihovil Rister, Javantura by
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, JavanturaFive
506 views30 slides
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije by
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeMihovil Rister
412 views30 slides
Heron MC - JavaScript for sysadmins and lazy developers by
Heron MC - JavaScript for sysadmins and lazy developersHeron MC - JavaScript for sysadmins and lazy developers
Heron MC - JavaScript for sysadmins and lazy developersDavor Racić
361 views21 slides

Similar to Web tehnologije u desktop developmentu(20)

Vert.x - Mihovil Rister, Javantura by Five
Vert.x - Mihovil Rister, JavanturaVert.x - Mihovil Rister, Javantura
Vert.x - Mihovil Rister, Javantura
Five506 views
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije by Mihovil Rister
Vert.x - asinkroni skalabilni i poliglotni framework nove generacijeVert.x - asinkroni skalabilni i poliglotni framework nove generacije
Vert.x - asinkroni skalabilni i poliglotni framework nove generacije
Mihovil Rister412 views
Heron MC - JavaScript for sysadmins and lazy developers by Davor Racić
Heron MC - JavaScript for sysadmins and lazy developersHeron MC - JavaScript for sysadmins and lazy developers
Heron MC - JavaScript for sysadmins and lazy developers
Davor Racić361 views
Ivan Guštin - Iskustva u optimizaciji IT Sustava primjenom Opensource rjesenj... by IT Showoff
Ivan Guštin - Iskustva u optimizaciji IT Sustava primjenom Opensource rjesenj...Ivan Guštin - Iskustva u optimizaciji IT Sustava primjenom Opensource rjesenj...
Ivan Guštin - Iskustva u optimizaciji IT Sustava primjenom Opensource rjesenj...
IT Showoff1.6K views
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. by Stipe Predanic
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
Stipe Predanic230 views
Razvoj Softvera Za Android Os by Viktor Brešan
Razvoj Softvera Za Android OsRazvoj Softvera Za Android Os
Razvoj Softvera Za Android Os
Viktor Brešan430 views
Izgradnja OS-a uporabom mikrojezgre by Senko Rašić
Izgradnja OS-a uporabom mikrojezgreIzgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgre
Senko Rašić215 views
WinDays 13 - Internet Explorer 10 - san koji je postao java by Matija Šmalcelj
WinDays 13 - Internet Explorer 10 - san koji je postao javaWinDays 13 - Internet Explorer 10 - san koji je postao java
WinDays 13 - Internet Explorer 10 - san koji je postao java
Matija Šmalcelj340 views
Razvoj Air Mobilnih Aplikacija by Ivan Ilijasic
Razvoj Air Mobilnih AplikacijaRazvoj Air Mobilnih Aplikacija
Razvoj Air Mobilnih Aplikacija
Ivan Ilijasic373 views
MMS Video 2 by jbozic
MMS Video 2MMS Video 2
MMS Video 2
jbozic446 views
Panel diskusija - usporedba Web frameworka (IT Showoff) by IT Showoff
Panel diskusija - usporedba Web frameworka (IT Showoff)Panel diskusija - usporedba Web frameworka (IT Showoff)
Panel diskusija - usporedba Web frameworka (IT Showoff)
IT Showoff1K views
Big Brother Hrvatska 2007 - Case Study - BizBuzz by webburza
Big Brother Hrvatska 2007 - Case Study - BizBuzzBig Brother Hrvatska 2007 - Case Study - BizBuzz
Big Brother Hrvatska 2007 - Case Study - BizBuzz
webburza390 views
JavaCro14: Pakiranje i instalacija JEE rješenja by Miroslav Resetar
JavaCro14: Pakiranje i instalacija JEE rješenjaJavaCro14: Pakiranje i instalacija JEE rješenja
JavaCro14: Pakiranje i instalacija JEE rješenja
Miroslav Resetar395 views

Web tehnologije u desktop developmentu