Ampliando suas fronteiras com Node-Webkit

Ampliando suas fronteiras com Node-Webkit

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.

Fff7258836f20ea66b061b49a51fe8dd?s=128

Beto Muniz

June 14, 2014
Tweet

Transcript

  1. node-webkit

  2. Meu nome é Beto Muniz betomuniz.com Sou de Minas Gerais

    e atualmente trabalho na Questrade pela Augix Outsourcing
  3. Ampliando suas fronteiras com node-webkit

  4. Mas que é node-webkit?

  5. node-webkit é um runtime que foi desenvolvido pela Intel, mas

    que teve seu código aberto em 2007 e é baseado na união do Webkit com o NodeJS github.com/rogerwang/node-webkit
  6. Mas...como assim? Runtime? Webkit?

  7. 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.
  8. Mas cara...isso ainda não foi muito claro...

  9. Isso quer dizer que qualquer funcionalidade do de ambas as

    tecnologias é oferecida para utilização, possibilitando assim criação de Desktop WebApps robustos, semelhante ao que acontece ao desenvolver com Phonegap no mundo mobile.
  10. Interessante...E o que esse runtime suporta?

  11. #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
  12. Mas onde eu rodo/desenvolvo?

  13. node-webkit possui uma toolkit CLI que possibilita trabalhar em ambiente

    Windows, Linux e MacOS sem muitos problemas.
  14. Mas porque eu usaria?

  15. #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 Desktop Notifications #7 Escreva a aplicação uma vez*
  16. E a lista toda de features não acabou...

  17. #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.
  18. E quem está usando?

  19. Popcorn Time

  20. Koala App

  21. Codiqa

  22. Legal!!! Mas como instalar?

  23. github.com/mllrsohn/node-webkit-builder [sudo] npm install node-webkit-builder -g

  24. E como iniciar uma aplicação?

  25. Estrutura mínima para uma aplicação com node-webkit index.html package.json

  26. None
  27. index.html (main file) O main file de sua aplicação é

    obrigatório, pois será o primeiro arquivo que o runtime irá buscar após interpretar seu package.json
  28. package.json

  29. Ferramentas

  30. 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
  31. Referência

  32. Wiki: github.com/rogerwang/node-webkit/wiki

  33. And now...

  34. Repositório das Demonstrações: github.com/obetomuniz/nw-demos

  35. E isso é tudo pessoal... betomuniz.com @obetomuniz github.com/obetomuniz contato@betomuniz.com speakerdeck.com/obetomuniz