SlideShare uma empresa Scribd logo
1 de 36
Treinamento Javascript básico
Maio 2014
carlos.oliveira@vitrio.com.br
kadunew@gmail.com
@kadunew
www.kadunew.com/blog
Carlos Eduardo – Kadu
São as informações que a página pretende
apresentar.
Separando Responsabilidades
Essa parte é responsável pela estética. Cores,
tamanhos, layout...
Através dela é possível tomar decisões
baseadas na interação com o usuário. Parte
dinâmica da interface.
JAVA
SCRIPT
css
HTML
• Reaproveitamento do
código;
• Organização da equipe;
• Limpeza do Código;
• Exemplo:
http://www.csszengard
en.com/217/
Por que separar o
desenvolvimento
em camadas?
“Vamos começar”
• Linguagem de programação mais popular na
Web;
• Suportada por todos os navegadores;
• Adiciona dinamismo em nossas páginas.
Cliente e servidor
PHP, ASP...
Javascript
Mas bhá, face bombando.
O Script é baixado e executado no
navegador do usuário
Java != Javascript
Manipular o HTML
dinamicamente
Validação de
formulários
Carregar conteúdo
condicional
Ocultar revelar
elementos
Interagir com o
usuário
(click, keyup...)
Alterar propriedades
da página
O que posso
fazer?
Eventos
 onclick: clica com o mouse
 onsubmit: disparado antes de submeter o
formulário.
 ondblclick: clica duas vezes com o mouse
 onmousemove: mexe o mouse
 onmousedown: aperta o botão do mouse
 onmouseup: solta o botão do mouse (útil com os dois acima para gerenciar drag'n'drop)
 onkeypress: ao pressionar e soltar uma tecla
 onkeydown: ao pressionar uma tecla.
 onkeyup: ao soltar uma tecla. Mesmo acima.
 onblur: quando um elemento perde foco
 onfocus: quando um elemento ganha foco
 onchange: quando um input, select ou textarea tem seu valor alterado
 onload: quando a página é carregada
 onunload: quando a página é fechada
 onclick: clica com o mouse
 onsubmit: disparado antes de submeter o
formulário.
 ondblclick: clica duas vezes com o mouse
 onmousemove: mexe o mouse
 onmousedown: aperta o botão do mouse
 onmouseup: solta o botão do mouse (útil com os dois acima para gerenciar drag'n'drop)
 onkeypress: ao pressionar e soltar uma tecla
 onkeydown: ao pressionar uma tecla.
 onkeyup: ao soltar uma tecla. Mesmo acima.
 onblur: quando um elemento perde foco
 onfocus: quando um elemento ganha foco
 onchange: quando um input, select ou textarea tem seu valor alterado
 onload: quando a página é carregada
 onunload: quando a página é fechada
Eventos
Exemplo 1
Exemplo 2
Exemplo 3
• Mudar a forma de escrever
Javascript;
• Aumento de produtividade;
• Cross-Browser
• Open Source
JS
Plugins
Plugins trazem novas
funcionalidades para a
biblioteca.
 Validação de formulários;
 Datagrids;
 Slide shows;
 Formatação de números.
Exemplo
• http://plugins.jquery.com/maskedinput/
Links úteis
• Documentação oficial
http://api.jquery.com/
• Exemplos
http://jqapi.com/
• Tutoriais
http://jqapi.com/
• Plugins
http://jqapi.com/
Que papo é esse...
jQuery, uso moderado
 Em projetos pequenos ou em projetos com
pouco javascript, não use JQuery.
 Quando eu uso?
Em sistema complexo, em um site muito grande ou
se o Javascript for muito complexo...
JS
Minificar o arquivo
 Aprendemos diversas boas práticas de
codificação;
 Código limpo, legível...;
 Dar bons nomes a variáveis, escrever bons
comentários, escrever código identado, com
bom espaçamento visual etc.
JS
Minificar o arquivo
• Cara... nada disso é necessário no momento
do navegador renderizar a página, sabia?!.
• Ainda tem mais, todas essas práticas
adicionam bytes e mais bytes aos arquivos.
JS
Minificar o arquivo
 http://refresh-sf.com/yui/
 http://fmarcia.info/jsmin/test.html
 http://developer.yahoo.com/yui/compressor/
Minificar o arquivo
 jQuery + Plugins + Meus códigos... É
necessário tudo isso?
 Se vamos usar, por exemplo, jQuery com 3
plugins e mais 2 arquivos da aplicação,
poderíamos simplesmente juntar todos em 1
ou 2 arquivos.
JS
Curti o lance de Javascript...
Quero estudar!
http://www.codecademy.com/pt/tracks/javascript
Curti o lance de Javascript...
Quero estudar!
Treinamento Javascript básico
Maio 2014
Perguntas?
Treinamento Javascript básico
Maio 2014
Obrigado Galera!
carlos.oliveira@vitrio.com.br
kadunew@gmail.com
@kadunew
www.kadunew.com/blog

Mais conteúdo relacionado

Mais procurados

Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 

