SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
Ambient Light Events 
Wylkon Cardoso
A W3C sempre nos surpreende com suas novas especificações e 
uma delas define dois novos eventos capazes de detectar 
mudanças de luz no ambiente. 
Ambient Light Events 
Antes eles faziam parte da Sensors API, mas foram 
desmembrados em uma especificação independente de menor 
escopo.
Conheça outros sensores que já podem ser controlados via Web 
através da documentação do W3C: 
http://www.w3.org/2009/dap/ 
Ficou curioso né? Veja esse exemplo divertido abaixo: 
http://goo.gl/0FVzqT
Com esses eventos conseguimos de maneira prática fazer uma 
página web ou um aplicativo reconhecer qualquer mudança na 
intensidade da luz. 
E isso nos permite reagir a essas mudanças, por exemplo, 
alterando o contraste de cores da interface do usuário (UI) ou 
alterando a exposição necessária para tirar uma foto.
Quando o sensor de luz de um dispositivo detecta uma mudança no 
nível de luz, ele notifica o navegador dessa mudança, logo o navegador 
dispara um evento DeviceLightEvent que fornece informações sobre 
a intensidade da luz exata do ambiente. 
Este evento pode ser capturado no objeto window usando o método 
addEventListener (passando o nome do evento devicelight) ou 
com window.ondevicelight. 
Então você pode acessar a intensidade da luz expressa em “lux” através 
da propriedade DeviceLightEvent.value.
window.addEventListener('devicelight', function(event) { 
var html = document.getElementsByTagName('html')[0]; 
if (event.value < 50) { 
html.classList.add('darklight'); 
html.classList.remove('brightlight'); 
} else { 
html.classList.add('brightlight'); 
html.classList.remove('darklight'); 
} 
});
O que está por vir? 
@media (light-level: normal) { 
p { background: url("texture.jpg"); color: #333 } 
} 
@media (light-level: dim) { 
p { background: #222; color: #ccc } 
} 
@media (light-level: washed) { 
p { background: white; color: black} 
}
Obrigado :D 
http://wylkon.github.io/

Más contenido relacionado

Destacado

API Do Email Marketing Locaweb
API Do Email Marketing LocawebAPI Do Email Marketing Locaweb
API Do Email Marketing LocawebLocaweb
 
Debian no limite - como ter um desktop atualizado
Debian no limite - como ter um desktop atualizadoDebian no limite - como ter um desktop atualizado
Debian no limite - como ter um desktop atualizadoClaudio Ferreira Filho
 
Tech talkrubocop
Tech talkrubocopTech talkrubocop
Tech talkrubocopLocaweb
 
Comercio eletronico - Dicas práticas
Comercio eletronico - Dicas práticasComercio eletronico - Dicas práticas
Comercio eletronico - Dicas práticasLocaweb
 
Celery for SysAdmins
Celery for SysAdminsCelery for SysAdmins
Celery for SysAdminsLocaweb
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas DistribuidosLocaweb
 
Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Fabio Telles Rodriguez
 
Se eu fosse a Microsoft
Se eu fosse a MicrosoftSe eu fosse a Microsoft
Se eu fosse a MicrosoftCesar Brod
 
EXPLicando o Explain no PostgreSQL
EXPLicando o Explain no PostgreSQLEXPLicando o Explain no PostgreSQL
EXPLicando o Explain no PostgreSQLFabrízio Mello
 
Planejador de Consultas do PostgreSQL
Planejador de Consultas do PostgreSQLPlanejador de Consultas do PostgreSQL
Planejador de Consultas do PostgreSQLFabrízio Mello
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLFabio Telles Rodriguez
 
AngularJS
AngularJSAngularJS
AngularJSLocaweb
 
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016 GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016 Fabrízio Mello
 

Destacado (20)

API Do Email Marketing Locaweb
API Do Email Marketing LocawebAPI Do Email Marketing Locaweb
API Do Email Marketing Locaweb
 
Debian no limite - como ter um desktop atualizado
Debian no limite - como ter um desktop atualizadoDebian no limite - como ter um desktop atualizado
Debian no limite - como ter um desktop atualizado
 
Tech talkrubocop
Tech talkrubocopTech talkrubocop
Tech talkrubocop
 
Freenas
FreenasFreenas
Freenas
 
Comercio eletronico - Dicas práticas
Comercio eletronico - Dicas práticasComercio eletronico - Dicas práticas
Comercio eletronico - Dicas práticas
 
Celery for SysAdmins
Celery for SysAdminsCelery for SysAdmins
Celery for SysAdmins
 
Revisão do postgresql.conf
Revisão do postgresql.confRevisão do postgresql.conf
Revisão do postgresql.conf
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013Postgres Wonderland - Campus Party 2013
Postgres Wonderland - Campus Party 2013
 
Se eu fosse a Microsoft
Se eu fosse a MicrosoftSe eu fosse a Microsoft
Se eu fosse a Microsoft
 
Postgres Wonderland - PGDay CE2013
Postgres  Wonderland - PGDay CE2013Postgres  Wonderland - PGDay CE2013
Postgres Wonderland - PGDay CE2013
 
Postgres Big data
Postgres Big dataPostgres Big data
Postgres Big data
 
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQLTrabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 
EXPLicando o Explain no PostgreSQL
EXPLicando o Explain no PostgreSQLEXPLicando o Explain no PostgreSQL
EXPLicando o Explain no PostgreSQL
 
Planejador de Consultas do PostgreSQL
Planejador de Consultas do PostgreSQLPlanejador de Consultas do PostgreSQL
Planejador de Consultas do PostgreSQL
 
Migração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISLMigração de Oracle para PostgreSQL - FISL
Migração de Oracle para PostgreSQL - FISL
 
AngularJS
AngularJSAngularJS
AngularJS
 
Postgres Tuning
Postgres TuningPostgres Tuning
Postgres Tuning
 
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016 GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
 

Similar a Ambient Light Events- Wylkon Queiroz

Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdfAula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdfnosbisantos
 
Desmistificando o cairngorm
Desmistificando o cairngormDesmistificando o cairngorm
Desmistificando o cairngormEric Cavalcanti
 
3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...
3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...
3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...Almerindo Rehem
 
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftSemcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftJuliana Chahoud
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidEric Cavalcanti
 
Construindo sua primeira aplicação android
Construindo sua primeira aplicação androidConstruindo sua primeira aplicação android
Construindo sua primeira aplicação android666Insanity
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidAdriano Rocha
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidRicardo Longa
 
Web Rangers e Power APIs
Web Rangers e Power APIsWeb Rangers e Power APIs
Web Rangers e Power APIsEliezer Bernart
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 

Similar a Ambient Light Events- Wylkon Queiroz (20)

Deep dive de AWS IoT
Deep dive de AWS IoTDeep dive de AWS IoT
Deep dive de AWS IoT
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdfAula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
Aula 15 e 16 - Navegação - Activities e Fragments.pptx.pdf
 
Desmistificando o cairngorm
Desmistificando o cairngormDesmistificando o cairngorm
Desmistificando o cairngorm
 
Java12
Java12Java12
Java12
 
Android wear
Android wearAndroid wear
Android wear
 
3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...
3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...
3W1H - Where What Why and How: Uma Abordagem Prática para Desenvolvimento de ...
 
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftSemcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com Swift
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Bloco 5.3
Bloco 5.3Bloco 5.3
Bloco 5.3
 
Curso Básico Android - Aula 05
Curso Básico Android - Aula 05Curso Básico Android - Aula 05
Curso Básico Android - Aula 05
 
Desenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para AndroidDesenvolvendo aplicações Adobe AIR para Android
Desenvolvendo aplicações Adobe AIR para Android
 
Construindo sua primeira aplicação android
Construindo sua primeira aplicação androidConstruindo sua primeira aplicação android
Construindo sua primeira aplicação android
 
Construindo apps móveis com AWS Mobile Hub
Construindo apps móveis com AWS Mobile HubConstruindo apps móveis com AWS Mobile Hub
Construindo apps móveis com AWS Mobile Hub
 
Treze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento AndroidTreze ferramentas/frameworks para desenvolvimento Android
Treze ferramentas/frameworks para desenvolvimento Android
 
Treze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento androidTreze ferramentas/frameworks para desenvolvimento android
Treze ferramentas/frameworks para desenvolvimento android
 
Artigo virtualização
Artigo virtualizaçãoArtigo virtualização
Artigo virtualização
 
Web Rangers e Power APIs
Web Rangers e Power APIsWeb Rangers e Power APIs
Web Rangers e Power APIs
 
Ajax continuação
Ajax continuaçãoAjax continuação
Ajax continuação
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 

Ambient Light Events- Wylkon Queiroz

  • 1. Ambient Light Events Wylkon Cardoso
  • 2. A W3C sempre nos surpreende com suas novas especificações e uma delas define dois novos eventos capazes de detectar mudanças de luz no ambiente. Ambient Light Events Antes eles faziam parte da Sensors API, mas foram desmembrados em uma especificação independente de menor escopo.
  • 3. Conheça outros sensores que já podem ser controlados via Web através da documentação do W3C: http://www.w3.org/2009/dap/ Ficou curioso né? Veja esse exemplo divertido abaixo: http://goo.gl/0FVzqT
  • 4. Com esses eventos conseguimos de maneira prática fazer uma página web ou um aplicativo reconhecer qualquer mudança na intensidade da luz. E isso nos permite reagir a essas mudanças, por exemplo, alterando o contraste de cores da interface do usuário (UI) ou alterando a exposição necessária para tirar uma foto.
  • 5.
  • 6. Quando o sensor de luz de um dispositivo detecta uma mudança no nível de luz, ele notifica o navegador dessa mudança, logo o navegador dispara um evento DeviceLightEvent que fornece informações sobre a intensidade da luz exata do ambiente. Este evento pode ser capturado no objeto window usando o método addEventListener (passando o nome do evento devicelight) ou com window.ondevicelight. Então você pode acessar a intensidade da luz expressa em “lux” através da propriedade DeviceLightEvent.value.
  • 7. window.addEventListener('devicelight', function(event) { var html = document.getElementsByTagName('html')[0]; if (event.value < 50) { html.classList.add('darklight'); html.classList.remove('brightlight'); } else { html.classList.add('brightlight'); html.classList.remove('darklight'); } });
  • 8. O que está por vir? @media (light-level: normal) { p { background: url("texture.jpg"); color: #333 } } @media (light-level: dim) { p { background: #222; color: #ccc } } @media (light-level: washed) { p { background: white; color: black} }