Javascript levado a serio

9.123 visualizações

Publicada em

Palestra sobre Javascript que ministrei na III Mostra Científica do Senac-RS.
A palestra conta um pouco da história do Javascript e o porque da imcompreensão da linguagem. Também mostra o que é possível fazer e como desenvolver um código um profissional e levado a sério com Javascript.

Publicada em: Tecnologia
2 comentários
18 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
9.123
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.253
Ações
Compartilhamentos
0
Downloads
348
Comentários
2
Gostaram
18
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Javascript levado a serio

  1. 2. Jaydson Gomes Formado pela Faculdade Senac em 2008 Analista e Desenvolvedor de Sistemas 4 anos na FGV Empresa atual Ag2 Entusiasta em Javascript e em tecnologias livres Apresentação
  2. 3. O que é Javascript? <ul><li>Linguagem de script </li></ul><ul><li>Linguagem de programação </li></ul><ul><li>Linguagem interpretada </li></ul>Linguagem de programação: “ É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.” Wikipedia
  3. 4. O que é Javascript? <ul><li>Linguagem de script </li></ul><ul><li>Linguagem de programação </li></ul><ul><li>Linguagem interpretada </li></ul>Linguagem de Script: “ É uma linguagem de programação executada do interior de um programa e/ou de outra linguagem de programação.” Wikipedia
  4. 5. O que é Javascript? <ul><li>Linguagem de script </li></ul><ul><li>Linguagem de programação </li></ul><ul><li>Linguagem interpretada </li></ul>“ JavaScript is the most popular scripting language on the internet” W3Schools Linguagem de I nterpretada : “ É uma linguagem de programação, onde o código fonte é executado por um interpretador e em seguida é executado pelo sistema operacional ou processador.” Wikipedia
  5. 6. O que é Javascript? JavaScript é uma linguagem de script orientada a objetos JavaScript permite criar interfaces web ricas JavaScript é baseado no padrão ECMAScript JavaScript é uma linguagem dinâmica, fracamente tipada e Prototype-based
  6. 7. História - O “culpado” Brendan Eich Inventor do Javascript
  7. 8. História - Origem O Javascript foi criado por Brendan Eich em Dezembro de 1995 na Netscape. Originalmente se chamava Mocha. Logo após renomeado para LiveScript, e por fim em Dezembro do mesmo ano veio o nome Javascript. O nome “Javascript” veio de um acordo entre a Netscape e a Sun. A idéia era fazer o Javascript ser uma linguagem complementar ao JAVA. A idéia inicial da linguagem era fazer algo que Web-Designers e pessoas que não tinham muito conhecimento de programação conseguissem tornar as suas páginas web mais dinâmicas.
  8. 9. A linguagem incompreendida Apesar de Javascript ser uma linguagem popular, poucos sabem de sua capacidade. Alguns fatores contribuem para incompreensão da linguagem: O nome Java como prefixo sugere algo relacionado ao JAVA, que é um subconjunto ou uma versão mais simples e incapaz. O sufixo Script sugere que Javascript não é uma linguagem real de programação. As primeiras versões de Javascript eram muito fracas. Não existiam Exception Handling, Inner Functions e Herança. Atualmente Javascript é uma linguagem de programação completa.
  9. 10. A linguagem incompreendida A maioria dos livros sobre Javascript são ruins. Contendo erros, exemplos pobres e más práticas. Recursos importantes são mal explicados, ou simplesmente deixados de lado. A especificação oficial da linguagem é extremamente pobre e difícil de entender. Muitos amadores e não programadores utilizando Javascript.
  10. 11. O que pode ser feito Quase tudo! Animações 2D & 3D Manipular HTML dinamicamente Adicionar interatividade a sites estáticos Jogos Aplicações RIA Validações de formulários Desenhos
  11. 12. O que não pode ser feito Javascript não pode acessar banco de dados Javascript não pode ler e gravar arquivos no lado cliente, exceto cookies Javascript não pode fechar uma janela que ele mesmo não tenha aberto Javascript não pode gravar arquivos no servidor sem ajuda de um script server-side Javascript não pode acessar páginas que não estejam no mesmo domínio Javascript não protege o código fonte e nem imagens Javascript não tem acesso ao Hardware
  12. 13. Aplicações
  13. 14. Ajax Asynchronous Javascript And XML Premissa: Requisições são feitas do cliente ao servidor mesmo após a página ter sido completamente carregada. Ajax não é somente um novo modelo, é também uma iniciativa na construção de aplicações Web mais dinâmicas e criativas. Ajax também não é uma tecnologia, são várias tecnologias conhecidas trabalhando juntas, oferecendo novas funcionalidades. Ajax permite ao desenvolvedor criar interações adicionais ao modelo tradicional.
  14. 15. JSON JSON é uma alternativa para XML, ele também exerce o mesmo papel que o XML como formato para transporte de dados. É uma formatação leve de troca de dados. Para seres humanos, é fácil de ler e escrever. Para máquinas, é fácil de interpretar e gerar.
  15. 16. RIA
  16. 17. RIA Rich Internet Applications RIA é mais um passo no processo evolutivo da internet É o uso da Internet e das tecnologias disponíveis para criar uma experiência mais intuitiva e eficiente para o usuário “RIA é a combinação da interatividade e funcionalidades do Desktop com a abrangência e flexibilidade da Web
  17. 18. Javascript Profissional “ p rogramador” Javascript ontem P rogramador Javascript hoje
  18. 19. Javascript Profissional Programação orientada a objetos
  19. 20. Javascript Profissional Construtor Construtor Método
  20. 21. Método
  21. 22. Javascript Profissional Testes
  22. 23. Javascript Profissional Debugador default IE
  23. 24. Javascript Profissional
  24. 25. BreakPoints
  25. 26. Variáveis e objetos
  26. 27. Javascript Profissional Código reutilizável
  27. 28. Javascript Profissional Namespaces
  28. 29. Javascript Profissional Javascript HTML Unobtrusive JavaScript
  29. 30. Javascript Profissional Tem que ter o DOM (Document Object Model) É uma API para representação de documentos XML e HTML Nos provê uma estrutura que possibilita a modificação destes documentos
  30. 32. Frameworks Javascript
  31. 33. Frameworks Javascript
  32. 34. jQuery Uma biblioteca Javascript open-source que simplifica a interação entre o HTML e o Javascript
  33. 35. <ul><li>Inicio em Agosto de 2005 ( http://ejohn.org/blog/selectors-in-javascript ) </li></ul><ul><li>Primeiro Release em Janeiro de 2006 </li></ul><ul><li>Alpha Release da versão 1.0 em Junho de 2006 </li></ul><ul><li>Anuncio do jQuery UI em Julho de 2007 </li></ul><ul><li>3° aniversário e versão 1.3 lançada em janeiro de 2009 </li></ul><ul><li>Outubro de 2009 </li></ul>jQuery Histórico
  34. 36. Porque usar jQuery jQuery
  35. 37. Porque usar jQuery jQuery The jQuery Team at the 2009 jQuery Conference Profissionais qualificados envolvidos no core da biblioteca
  36. 38. Porque usar jQuery jQuery Ariel Flesler Game Developer John Resig JavaScript Tool Developer at Mozilla Corporation Brandon Aaron Senior Technologist at Nokia Jorn Zaefferer Consultant at maxence integration technologies
  37. 39. Porque usar jQuery jQuery 42% Uso do jQuery no mundo
  38. 40. jQuery Selectors
  39. 41. jQuery Selectors
  40. 42. jQuery Selectors
  41. 43. jQuery Ajax
  42. 44. jQuery São bibliotecas/extensões para o jQuery que fornecem novas funcionalidades a e ou ferramentas para os desenvolvedores. <ul><li>Thickbox </li></ul><ul><li>Form plugin ( with AJAX) </li></ul><ul><li>Validation </li></ul><ul><li>Treeview </li></ul><ul><li>Tabs </li></ul><ul><li>Tablesorter </li></ul>Plugins
  43. 45. Estudos de caso O poder do Javascript
  44. 46. O poder do Javascript Dragon http://raphaeljs.com/dragon.html StarField http://www.chiptune.com/starfield/starfield.html Solar System http://www.willjessup.com/sandbox/jquery/solar_system/rotator.html Springs http://www.mrspeaker.net/dev/canvas/springs.html Mario Kart http://www.nihilogic.dk/labs/mariokart/ IDE http://www.coderun.com/ide/
  45. 47. O poder do Javascript Berts Breakdown http://www.paulbrunt.co.uk/bert/ Chrome Experiments http://www.chromeexperiments.com/ TheWebMind http://thewebmind.org/2.0/ RichBlocks http://jaydson.org/code/richblocks/
  46. 48. Javascript levado a sério [email_address] @jaydson Obrigado! jaydson.org
  47. 49. Referências - Links http://javascript.crockford.com/ https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide http://www.slideshare.net/simon/a-reintroduction-to-javascript http://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o http://pt.wikipedia.org/wiki/Linguagem_de_script http://pt.wikipedia.org/wiki/Linguagem_interpretada https://developer.mozilla.org/presentations/xtech2006/javascript/ http://en.wikipedia.org/wiki/JavaScript http://inventors.about.com/od/jstartinventions/a/JavaScript.htm
  48. 50. Zdnet - Entrevista com Brendan Eich, CTO da Mozilla http://news.zdnet.com/2422-12794_22-335005.html Imagem do Rhino Warrior http://notallowed2laff.blogspot.com/2007/12/power-to-people-neccessity-of-second.html Tutorial Javascript W3Schools http://www.w3schools.com/JS/js_intro.asp ECMAScript http://en.wikipedia.org/wiki/ECMAScript ECMA International http://en.wikipedia.org/wiki/Ecma_International Referências - Links
  49. 51. Linguagem baseada em prototype http://en.wikipedia.org/wiki/Prototype-based_programming Linguagem dinâmica http://en.wikipedia.org/wiki/Dynamic_language Entrevista InfoWorld com Brendan Eich http://www.infoworld.com/d/developer-world/javascript-creator-ponders-past-future-704 Especificação Oficial http://www.ecma-international.org/publications/standards/Ecma-262.htm O que não podemos fazer com Javascript http://javascript.about.com/od/reference/a/cannot.htm RichBlocks - Um Framework para Implantar Interfaces RIA em Sistemas Web http://jaydson.org/docs/richblocks.pdf Referências - Links
  50. 52. Private members in Javascript http://www.crockford.com/javascript/private.html Classical Inheritance in Javascript http://javascript.crockford.com/inheritance.html RichBlocks - Framework RIA em Javascript http://code.google.com/p/richblocks/ DOM https://developer.mozilla.org/en/DOM Referências - Links http://www.slideshare.net/simon/a-reintroduction-to-javascript
  51. 53. Douglas Crockford The JavaScript Programming Language 1 of 4 http://video.yahoo.com/watch/111593/1710507 Douglas Crockford The JavaScript Programming Language 2 of 4 http://video.yahoo.com/watch/6085575/15813360 Douglas Crockford The JavaScript Programming Language 3 of 4 http://video.yahoo.com/watch/6090130/15825675 Douglas Crockford The JavaScript Programming Language 4 of 4 http://video.yahoo.com/watch/6090389/15826154 Referências - Links
  52. 54. Javascript - The definitive guide http://www.amazon.com/exec/obidos/ASIN/0596101996/wrrrldwideweb Livros Pro JavaScript Techniques http://jspro.org/

×