Ampliando suas fronteiras com Node-Webkit

Post on 24-Jan-2015

406 views 0 download

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

node-webkit

Meu nome é Beto Muniz

betomuniz.com

Sou de Minas Gerais e atualmente trabalho na Questrade pela Augix Outsourcing

Ampliando suas fronteiras com node-webkit

Mas que é 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

Mas...como assim? Runtime? Chromium?

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.

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

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.

Interessante...E o que esse runtime suporta?

#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

Mas onde eu rodo/desenvolvo?

node-webkit possui uma toolkit CLI que possibilita trabalhar em ambiente Windows,

Linux e MacOS sem muitos problemas.

Mas porque eu usaria?

#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*

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

#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.

E quem está usando?

Popcorn Time

Koala App

Codiqa

Legal!!! Mas como instalar?

github.com/mllrsohn/node-webkit-builder

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

E como iniciar uma aplicação?

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

index.html

package.json

package.json

Ferramentas

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

Referência

Wiki:

github.com/rogerwang/node-webkit/wiki

And now...

Repositório das Demonstrações:

github.com/obetomuniz/tdc-demos

E isso é tudo pessoal...

betomuniz.com

@obetomuniz

github.com/obetomuniz

contato@betomuniz.com

speakerdeck.com/obetomuniz