Mais procurados (20)

Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Html
HtmlHtml
Html
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
07 html formulários
07 html   formulários07 html   formulários
07 html formulários
 
Introdução CSS
Introdução CSSIntrodução CSS
Introdução CSS
 

Destaque

javscript para iniciantes
javscript para iniciantesjavscript para iniciantes
javscript para iniciantesbradock1964
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticosCentro Paula Souza
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 
08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)Centro Paula Souza
 
How to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsHow to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsZeno Rocha
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)Zeno Rocha
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011Leonardo Balter
 
Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05Ramon Kayo
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Ramon Kayo
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Ramon Kayo
 
Desbravando o HTML5 Boilerplate
Desbravando o HTML5 BoilerplateDesbravando o HTML5 Boilerplate
Desbravando o HTML5 BoilerplateZeno Rocha
 
Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01Ramon Kayo
 
Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Ramon Kayo
 
Super Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados AbertosSuper Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados AbertosZeno Rocha
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Emerson Macedo
 
Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5Zeno Rocha
 

Destaque (20)

javscript para iniciantes
javscript para iniciantesjavscript para iniciantes
javscript para iniciantes
 
10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos10 Java Script - Exemplos práticos
10 Java Script - Exemplos práticos
 
Introdução ao JavaScript
Introdução ao JavaScriptIntrodução ao JavaScript
Introdução ao JavaScript
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)08 Trabalhando com mais de uma tabela (Relacionamento)
08 Trabalhando com mais de uma tabela (Relacionamento)
 
How to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsHow to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java Portals
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011
 
Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05Lógica de Programação com Javascript - Aula #05
Lógica de Programação com Javascript - Aula #05
 
Na prática: STF e CobiT
Na prática: STF e CobiTNa prática: STF e CobiT
Na prática: STF e CobiT
 
HTML 5
HTML 5HTML 5
HTML 5
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04
 
Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02Lógica de Programação com Javascript - Aula #02
Lógica de Programação com Javascript - Aula #02
 
Desbravando o HTML5 Boilerplate
Desbravando o HTML5 BoilerplateDesbravando o HTML5 Boilerplate
Desbravando o HTML5 Boilerplate
 
Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01Lógica de Programação com Javascript - Aula #01
Lógica de Programação com Javascript - Aula #01
 
Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03Lógica de Programação com Javascript - Aula #03
Lógica de Programação com Javascript - Aula #03
 
Super Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados AbertosSuper Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados Abertos
 
Wordpress
WordpressWordpress
Wordpress
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12
 
Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5
 

Semelhante a Introdução básica ao JavaScript

Palestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDDPalestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDDhugodiasneto
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front EndCaio Vaccaro
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serioJaydson Gomes
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxLuiz Antonio
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações WebAnderson Aguiar
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015Daniel Costa Gimenes
 

Semelhante a Introdução básica ao JavaScript (20)

Palestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDDPalestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDD
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
Apresentação JQuery
Apresentação JQueryApresentação JQuery
Apresentação JQuery
 
jQuery
jQueryjQuery
jQuery
 
jQuery
jQueryjQuery
jQuery
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Hello vue
Hello vueHello vue
Hello vue
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front End
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serio
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Alta Performance em Aplicações Web
Alta Performance em Aplicações WebAlta Performance em Aplicações Web
Alta Performance em Aplicações Web
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 PtAsp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
 
GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015GDG ABC Meetup #5 - Tendências 2015
GDG ABC Meetup #5 - Tendências 2015
 

Mais de Carlos Eduardo Kadu

Pesquisa no Twitter - Requisição com API JSON
Pesquisa no Twitter - Requisição com API JSONPesquisa no Twitter - Requisição com API JSON
Pesquisa no Twitter - Requisição com API JSONCarlos Eduardo Kadu
 
Introdução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento webIntrodução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento webCarlos Eduardo Kadu
 
Tcc ii curso análise e desenvolvimento de sistemas
Tcc ii curso análise e desenvolvimento de sistemasTcc ii curso análise e desenvolvimento de sistemas
Tcc ii curso análise e desenvolvimento de sistemasCarlos Eduardo Kadu
 
Treinamento Comercial Microlins
Treinamento Comercial Microlins Treinamento Comercial Microlins
Treinamento Comercial Microlins Carlos Eduardo Kadu
 

Mais de Carlos Eduardo Kadu (7)

Framework Foundation Basicão
Framework Foundation BasicãoFramework Foundation Basicão
Framework Foundation Basicão
 
Pesquisa no Twitter - Requisição com API JSON
Pesquisa no Twitter - Requisição com API JSONPesquisa no Twitter - Requisição com API JSON
Pesquisa no Twitter - Requisição com API JSON
 
Design responsivo
Design responsivoDesign responsivo
Design responsivo
 
Introdução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento webIntrodução ao CSS - Desenvolvimento web
Introdução ao CSS - Desenvolvimento web
 
Construcao de interfaces web
Construcao de interfaces webConstrucao de interfaces web
Construcao de interfaces web
 
