124
JQUERY CONF 2011 Kenji Yamamoto Desenvolvedor Web @ Esporte1 terça-feira, 20 de dezembro de 2011

[GWT] Kenji - Highlights do Jquery Conference

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

Page 1: [GWT] Kenji - Highlights do Jquery Conference

JQUERY CONF 2011

Kenji YamamotoDesenvolvedor Web @ Esporte1

terça-feira, 20 de dezembro de 2011

Page 2: [GWT] Kenji - Highlights do Jquery Conference

Kenji Yamamoto | web developer @ Globo.com

Pontos a destacar

terça-feira, 20 de dezembro de 2011

Page 3: [GWT] Kenji - Highlights do Jquery Conference

Kenji Yamamoto | web developer @ Globo.com

• Attributes e Properties no jQuery - Timmy Willison

Pontos a destacar

terça-feira, 20 de dezembro de 2011

Page 4: [GWT] Kenji - Highlights do Jquery Conference

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

Page 5: [GWT] Kenji - Highlights do Jquery Conference

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

Page 6: [GWT] Kenji - Highlights do Jquery Conference

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

Page 7: [GWT] Kenji - Highlights do Jquery Conference

Attributes and Properties in jQuerypor Timmy Willison

Kenji Yamamoto | web developer @ Globo.com

terça-feira, 20 de dezembro de 2011

Page 8: [GWT] Kenji - Highlights do Jquery Conference

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

Page 9: [GWT] Kenji - Highlights do Jquery Conference

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

Page 10: [GWT] Kenji - Highlights do Jquery Conference

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

Page 11: [GWT] Kenji - Highlights do Jquery Conference

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

Page 12: [GWT] Kenji - Highlights do Jquery Conference

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

Page 13: [GWT] Kenji - Highlights do Jquery Conference

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

Page 14: [GWT] Kenji - Highlights do Jquery Conference

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

Page 15: [GWT] Kenji - Highlights do Jquery Conference

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

Page 16: [GWT] Kenji - Highlights do Jquery Conference

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

Page 17: [GWT] Kenji - Highlights do Jquery Conference

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

Page 18: [GWT] Kenji - Highlights do Jquery Conference

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

Page 19: [GWT] Kenji - Highlights do Jquery Conference

Kenji Yamamoto | web developer @ Globo.com

Pontos a destacar

• Attributes e Properties no jQuery - Timmy Willison

terça-feira, 20 de dezembro de 2011

Page 20: [GWT] Kenji - Highlights do Jquery Conference

Kenji Yamamoto | web developer @ Globo.com

Pontos a destacar

• Attributes e Properties no jQuery - Timmy Willison

terça-feira, 20 de dezembro de 2011

Page 21: [GWT] Kenji - Highlights do Jquery Conference

Chrome Dev Tools: Tips and Trickspor Paul Irish

Kenji Yamamoto | web developer @ Globo.com

terça-feira, 20 de dezembro de 2011

Page 22: [GWT] Kenji - Highlights do Jquery Conference

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

Page 23: [GWT] Kenji - Highlights do Jquery Conference

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

Page 24: [GWT] Kenji - Highlights do Jquery Conference

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

Page 25: [GWT] Kenji - Highlights do Jquery Conference

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

Page 26: [GWT] Kenji - Highlights do Jquery Conference

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

Page 27: [GWT] Kenji - Highlights do Jquery Conference

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

Page 28: [GWT] Kenji - Highlights do Jquery Conference

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

Page 29: [GWT] Kenji - Highlights do Jquery Conference

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

Page 30: [GWT] Kenji - Highlights do Jquery Conference

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

Page 31: [GWT] Kenji - Highlights do Jquery Conference

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

Page 32: [GWT] Kenji - Highlights do Jquery Conference

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

Page 33: [GWT] Kenji - Highlights do Jquery Conference

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

Page 34: [GWT] Kenji - Highlights do Jquery Conference

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

Page 35: [GWT] Kenji - Highlights do Jquery Conference

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

Page 36: [GWT] Kenji - Highlights do Jquery Conference

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

Page 37: [GWT] Kenji - Highlights do Jquery Conference

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

Page 38: [GWT] Kenji - Highlights do Jquery Conference

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

Page 39: [GWT] Kenji - Highlights do Jquery Conference

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

Page 40: [GWT] Kenji - Highlights do Jquery Conference

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

Page 41: [GWT] Kenji - Highlights do Jquery Conference

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

Page 42: [GWT] Kenji - Highlights do Jquery Conference

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

Page 43: [GWT] Kenji - Highlights do Jquery Conference

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

Page 44: [GWT] Kenji - Highlights do Jquery Conference

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

Page 45: [GWT] Kenji - Highlights do Jquery Conference

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

Page 46: [GWT] Kenji - Highlights do Jquery Conference

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

Page 47: [GWT] Kenji - Highlights do Jquery Conference

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

Page 48: [GWT] Kenji - Highlights do Jquery Conference

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

Page 49: [GWT] Kenji - Highlights do Jquery Conference

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

Page 50: [GWT] Kenji - Highlights do Jquery Conference

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

Page 51: [GWT] Kenji - Highlights do Jquery Conference

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

Page 52: [GWT] Kenji - Highlights do Jquery Conference

• 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

Page 53: [GWT] Kenji - Highlights do Jquery Conference

• 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

Page 54: [GWT] Kenji - Highlights do Jquery Conference

• 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

