Javascript ao Infinito e Além
-
Upload
rafael-specht-da-silva -
Category
Software
-
view
223 -
download
1
description
Transcript of Javascript ao Infinito e Além
Javascript ao infinito e além
Rafael Specht da Silva@rafael_sps
Quem?
- Formado em Telecomunicações no IFSul- “Contribuidor” na Hack Thursday- Ex Eckert-Caine- Ex / Atual RBS
Javascript é uma linguagem bem legal, mas...
0.3 === 0.1 + 0.2 // false
// porque...
0.2 + 0.1 === 0.30000000000000004 // true
// exemplo by Douglas Crockford
Isso é quase engraçado...
Javascript é útil para …
… fazer relógios
… validar formulários
… AWESOMENESS
“Existem mais APIs entre o céu e a terra do que sonha vossa vã filosofia”
(talvez pra fazer o que já se fazia no desktop e/ou devices...)
WebSockets
Uma maneira de trocar informação em “tempo real”
SSE resolve(rá) o problema de “só receber”
LocalStorage
Armazena strings localmente sem incluí-las no cabeçalho HTTP como o Cookie
WebSockets + LocalStorage
- LocalStorage é comum para um domínio
- Então, permite trocar informações entre janelas/abas
- Logo, LocalStorage permite compartilhar informações recebidas pelo Socket entre janelas/abas
Talk is cheap…
(exemplo)
Network Information API
Porque nem sempre sabemos a situação da conexão do usuário…
Network Information API
var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
bandwidth - estimativa da banda atual
metered - a banda do usuário pode sofrer limitações
Page Visibility API
Permite obter o status de visibilidade de um documento
(talk is cheap…)
Battery API
Battery API
Provê informações sobre a bateria do dispositivo do usuário
window.navigator.battery
Push State
Push State
Acesso ao histórico do browser
window.history
(talk is cheap...)
Web Audio API
Web Audio API
Acesso e manipulação de um contexto de áudio
Qual a diferença para a tag <audio>?
- Manipular propriedades do sinal de áudio- Possibilidade de adicionar ganho, filtros, etc- Manipular espacialização- etc
Oscillators
Podemos criar ondas:- sinusoidais- dentes-de-serra- triangulares- quadradas(demo)
Exemplos em produção
Muito útil para jogos e apps onde podemos melhorar a experiência e imersão
- Jogo “mano-a-mano” (link, github)- Guitarra HTML5 (link, github)
Release the Unicorns
Processamento de Áudio
Métodos como ‘createMediaStreamSource’ e ‘createScriptProcessor’ permitem manipular o áudio em tempo real.
Por que não fazer um pedal de guitarra?
(altamente inspirado pelas palestras do @almirfilho (link) e do @eshiota (link)
Obrigado!!@rafael_spsgithub.com/[email protected]/rafaelspdasilva