Tcc ii curso análise e desenvolvimento de sistemas
Tcc ii curso análise e desenvolvimento de sistemasTcc ii curso análise e desenvolvimento de sistemas
Tcc ii curso análise e desenvolvimento de sistemas
 
Treinamento Comercial Microlins
Treinamento Comercial Microlins Treinamento Comercial Microlins
Treinamento Comercial Microlins
 

Introdução básica ao JavaScript

  • 1. Treinamento Javascript básico Maio 2014 carlos.oliveira@vitrio.com.br kadunew@gmail.com @kadunew www.kadunew.com/blog Carlos Eduardo – Kadu
  • 2. São as informações que a página pretende apresentar. Separando Responsabilidades Essa parte é responsável pela estética. Cores, tamanhos, layout... Através dela é possível tomar decisões baseadas na interação com o usuário. Parte dinâmica da interface. JAVA SCRIPT css HTML
  • 3. • Reaproveitamento do código; • Organização da equipe; • Limpeza do Código; • Exemplo: http://www.csszengard en.com/217/ Por que separar o desenvolvimento em camadas?
  • 5. • Linguagem de programação mais popular na Web; • Suportada por todos os navegadores; • Adiciona dinamismo em nossas páginas.
  • 6. Cliente e servidor PHP, ASP... Javascript Mas bhá, face bombando.
  • 7. O Script é baixado e executado no navegador do usuário
  • 9. Manipular o HTML dinamicamente Validação de formulários Carregar conteúdo condicional Ocultar revelar elementos Interagir com o usuário (click, keyup...) Alterar propriedades da página O que posso fazer?
  • 10.
  • 11. Eventos  onclick: clica com o mouse  onsubmit: disparado antes de submeter o formulário.  ondblclick: clica duas vezes com o mouse  onmousemove: mexe o mouse  onmousedown: aperta o botão do mouse  onmouseup: solta o botão do mouse (útil com os dois acima para gerenciar drag'n'drop)  onkeypress: ao pressionar e soltar uma tecla  onkeydown: ao pressionar uma tecla.  onkeyup: ao soltar uma tecla. Mesmo acima.  onblur: quando um elemento perde foco  onfocus: quando um elemento ganha foco  onchange: quando um input, select ou textarea tem seu valor alterado  onload: quando a página é carregada  onunload: quando a página é fechada
  • 12.  onclick: clica com o mouse  onsubmit: disparado antes de submeter o formulário.  ondblclick: clica duas vezes com o mouse  onmousemove: mexe o mouse  onmousedown: aperta o botão do mouse  onmouseup: solta o botão do mouse (útil com os dois acima para gerenciar drag'n'drop)  onkeypress: ao pressionar e soltar uma tecla  onkeydown: ao pressionar uma tecla.  onkeyup: ao soltar uma tecla. Mesmo acima.  onblur: quando um elemento perde foco  onfocus: quando um elemento ganha foco  onchange: quando um input, select ou textarea tem seu valor alterado  onload: quando a página é carregada  onunload: quando a página é fechada Eventos
  • 16.
  • 17. • Mudar a forma de escrever Javascript; • Aumento de produtividade; • Cross-Browser • Open Source
  • 18.
  • 19. JS
  • 20.
  • 23.  Validação de formulários;  Datagrids;  Slide shows;  Formatação de números.
  • 25. Links úteis • Documentação oficial http://api.jquery.com/ • Exemplos http://jqapi.com/ • Tutoriais http://jqapi.com/ • Plugins http://jqapi.com/
  • 26. Que papo é esse...
  • 27. jQuery, uso moderado  Em projetos pequenos ou em projetos com pouco javascript, não use JQuery.  Quando eu uso? Em sistema complexo, em um site muito grande ou se o Javascript for muito complexo... JS
  • 28.
  • 29. Minificar o arquivo  Aprendemos diversas boas práticas de codificação;  Código limpo, legível...;  Dar bons nomes a variáveis, escrever bons comentários, escrever código identado, com bom espaçamento visual etc. JS
  • 30. Minificar o arquivo • Cara... nada disso é necessário no momento do navegador renderizar a página, sabia?!. • Ainda tem mais, todas essas práticas adicionam bytes e mais bytes aos arquivos. JS
  • 31. Minificar o arquivo  http://refresh-sf.com/yui/  http://fmarcia.info/jsmin/test.html  http://developer.yahoo.com/yui/compressor/
  • 32. Minificar o arquivo  jQuery + Plugins + Meus códigos... É necessário tudo isso?  Se vamos usar, por exemplo, jQuery com 3 plugins e mais 2 arquivos da aplicação, poderíamos simplesmente juntar todos em 1 ou 2 arquivos. JS
  • 33. Curti o lance de Javascript... Quero estudar! http://www.codecademy.com/pt/tracks/javascript
  • 34. Curti o lance de Javascript... Quero estudar!
  • 36. Treinamento Javascript básico Maio 2014 Obrigado Galera! carlos.oliveira@vitrio.com.br kadunew@gmail.com @kadunew www.kadunew.com/blog