Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javascript Cross-browser

Javascript Cross-browser

Davidson Fellipe

April 24, 2012
Tweet

More Decks by Davidson Fellipe

Other Decks in Programming

Transcript

  1. frontend + engenharia a medida que a nossa profissão foi

    evoluindo, a adição de conceitos de engenharia foi fundamental para aumentar o indice de profissionalismo, melhorando a fundamentação do que fazemos e especificando niveis de garantia de funcionamento e tolerancia a falhas.
  2. Progressive Enhancement vs. Graceful Degradation The concepts of graceful degradation

    and progressive enhancement are often applied to describe browser support strategies. Indeed, they are closely related approaches to the engineering of "fault tolerance". These two concepts influence decision-making about browser support. Because they reflect different priorities, they frame the support discussion differently. Graceful degradation prioritizes presentation, and permits less widely-used browsers to receive less (and give less to the user). Progressive enhancement puts content at the center, and allows most browsers to receive more (and show more to the user). While close in meaning, progressive enhancement is a healthier and more forward-looking approach. Progressive enhancement is a core concept of Graded Browser Support. http://www.alistapart.com/articles/
  3. websites precisam ter exatamente o mesmo visual em todos os

    browsers? http://dowebsitesneedtolookexactlythesameineverybrowser.com/
  4. • técnica criado pelo Yahoo para informar quais browsers serão

    suportados • baseado em 3 notas • Grade A • Grade C • Grade X Grade Browser Support
  5. • técnica criado pelo Yahoo para informar quais browsers serão

    suportados • baseado em 3 notas • Grade A • Grade C • Grade X Grade Browser Support
  6. • técnica criado pelo Yahoo para informar quais browsers serão

    suportados • baseado em 3 notas • Grade A • Grade C • Grade X Grade Browser Support
  7. • browsers antigos • experiência pobre • minimo suporte •

    normalmente apenas HTML e CSS funcional grade C
  8. feature simulation var STYLE_NAME = (function(){ var div = document.createElement("div");

    div.style.color = "red"; if ( div.getAttribute("style") ) return "style"; if ( div.getAttribute("cssText") ) return "cssText"; })(); window.onload = function(){ var style = document. getElementById("test"). getAttribute( STYLE_NAME ); };
  9. • seu código não pode afetar qualquer código externo •

    evitando modificar valores de variaveis existentes • baixo-acoplamento • function prototypes (ou prototipos) • qualquer área, já existente, que seu código modifica é uma potencial area de conflito • testes automatizados! external code e markup
  10. • focar em experiencia rica nos browsers GRADE A •

    versão HTML ou experiência reduzida em para os GRADE C funcionalidades
  11. • http://mislav.uniqpath.com/ 2010/05/semicolons/ • http://dev.opera.com/articles/ view/the-seven-rules-of- unobtrusive-javascrip/ • http://www.slideshare.net/ nzakas/progressive-

    enhancement-20-conference- agnostic • http:// dowebsitesneedtolookexactlyt hesameineverybrowser.com/ • https://github.com/styleguide/ javascript • http://www.slideshare.net/ jeresig/performance- improvements-in-browsers • http:// www.impressivewebs.com/ browsers-tvs/ • livro secrets of the javascript ninja - john resig referências