DSW - Dynamic Service Worker
Durante o último final de semana (Julho de 2016), tive o prazer de palestrar no Google Launchpad em São Paulo.
Abra a apresentação PWA no Speakerdeck
Este evento reune alguns GDEs (Google Developer Experts) oferecendo conteúdo na forma de palestras na própria sede do Google, e também um horário para mentoria em projetos.
Além da experiência fenomenal, no final de minha palestra, na qual abordava o tema das Progressive Web Apps, bastante focado em Service Workers, anunciei o lançamento de um novo projeto que estamos desenvolvendo na Nasc! Trata-se do DSW, ou Dynamic Service Worker.
Trabalhar com Service Workers pode ser bastante complexo e avançado, mas ainda é algo que com certeza impulsionará o desenvolvimento Web e a adoção das Progressive Web Apps. Inclusive, temos um post de Nicolás Bevacqua(ou @ponyfoo), traduzido para português em nosso blog, neste artigo.
O Projeto
Baseia-se em permitir uma definição rápida e prática, porém poderosa, dos principais padrões da utilização de Service Workers, por meio de um arquivo de configurações.
Lembram da API de AppCache? O DSW utiliza alguns conceitos do AppCache, porém utilizando as novas funcionalidades que os services workers nos proporcionam. Mais poder, com menos complexidade. Isto torna a manutenção muito mais prática e rápida, também, já que a configuração pode ser bastante descritiva por si só.
DSW é um projeto Open Source da Nasc e pode ser encontrado em nosso Github. O DSW ainda tem muitas funcionalidades novas a serem desenvolvidas (como descrito em algumas issues). Contamos com a contribuição da comunidade brasileira. Mesmo que para testa-lo e oferecer feedback ou reportar bugs, toda a ajuda é muito bem vinda!
Documentação
O projeto e sua documentação estão no nosso Github em https://github.com/NascHQ/dsw
Além disto, há também uma página com documentação inline (feita utilizando o docco) aqui: https://naschq.github.io/dsw/config-example.html
NPM
O pacote já está disponível para instalação por meio do NPM: https://www.npmjs.com/package/dsw