Upload
kenji-yamamoto
View
990
Download
0
Embed Size (px)
DESCRIPTION
Será um espaço para compartilhar informações que foram destaques no jQuery Conference deste ano.- Attributes e Properties no jQuery - Timmy Willison- Chrome Dev Tools: Tips and Tricks - Paul Irish- jQuery 1.7 - Events - Dave Methvin- Progressive Enhancement 2.0 - Nicholas C. Zakas
Citation preview
JQUERY CONF 2011
Kenji YamamotoDesenvolvedor Web @ Esporte1
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
• Attributes e Properties no jQuery - Timmy Willison
Pontos a destacar
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
Pontos a destacar
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
• jQuery 1.7 - Events - Dave Methvin
Pontos a destacar
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
• jQuery 1.7 - Events - Dave Methvin
• Progressive Enhancement 2.0 - Nicholas C. Zakas
Pontos a destacar
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
Como era processado o método .attr()
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
Como era processado o método .attr()
• Atributos e Propriedades são processados da mesma forma;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
Como era processado o método .attr()
• Atributos e Propriedades são processados da mesma forma;
• Muitos bugs, com isso a manutenção ficou difícil de ser mantida.
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
Kenji Yamamoto | web developer @ Globo.com
Então, qual a diferença?
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
Kenji Yamamoto | web developer @ Globo.com
Então, qual a diferença?
<input class="foo"> // attribute$('input')[0].className // property
<input id="bar"> // attribute$('#bar')[0].id // property
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
Kenji Yamamoto | web developer @ Globo.com
Então, qual a diferença?
<input class="foo"> // attribute$('input')[0].className // property
<input id="bar"> // attribute$('#bar')[0].id // property
Atributos estão no html, interpretados pelo browser para formar o DOM, e (geralmente) correspondem às propriedades.
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
O que mudou no jQuery 1.6?
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
O que mudou no jQuery 1.6?
• A propriedade .attr() foi reescrita
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
O que mudou no jQuery 1.6?
• A propriedade .attr() foi reescrita
• Aumento significante na performance dos métodos .attr() e .val()
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
O que mudou no jQuery 1.6?
• A propriedade .attr() foi reescrita
• Aumento significante na performance dos métodos .attr() e .val()
• Inclusão dos métodos .prop() e .removeProp()
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Attributes and Properties in jQuerypor Timmy Willison, membro do jQuery Core Team | @timmywil
O que mudou no jQuery 1.6?
• A propriedade .attr() foi reescrita
• Aumento significante na performance dos métodos .attr() e .val()
• Inclusão dos métodos .prop() e .removeProp()
Kenji Yamamoto | web developer @ Globo.com
http://bit.ly/attr_prop
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Controle sobre o StyleSheet
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Controle sobre o StyleSheet
• Manipulação rápida de cor;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Controle sobre o StyleSheet
• Manipulação rápida de cor;
• Interpretação de CSS3 ;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Controle sobre o StyleSheet
• Manipulação rápida de cor;
• Interpretação de CSS3 ;
• Intervenção fácil no seletores via psuedo-classes.
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Controle sobre o StyleSheet
• Manipulação rápida de cor;
• Interpretação de CSS3 ;
• Intervenção fácil no seletores via psuedo-classes.
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Network
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Network
• Timeline: Informações sobre tempo de renderização
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Network
• Timeline: Informações sobre tempo de renderização
• Settings: Desabilitar Cache & outras configurações
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Console API
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Console API
• Existem mais coisas do que apenas o console.log !
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Console API
• Existem mais coisas do que apenas o console.log !
• Command Line API Ex.: dir(), inspect(), $0, $1
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Console API
• Existem mais coisas do que apenas o console.log !
• Command Line API Ex.: dir(), inspect(), $0, $1
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
• Breakpoints no DOM
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
• Breakpoints no DOM
• Breakpoints nos Event Listeners
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
• Breakpoints no DOM
• Breakpoints nos Event Listeners
• Edição live no JS
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Debugging
• Script “Pretty-Printing” !
Kenji Yamamoto | web developer @ Globo.com
• Breakpoints no DOM
• Breakpoints nos Event Listeners
• Edição live no JS
• “No-refresh development™!”
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Task Manager
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Javascript APIs para monitoração
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Javascript APIs para monitoração
• performance.timing
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Javascript APIs para monitoração
• performance.timing
• performance.memory
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Javascript APIs para monitoração
• performance.timing
• performance.memory
• window.onerror
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Javascript APIs para monitoração
• performance.timing
• performance.memory
• window.onerror
• console.profile() / console.profiles[]
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Javascript APIs para monitoração
• performance.timing
• performance.memory
• window.onerror
• console.profile() / console.profiles[]
• console.timeStamp()
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Extenções para o DevTools
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Extenções para o DevTools
• Painel customizado e Sidebars chrome.devtools.panels
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Extenções para o DevTools
• Painel customizado e Sidebars chrome.devtools.panels
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
• Audits plugáveis chrome.devtools.audits
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Extenções para o DevTools
• Painel customizado e Sidebars chrome.devtools.panels
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
• Audits plugáveis chrome.devtools.audits
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Extenções para o DevTools
• Painel customizado e Sidebars chrome.devtools.panels
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
• Audits plugáveis chrome.devtools.audits
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Extenções para o DevTools
• Painel customizado e Sidebars chrome.devtools.panels
Kenji Yamamoto | web developer @ Globo.com
• Ferramenta de desenvolvimento experimental para o Chrome API chrome.devtools.network
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Fica a dica !
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Fica a dica !
• Documentação e alguns vídeos code.google.com/chrome/devtools
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Chrome Dev Tools: Tips and Trickspor Paul Irish, Chrome Developer at Google | @paul_irish
Fica a dica !
• Documentação e alguns vídeos code.google.com/chrome/devtools
• Customização do DevTools smus.com/devtools-cheatsheet
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Quais são as metas ?
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Quais são as metas ?
• Simplificar a API;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Quais são as metas ?
• Simplificar a API;
• Torná-la mais rápida;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Quais são as metas ?
• Simplificar a API;
• Torná-la mais rápida;
• Reduzir o tamanho total;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Quais são as metas ?
• Simplificar a API;
• Torná-la mais rápida;
• Reduzir o tamanho total;
• Solucionar bugs existentes;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Quais são as metas ?
• Simplificar a API;
• Torná-la mais rápida;
• Reduzir o tamanho total;
• Solucionar bugs existentes;
• Não quebrar o que já está funcionando;
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Novos métodos .on() e .off()
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Novos métodos .on() e .off()
• Unificar eventos vinculados e delegados
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Novos métodos .on() e .off()
• Unificar eventos vinculados e delegados
Kenji Yamamoto | web developer @ Globo.com
$().on(events, “selector”, data, handler);$().off(events, “selector”, handler);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Novos métodos .on() e .off()
• Unificar eventos vinculados e delegados
Kenji Yamamoto | web developer @ Globo.com
$().on(events, “selector”, data, handler);$().off(events, “selector”, handler);
• Mapear eventos para retrocompatibilidade na API:
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Novos métodos .on() e .off()
• Unificar eventos vinculados e delegados
Kenji Yamamoto | web developer @ Globo.com
$().on(events, “selector”, data, handler);$().off(events, “selector”, handler);
• Mapear eventos para retrocompatibilidade na API:
$(“a”).bind(“click change”, { mydata: 42 }, fn);$(“a”).on(“click change”, { mydata: 42 }, fn);
$(“.box”).delegate(“a”, “click.myplugin”, fn);$(“.box”).on(“click.myplugin”, “a”, fn);
$(“a”).live(“click”, fn);$(document).on(“click”, “a”, fn);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
• Pronúncia consistente (ao contrário de live/die )
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
• Pronúncia consistente (ao contrário de live/die )
• Métodos encadeados com traversal/filter (ao contrário do live )
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
• Pronúncia consistente (ao contrário de live/die )
• Métodos encadeados com traversal/filter (ao contrário do live )
• A ordem dos argumentos é consistente (ao contrário do delegate )
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
• Pronúncia consistente (ao contrário de live/die )
• Métodos encadeados com traversal/filter (ao contrário do live )
• A ordem dos argumentos é consistente (ao contrário do delegate )
• Mais curto para digitar (off vs. undelegate )
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
• Pronúncia consistente (ao contrário de live/die )
• Métodos encadeados com traversal/filter (ao contrário do live )
• A ordem dos argumentos é consistente (ao contrário do delegate )
• Mais curto para digitar (off vs. undelegate )
• Nenhuma confusão com ECMAScript5 Function.bind
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Benefícios
• Acaba com a confusão sobre a interação entre as APIs de evento
Kenji Yamamoto | web developer @ Globo.com
$(“a”).live(“click”, function(){ alert(“Hello”); });$(document).unbind(“click”); // ‘live is now dead!’
• Pronúncia consistente (ao contrário de live/die )
• Métodos encadeados com traversal/filter (ao contrário do live )
• A ordem dos argumentos é consistente (ao contrário do delegate )
• Mais curto para digitar (off vs. undelegate )
• Nenhuma confusão com ECMAScript5 Function.bind
• Economia de 1,122 bytes removendo bind/live/delegate no jQuery 1.7
$(document).on(“click”, “a”, function(){ alert(“Hello”); });$(document).off(“click”);
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Event Delegation é legal, mas…
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Event Delegation é legal, mas…
Kenji Yamamoto | web developer @ Globo.com
• Um event handler não pode ser mudado depois que um event handler subseqüente for chamado, isso é chamado de .stopPropagation() .stopImmediatePropagation();
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Event Delegation é legal, mas…
Kenji Yamamoto | web developer @ Globo.com
• Um event handler não pode ser mudado depois que um event handler subseqüente for chamado, isso é chamado de .stopPropagation() .stopImmediatePropagation();
• O jQuery deve igualar o seletor ao ponto de delegação;
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Event Delegation é legal, mas…
Kenji Yamamoto | web developer @ Globo.com
• Um event handler não pode ser mudado depois que um event handler subseqüente for chamado, isso é chamado de .stopPropagation() .stopImmediatePropagation();
• O jQuery deve igualar o seletor ao ponto de delegação;
• Deve ser delegado evento para o elemento mais próximo possível.
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
“Don’t Make Me Bubble” !
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Perfil do caso de teste com jQuery 1.6.3: 15,1 segundos
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
jQuery 1.7 - Eventspor Dave Methvin, membro do jQuery Core Team | @davemethvin
Perfil do caso de teste com jQuery 1.7: 5.6 segundos
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
• jQuery 1.7 - Events - Dave Methvin
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
• jQuery 1.7 - Events - Dave Methvin
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0Because the Web isn't Print
Kenji Yamamoto | web developer @ Globo.com
por Nicholas C. Zakas
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Graceful Degradation
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Graceful Degradation
Kenji Yamamoto | web developer @ Globo.com
• Premissa: criar o melhor e mais completo produto possível, suportado pelos
browsers mais novos, e a partir daí, as funcionalidades que não são suportadas pelos browsers ou devices simplesmente não são visualizadas.
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 1.0
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 1.0
Kenji Yamamoto | web developer @ Globo.com
• Premissa: foco no conteúdo.
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 1.0
Kenji Yamamoto | web developer @ Globo.com
• Premissa: foco no conteúdo.
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 1.0
Kenji Yamamoto | web developer @ Globo.com
• Premissa: foco no conteúdo.
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 2.0
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 2.0
Kenji Yamamoto | web developer @ Globo.com
Chrome
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 2.0
Kenji Yamamoto | web developer @ Globo.com
Firefox
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 2.0
Kenji Yamamoto | web developer @ Globo.com
Internet Explorer 9
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 2.0
Kenji Yamamoto | web developer @ Globo.com
Internet Explorer 6
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Progressive Enhancement 2.0
Kenji Yamamoto | web developer @ Globo.com
Netscape 4
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Compatibilidade dos navegadores mais novos
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Compatibilidade dos navegadores mais novos
Kenji Yamamoto | web developer @ Globo.com
• Rounded Corners
• Drop Shadows
• Gradients
• Transitions
• Transforms
• Multiple Background Images
• Drag and Drop
• Geolocation
• Cross-Domain Ajax
• Cross-Domain Messaging
• Client-Side Data Storage
• Canvas/WebGL
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Compatibilidade dos navegadores mais novos
Kenji Yamamoto | web developer @ Globo.com
• Rounded Corners
• Drop Shadows
• Gradients
• Transitions
• Transforms
• Multiple Background Images
• Drag and Drop
• Geolocation
• Cross-Domain Ajax
• Cross-Domain Messaging
• Client-Side Data Storage
• Canvas/WebGL
A melhor experiência possível, dada a capacidade do device.
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Valores:
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Valores:
Kenji Yamamoto | web developer @ Globo.com
OK
OK
Maravilha !
Aí não né...
valor
esforço
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
Compatibilidade dos navegadores mais novos
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
• Rounded Corners
• Drop Shadows
• Gradients
Compatibilidade dos navegadores mais novos
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
• Rounded Corners
• Drop Shadows
• Gradients
Apenas com CSS
Compatibilidade dos navegadores mais novos
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
• Rounded Corners
• Drop Shadows
• Gradients
Apenas com CSS
•Comportamentos escripts avançados
Compatibilidade dos navegadores mais novos
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
• Rounded Corners
• Drop Shadows
• Gradients
Apenas com CSS
•Comportamentos escripts avançados
Apenas comAPIs Nativas
Compatibilidade dos navegadores mais novos
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
Tentando fazer com que os navegadores mais antigos façam coisas que nunca foram destinadas a fazer...
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
Tentando fazer com que os navegadores mais antigos façam coisas que nunca foram destinadas a fazer...
• Longo tempo de desenvolvimento
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
Tentando fazer com que os navegadores mais antigos façam coisas que nunca foram destinadas a fazer...
• Longo tempo de desenvolvimento
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
Tentando fazer com que os navegadores mais antigos façam coisas que nunca foram destinadas a fazer...
• Longo tempo de desenvolvimento
• Muitos bugs e uma manutenção cara
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
Tentando fazer com que os navegadores mais antigos façam coisas que nunca foram destinadas a fazer...
• Longo tempo de desenvolvimento
• Muitos bugs e uma manutenção cara
• Páginas lentas
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
“Navegadores antigos muitas vezes precisam de
muito mais código para fazer a mesma coisa.”
terça-feira, 20 de dezembro de 2011
Progressive Enhancement 2.0 - Because the Web isn't Printpor Nicholas C. Zakas, desenvolvedor Web no Yahoo | @slicknet
Kenji Yamamoto | web developer @ Globo.com
“Para prevenir que os browsers de ontem se tornem um fardo para os
desenvolvedores web e torná-lo menos feio para o público.”
Nicholas C. Zakas
“Navegadores antigos muitas vezes precisam de
muito mais código para fazer a mesma coisa.”
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
• jQuery 1.7 - Events - Dave Methvin
• Progressive Enhancement 2.0 - Nicholas C. Zakas
terça-feira, 20 de dezembro de 2011
Kenji Yamamoto | web developer @ Globo.com
Pontos a destacar
• Attributes e Properties no jQuery - Timmy Willison
• Chrome Dev Tools: Tips and Tricks - Paul Irish
• jQuery 1.7 - Events - Dave Methvin
• Progressive Enhancement 2.0 - Nicholas C. Zakas
terça-feira, 20 de dezembro de 2011
OBRIGADO
Kenji Yamamoto | web developer @ Globo.com
terça-feira, 20 de dezembro de 2011
OBRIGADO
Kenji Yamamoto | web developer @ Globo.com
Slides:http://bit.ly/gwt-kenji
Links do evento:http://bit.ly/links-jqueryconf
contato:[email protected]
twitter:@kenjiyamamoto
terça-feira, 20 de dezembro de 2011