SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
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_sps 
github.com/rssilva 
rafaelspdasilva@gmail.com 
fb.com/rafaelspdasilva

Mais conteúdo relacionado

Semelhante a Javascript ao infinito e além

RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSEmerson Macedo
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisLeonardo Simberg
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoEmerson Macedo
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryReinaldo Junior
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas InternetLuiz Domingues
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Thiago Rondon
 
Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)Rafael Ponte
 
Você não deveria escrever uma API para isso
Você não deveria escrever uma API para issoVocê não deveria escrever uma API para isso
Você não deveria escrever uma API para issoJunior Conte
 
Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2sagostinho
 
Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010Ronaldo Ramires
 
Big Data, Performance, Posix, RTB no mercado de publicidade online
Big Data, Performance, Posix, RTB no mercado de publicidade onlineBig Data, Performance, Posix, RTB no mercado de publicidade online
Big Data, Performance, Posix, RTB no mercado de publicidade onlineTiago Peczenyj
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 

Semelhante a Javascript ao infinito e além (20)

Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
Java alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionaisJava alem das aplicacoes comerciais convencionais
Java alem das aplicacoes comerciais convencionais
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
Nodejs e Socket.io
Nodejs e Socket.ioNodejs e Socket.io
Nodejs e Socket.io
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - Introdução
 
Aplicações web realtime
Aplicações web realtimeAplicações web realtime
Aplicações web realtime
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQuery
 
Fsi8a Sistemas Internet
Fsi8a Sistemas InternetFsi8a Sistemas Internet
Fsi8a Sistemas Internet
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.
 
Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)Hibernate efetivo (IA-2014 / Disturbing the Mind)
Hibernate efetivo (IA-2014 / Disturbing the Mind)
 
Você não deveria escrever uma API para isso
Você não deveria escrever uma API para issoVocê não deveria escrever uma API para isso
Você não deveria escrever uma API para isso
 
Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2Boas Práticas em Aplicações Silverlight 2
Boas Práticas em Aplicações Silverlight 2
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010
 
Big Data, Performance, Posix, RTB no mercado de publicidade online
Big Data, Performance, Posix, RTB no mercado de publicidade onlineBig Data, Performance, Posix, RTB no mercado de publicidade online
Big Data, Performance, Posix, RTB no mercado de publicidade online
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 

Mais de Rafael Specht da Silva

Não alimente os trolls: JavaScript é bonito - FrontInSM 2015
Não alimente os trolls: JavaScript é bonito - FrontInSM 2015Não alimente os trolls: JavaScript é bonito - FrontInSM 2015
Não alimente os trolls: JavaScript é bonito - FrontInSM 2015Rafael Specht da Silva
 
Processamento Digital de Sinais com Javascript - RSJS 2015
Processamento Digital de Sinais com Javascript - RSJS 2015Processamento Digital de Sinais com Javascript - RSJS 2015
Processamento Digital de Sinais com Javascript - RSJS 2015Rafael Specht da Silva
 
Digital Signal Processing w/ Javascript
Digital Signal Processing w/ JavascriptDigital Signal Processing w/ Javascript
Digital Signal Processing w/ JavascriptRafael Specht da Silva
 
A esquecida camada física ou porquê minha internet é tão lenta
A esquecida camada física ou porquê minha internet é tão lentaA esquecida camada física ou porquê minha internet é tão lenta
A esquecida camada física ou porquê minha internet é tão lentaRafael Specht da Silva
 

Mais de Rafael Specht da Silva (6)

Não alimente os trolls: JavaScript é bonito - FrontInSM 2015
Não alimente os trolls: JavaScript é bonito - FrontInSM 2015Não alimente os trolls: JavaScript é bonito - FrontInSM 2015
Não alimente os trolls: JavaScript é bonito - FrontInSM 2015
 
Processamento Digital de Sinais com Javascript - RSJS 2015
Processamento Digital de Sinais com Javascript - RSJS 2015Processamento Digital de Sinais com Javascript - RSJS 2015
Processamento Digital de Sinais com Javascript - RSJS 2015
 
Digital Signal Processing w/ Javascript
Digital Signal Processing w/ JavascriptDigital Signal Processing w/ Javascript
Digital Signal Processing w/ Javascript
 
Javascript Ilegível
Javascript IlegívelJavascript Ilegível
Javascript Ilegível
 
Web audio api TDC
Web audio api TDCWeb audio api TDC
Web audio api TDC
 
A esquecida camada física ou porquê minha internet é tão lenta
A esquecida camada física ou porquê minha internet é tão lentaA esquecida camada física ou porquê minha internet é tão lenta
A esquecida camada física ou porquê minha internet é tão lenta
 

Javascript ao infinito e além