Ampliando suas fronteiras com Node-Webkit

34
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 of Ampliando suas fronteiras com Node-Webkit

Page 1: Ampliando suas fronteiras com Node-Webkit

node-webkit

Page 2: Ampliando suas fronteiras com Node-Webkit

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

Ampliando suas fronteiras com node-webkit

Page 4: Ampliando suas fronteiras com Node-Webkit

Mas que é node-webkit?

Page 5: Ampliando suas fronteiras com Node-Webkit

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

Mas...como assim? Runtime? Chromium?

Page 7: Ampliando suas fronteiras com Node-Webkit

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

Mas cara...isso ainda não foi muito claro...

Page 9: Ampliando suas fronteiras com Node-Webkit

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

Interessante...E o que esse runtime suporta?

Page 11: Ampliando suas fronteiras com Node-Webkit

#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

Mas onde eu rodo/desenvolvo?

Page 13: Ampliando suas fronteiras com Node-Webkit

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

Mas porque eu usaria?

Page 15: Ampliando suas fronteiras com Node-Webkit

#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

E a lista toda de features não acabou...

Page 17: Ampliando suas fronteiras com Node-Webkit

#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

E quem está usando?

Page 19: Ampliando suas fronteiras com Node-Webkit

Popcorn Time

Page 20: Ampliando suas fronteiras com Node-Webkit

Koala App

Page 21: Ampliando suas fronteiras com Node-Webkit

Codiqa

Page 22: Ampliando suas fronteiras com Node-Webkit

Legal!!! Mas como instalar?

Page 23: Ampliando suas fronteiras com Node-Webkit

github.com/mllrsohn/node-webkit-builder

[sudo] npm install node-webkit-builder -g

Page 24: Ampliando suas fronteiras com Node-Webkit

E como iniciar uma aplicação?

Page 25: Ampliando suas fronteiras com Node-Webkit

Estrutura mínima para uma aplicação com node-webkit

index.html

package.json

Page 26: Ampliando suas fronteiras com Node-Webkit
Page 27: Ampliando suas fronteiras com Node-Webkit

package.json

Page 28: Ampliando suas fronteiras com Node-Webkit

Ferramentas

Page 29: Ampliando suas fronteiras com Node-Webkit

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

Referência

Page 31: Ampliando suas fronteiras com Node-Webkit

Wiki:

github.com/rogerwang/node-webkit/wiki

Page 32: Ampliando suas fronteiras com Node-Webkit

And now...

Page 33: Ampliando suas fronteiras com Node-Webkit

Repositório das Demonstrações:

github.com/obetomuniz/tdc-demos

Page 34: Ampliando suas fronteiras com Node-Webkit

E isso é tudo pessoal...

betomuniz.com

@obetomuniz

github.com/obetomuniz

[email protected]

speakerdeck.com/obetomuniz