Page 55: [GWT] Kenji - Highlights do Jquery Conference

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

Page 56: [GWT] Kenji - Highlights do Jquery Conference

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

Page 57: [GWT] Kenji - Highlights do Jquery Conference

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

Page 58: [GWT] Kenji - Highlights do Jquery Conference

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

Page 59: [GWT] Kenji - Highlights do Jquery Conference

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

Page 60: [GWT] Kenji - Highlights do Jquery Conference

jQuery 1.7 - Eventspor Dave Methvin

Kenji Yamamoto | web developer @ Globo.com

terça-feira, 20 de dezembro de 2011

Page 61: [GWT] Kenji - Highlights do Jquery Conference

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

Page 62: [GWT] Kenji - Highlights do Jquery Conference

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

Page 63: [GWT] Kenji - Highlights do Jquery Conference

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

Page 64: [GWT] Kenji - Highlights do Jquery Conference

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

Page 65: [GWT] Kenji - Highlights do Jquery Conference

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

Page 66: [GWT] Kenji - Highlights do Jquery Conference

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

Page 67: [GWT] Kenji - Highlights do Jquery Conference

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

Page 68: [GWT] Kenji - Highlights do Jquery Conference

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

Page 69: [GWT] Kenji - Highlights do Jquery Conference

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

Page 70: [GWT] Kenji - Highlights do Jquery Conference

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

Page 71: [GWT] Kenji - Highlights do Jquery Conference

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

Page 72: [GWT] Kenji - Highlights do Jquery Conference

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

Page 73: [GWT] Kenji - Highlights do Jquery Conference

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

Page 74: [GWT] Kenji - Highlights do Jquery Conference

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

Page 75: [GWT] Kenji - Highlights do Jquery Conference

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

Page 76: [GWT] Kenji - Highlights do Jquery Conference

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

Page 77: [GWT] Kenji - Highlights do Jquery Conference

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

Page 78: [GWT] Kenji - Highlights do Jquery Conference

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

Page 79: [GWT] Kenji - Highlights do Jquery Conference

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

Page 80: [GWT] Kenji - Highlights do Jquery Conference

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

Page 81: [GWT] Kenji - Highlights do Jquery Conference

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

Page 82: [GWT] Kenji - Highlights do Jquery Conference

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

Page 83: [GWT] Kenji - Highlights do Jquery Conference

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

Page 84: [GWT] Kenji - Highlights do Jquery Conference

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

Page 85: [GWT] Kenji - Highlights do Jquery Conference

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

Page 86: [GWT] Kenji - Highlights do Jquery Conference

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

Page 87: [GWT] Kenji - Highlights do Jquery Conference

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

Page 88: [GWT] Kenji - Highlights do Jquery Conference

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

Page 89: [GWT] Kenji - Highlights do Jquery Conference

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

Page 90: [GWT] Kenji - Highlights do Jquery Conference

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

Page 91: [GWT] Kenji - Highlights do Jquery Conference

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

Page 92: [GWT] Kenji - Highlights do Jquery Conference

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

Page 93: [GWT] Kenji - Highlights do Jquery Conference

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

Page 94: [GWT] Kenji - Highlights do Jquery Conference

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

Page 95: [GWT] Kenji - Highlights do Jquery Conference

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

Page 96: [GWT] Kenji - Highlights do Jquery Conference

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

Page 97: [GWT] Kenji - Highlights do Jquery Conference

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

Page 98: [GWT] Kenji - Highlights do Jquery Conference

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

Page 99: [GWT] Kenji - Highlights do Jquery Conference

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

Page 100: [GWT] Kenji - Highlights do Jquery Conference

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

Page 101: [GWT] Kenji - Highlights do Jquery Conference

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

Page 102: [GWT] Kenji - Highlights do Jquery Conference

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

Page 103: [GWT] Kenji - Highlights do Jquery Conference

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

Page 104: [GWT] Kenji - Highlights do Jquery Conference

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

Page 105: [GWT] Kenji - Highlights do Jquery Conference

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

Page 106: [GWT] Kenji - Highlights do Jquery Conference

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

Page 107: [GWT] Kenji - Highlights do Jquery Conference

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

Page 108: [GWT] Kenji - Highlights do Jquery Conference

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

Page 109: [GWT] Kenji - Highlights do Jquery Conference

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

Page 110: [GWT] Kenji - Highlights do Jquery Conference

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

Page 111: [GWT] Kenji - Highlights do Jquery Conference

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

Page 112: [GWT] Kenji - Highlights do Jquery Conference

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

Page 113: [GWT] Kenji - Highlights do Jquery Conference

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

Page 114: [GWT] Kenji - Highlights do Jquery Conference

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

Page 115: [GWT] Kenji - Highlights do Jquery Conference

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

Page 116: [GWT] Kenji - Highlights do Jquery Conference

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

Page 117: [GWT] Kenji - Highlights do Jquery Conference

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

Page 118: [GWT] Kenji - Highlights do Jquery Conference

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

Page 119: [GWT] Kenji - Highlights do Jquery Conference

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

Page 120: [GWT] Kenji - Highlights do Jquery Conference

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

Page 121: [GWT] Kenji - Highlights do Jquery Conference

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

Page 122: [GWT] Kenji - Highlights do Jquery Conference

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

Page 123: [GWT] Kenji - Highlights do Jquery Conference

OBRIGADO

Kenji Yamamoto | web developer @ Globo.com

terça-feira, 20 de dezembro de 2011