ampliando suas fronteiras com node-webkit
DESCRIPTION
Uma abordagem conceitual e prática do que é o runtime escrito em nodejs mais badalado do momento: o node-webkit. Irei apresentar formas de se iniciar o desenvolvimento com a ferramenta e demonstrações práticas com uma aplicação simples escrita nesse casamento incrível do nodejs e do webkit. Uma palestra que sem dúvidas amplia e muito as fronteiras de qualquer participante interessado.TRANSCRIPT
![Page 1: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/1.jpg)
node-webkit
![Page 2: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/2.jpg)
Meu nome é Beto Muniz
betomuniz.com
Sou de Minas Gerais e atualmente trabalho na Questrade pela Augix Outsourcing
![Page 3: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/3.jpg)
Ampliando suas fronteiras com node-webkit
![Page 4: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/4.jpg)
Mas que é node-webkit?
![Page 5: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/5.jpg)
node-webkit é um runtime baseado na união do Chromium e do NodeJS, que teve seu
código aberto em 2007 e é mantido pela Intel.
github.com/rogerwang/node-webkit
![Page 6: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/6.jpg)
Mas...como assim? Runtime? Chromium?
![Page 7: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/7.jpg)
Isso basicamente é a integração de qualquer funcionalidade do nodejs dentro do webkit,
que por sua vez é uma web browser engine de código aberto.
![Page 8: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/8.jpg)
Mas cara...isso ainda não foi muito claro...
![Page 9: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/9.jpg)
Isso quer dizer que qualquer funcionalidade do
NodeJS será oferecida para utilização e possibilitará
a criação de forma simples de Desktop WebApps
robustos, semelhante ao que acontece ao
desenvolver com Phonegap no mundo mobile.
![Page 10: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/10.jpg)
Interessante...E o que esse runtime suporta?
![Page 11: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/11.jpg)
#1 Módulos NodeJS Nativos
#2 Módulos NodeJS de Terceiros
#3 Bibliotecas e Frameworks Front-end
#4 Manipulação no DOM
#5 Praticamente todas as implementações atuais do HTML5
#6 Aceleração nativa de GPU
#7 Acesso a Video e Audio
#8 Plugins instalados no computador
Exemplo: Aplicativos que utilizam flash de alguma forma.
#9 Suporte a bases de dados para persistência
Web SQL Database, IndexedDB, PouchDB, EJDB, NeDB
![Page 12: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/12.jpg)
Mas onde eu rodo/desenvolvo?
![Page 13: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/13.jpg)
node-webkit possui uma toolkit CLI que possibilita trabalhar em ambiente Windows,
Linux e MacOS sem muitos problemas.
![Page 14: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/14.jpg)
Mas porque eu usaria?
![Page 15: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/15.jpg)
#1 Fácil implementação
#2 Fácil aprendizado
#3 API para acesso a GUI do sistema
#4 Compila a aplicação para Windows, MacOS e Linux
#5 Inspect Element
#6 Escreva a aplicação uma vez*
![Page 16: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/16.jpg)
E a lista toda de features não acabou...
![Page 17: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/17.jpg)
#1 Frameless window
#2 Utiliza o NPM
#3 Documentação muito bem feita
#4 Kiosk mode
#5 Media APIs
#6 HTML5 Support
Drag & Drop, Data persistent, WebGL, WebRTC, CSS3, Web Storage, Application Cache, etc.
![Page 18: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/18.jpg)
E quem está usando?
![Page 19: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/19.jpg)
Popcorn Time
![Page 20: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/20.jpg)
Koala App
![Page 21: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/21.jpg)
Codiqa
![Page 22: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/22.jpg)
Legal!!! Mas como instalar?
![Page 23: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/23.jpg)
github.com/mllrsohn/node-webkit-builder
[sudo] npm install node-webkit-builder -g
![Page 24: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/24.jpg)
E como iniciar uma aplicação?
![Page 25: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/25.jpg)
Estrutura mínima para uma aplicação com node-webkit
index.html
package.json
![Page 26: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/26.jpg)
![Page 27: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/27.jpg)
package.json
![Page 28: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/28.jpg)
Ferramentas
![Page 29: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/29.jpg)
Slush Generator com node-webkit, Express e NeDB
slush-nodewebkit-express-nedb
npmjs.org/package/slush-nodewebkit-express-nedb
Slush Generator com node-webkit, Express e IndexedDB
slush-nodewebkit-indexeddb
npmjs.org/package/slush-nodewebkit-indexeddb
![Page 30: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/30.jpg)
Referência
![Page 31: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/31.jpg)
Wiki:
github.com/rogerwang/node-webkit/wiki
![Page 32: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/32.jpg)
And now...
![Page 33: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/33.jpg)
Repositório das Demonstrações:
github.com/obetomuniz/tdc-demos
![Page 34: Ampliando suas fronteiras com Node-Webkit](https://reader033.vdocuments.com.br/reader033/viewer/2022050905/54c335f54a79595c528b459d/html5/thumbnails/34.jpg)
E isso é tudo pessoal...
betomuniz.com
@obetomuniz
github.com/obetomuniz
speakerdeck.com/obetomuniz