SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
FRONTEND DEVELOPMENT
Introdução
●
●
●
●
●
●

O que é JQuery
Pré-requisitos
Quem usa
Porque usar e quais as vantagens
Quem pensou nisso tudo
E por ai vai
O que é?
●
●
●
●

Cross-browser
Usado para desenvolvimento de interfaces
Simples navegação no documento HTML
Manipulação dos elementos DOM
(Document Object Model)
● Manipulção de eventos de maneira simples.
● Criação de animações manipulando
propriedades CSS.
Desenvolvimento de aplicações AJAX com
pouco código
Pré-requisito
1. Conhecimentos em HTML + CSS
2. Pouquinho de javascript
Quem usa JQuery?
O mundo todo

Xiiiii, eles ainda
usam JQuery...
Confronto desnecessário

Flash está fadado a extinção? NÃO
Ele apenas encontrou um concorrente à altura.
Onde usar um e outro
Aplicação

Flash

Javascript

Slide Show

X

Validação de
Formulário

X

Menus suspensos

X

Tabbed Panels

X

Popups & Dicas

X

Expansível / Elementos
dobrável

X

Leitor de Vídeo / Áudio

X

Animação Complexo

X

3D

X

Multimídia Complexo

X
Tá todo mundo usando
● Dos 10 mil sites mais visitados em todo
mundo 41% usam JQuery
Vantagens de se usar Jquery
●

O acesso direto ao DOM se faz com uso dos poderosos seletores das
CSS 2.1 e CSS 3.

●

A manipulação de conteúdo sem limitações, com algumas poucas
linhas de código.

●

O suporte para todo tipo de evento de interação com o usuário, sem
limitações impostas pelos navegadores.

●

A possibilidade de inserir uma grande variedade de efeitos de
animação com uma simples linha de código.

●

O uso simplificado e sem restrições com AJAX e linguagens de
programação, como PHP e ASP.

●

A simplificação na criação de scripts.

●

O emprego cross-browser.
Será que é tão simples assim?
Uma simples animação sem JQuery
function xAnimateXY(sEleId, iTargetX, iTargetY, uTotalTime)
{
var ele = xGetElementById(sEleId);
var startX = xLeft(ele); // x start position
var startY = xTop(ele); // y start position
var dispX = iTargetX - startX; // x displacement
var dispY = iTargetY - startY; // y displacement
var freq = Math.PI / (2 * uTotalTime); // frequency
var startTime = new Date().getTime();
var tmr = setInterval(
function() {
var elapsedTime = new Date().getTime() - startTime;
if (elapsedTime < uTotalTime) {
var f = Math.abs(Math.sin(elapsedTime * freq));
xLeft(ele, Math.round(f * dispX + startX));
xTop(ele, Math.round(f * dispY + startY));
}
else {
clearInterval(tmr);
xLeft(ele, iTargetX);
xTop(ele, iTargetY);
}
}, 10
);
}
Uma simples animação sem JQuery
// xLeft r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL
function xLeft(e, iX)
{
if(!(e=xGetElementById(e))) return 0;
var css=xDef(e.style);
if (css && xStr(e.style.left)) {
if(xNum(iX)) e.style.left=iX+'px';
else {
iX=parseInt(e.style.left);
if(isNaN(iX)) iX=xGetComputedStyle(e,'left',1);
if(isNaN(iX)) iX=0;
}
}
else if(css && xDef(e.style.pixelLeft)) {
if(xNum(iX)) e.style.pixelLeft=iX;
else iX=e.style.pixelLeft;
}
return iX;
}
Uma simples animação sem JQuery
// xTop r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com)
// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL
function xTop(e, iY)
{
if(!(e=xGetElementById(e))) return 0;
var css=xDef(e.style);
if(css && xStr(e.style.top)) {
if(xNum(iY)) e.style.top=iY+'px';
else {
iY=parseInt(e.style.top);
if(isNaN(iY)) iY=xGetComputedStyle(e,'top',1);
if(isNaN(iY)) iY=0;
}
}
else if(css && xDef(e.style.pixelTop)) {
if(xNum(iY)) e.style.pixelTop=iY;
else iY=e.style.pixelTop;
}
return iY;
}
Uma simples animação sem JQuery
Animação sem JQuery funcionando:
http://www.cross-browser.
com/x/examples/animation_tech.php
Agora com JQuery
$("div").animate( { left: "+=300", top:0 }, 3000);

exemplo prático:
http://jsfiddle.net/fjPAN/107/
Selectors (a alma do framework)
O método mágico

$

Exemplos simples:
$("#meuId").css("width", "100px");
$(".minhaclasse").css("width", "100px");
$("ul.topnav > li").css("border", "3px double
red")
Seletores na prática
http://www.w3schools.
com/jquery/jquery_examples.asp
http://jsbin.com/#javascript,html,live
http://jsfiddle.net
http://jsfiddle.net/fjPAN/26/
ID Selector (“#id”)
$("#meuId").css("width", "100px");

exemplo prático:
http://jsfiddle.net/fjPAN/83/
Class Selector (“.class”)
$(".minhaClasse").css("width", "100px");

exemplo prático:
http://jsfiddle.net/fjPAN/37/
Child Selector (“parent > child”)
$("ul > li").css("width", "100px");

exemplo prático:
http://jsfiddle.net/fjPAN/70/
Child Selector (“parent > child”)
$("ul > li").css("width", "100px");

exemplo prático:
http://jsfiddle.net/fjPAN/70/
:first Selector
$("tr:first").css("height", "200px");

exemplo prático:
http://jsfiddle.net/fjPAN/73/
:last Selector
$("tr:last").css("height", "200px");

exemplo prático:
http://jsfiddle.net/fjPAN/74/
:eq() Selector
$("tr:eq(1)").css("color", "#FFFF00");

exemplo prático:
http://jsfiddle.net/fjPAN/82/
Accordion em duas linhas

Link:
http://jqueryui.com/demos/accordion/
Exemplo prático:
http://jsfiddle.net/fjPAN/127/
Simples Galeria de fotos com JQuery

Link:
http://caroufredsel.frebsite.nl/
Outras bibliotecas JavaScript

Link com varias biliotecas:
http://www.cssnolanche.com.br/22-javascript-frameworks/
O gênio pensante do Framework
John Resing,
o criador da jQuery.
OBRIGADO
email: mateuspaduaweb@gmail.com
face: /mateus.padua.3

Más contenido relacionado

Similar a Introdução ao Frontend com JQuery

Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaJoselito Nascimento
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAXRafael Dohms
 
TDC - Introdução ao Actor Model com Microsoft Orleans
TDC - Introdução ao Actor Model com Microsoft OrleansTDC - Introdução ao Actor Model com Microsoft Orleans
TDC - Introdução ao Actor Model com Microsoft OrleansFabio Gouw
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...iMasters
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaSidney Roberto
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitAdolfo Neto
 
Live Tiles e Background Executions - TDC SP 2015
Live Tiles e Background Executions - TDC SP 2015Live Tiles e Background Executions - TDC SP 2015
Live Tiles e Background Executions - TDC SP 2015talkitbr
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Rodrigo Senra
 
[Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora![Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora!Rodrigo Stefani Domingues
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoPaulo Morgado
 
FEMUG MGA #6 - Abandonando o jQuery
FEMUG MGA #6  - Abandonando o jQueryFEMUG MGA #6  - Abandonando o jQuery
FEMUG MGA #6 - Abandonando o jQueryJulio Vedovatto
 
MSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browserMSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browserJP Clementi
 

Similar a Introdução ao Frontend com JQuery (20)

JavaScript
JavaScriptJavaScript
JavaScript
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosaChrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
Chrome Apps e NodeWebkit: traga seu webapp para o Desktop - #outubrorosa
 
introdução a ajax
introdução a ajaxintrodução a ajax
introdução a ajax
 
PHP e Ajax com XAJAX
PHP e Ajax com XAJAXPHP e Ajax com XAJAX
PHP e Ajax com XAJAX
 
TDC - Introdução ao Actor Model com Microsoft Orleans
TDC - Introdução ao Actor Model com Microsoft OrleansTDC - Introdução ao Actor Model com Microsoft Orleans
TDC - Introdução ao Actor Model com Microsoft Orleans
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
InterCon 2016 - Software as a service usando Go como principal linguagem: os ...
 
Web Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciênciaWeb Scraping: aplicações nos negócios e na ciência
Web Scraping: aplicações nos negócios e na ciência
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com Junit
 
Live Tiles e Background Executions - TDC SP 2015
Live Tiles e Background Executions - TDC SP 2015Live Tiles e Background Executions - TDC SP 2015
Live Tiles e Background Executions - TDC SP 2015
 
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.Python: Cabe no seu bolso, no seu micro, no seu cérebro.
Python: Cabe no seu bolso, no seu micro, no seu cérebro.
 
Tutorial java swing
Tutorial java swingTutorial java swing
Tutorial java swing
 
[Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora![Devcamp] usando programação funcional agora!
[Devcamp] usando programação funcional agora!
 
Apostila ajax
Apostila ajaxApostila ajax
Apostila ajax
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPonto
 
Android
AndroidAndroid
Android
 
FEMUG MGA #6 - Abandonando o jQuery
FEMUG MGA #6  - Abandonando o jQueryFEMUG MGA #6  - Abandonando o jQuery
FEMUG MGA #6 - Abandonando o jQuery
 
MSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browserMSDN Webcast - Melhores práticas cross browser
MSDN Webcast - Melhores práticas cross browser
 

Introdução ao Frontend com JQuery

  • 2. Introdução ● ● ● ● ● ● O que é JQuery Pré-requisitos Quem usa Porque usar e quais as vantagens Quem pensou nisso tudo E por ai vai
  • 3. O que é? ● ● ● ● Cross-browser Usado para desenvolvimento de interfaces Simples navegação no documento HTML Manipulação dos elementos DOM (Document Object Model) ● Manipulção de eventos de maneira simples. ● Criação de animações manipulando propriedades CSS. Desenvolvimento de aplicações AJAX com pouco código
  • 4. Pré-requisito 1. Conhecimentos em HTML + CSS 2. Pouquinho de javascript
  • 6. O mundo todo Xiiiii, eles ainda usam JQuery...
  • 7. Confronto desnecessário Flash está fadado a extinção? NÃO Ele apenas encontrou um concorrente à altura.
  • 8. Onde usar um e outro Aplicação Flash Javascript Slide Show X Validação de Formulário X Menus suspensos X Tabbed Panels X Popups & Dicas X Expansível / Elementos dobrável X Leitor de Vídeo / Áudio X Animação Complexo X 3D X Multimídia Complexo X
  • 9. Tá todo mundo usando ● Dos 10 mil sites mais visitados em todo mundo 41% usam JQuery
  • 10. Vantagens de se usar Jquery ● O acesso direto ao DOM se faz com uso dos poderosos seletores das CSS 2.1 e CSS 3. ● A manipulação de conteúdo sem limitações, com algumas poucas linhas de código. ● O suporte para todo tipo de evento de interação com o usuário, sem limitações impostas pelos navegadores. ● A possibilidade de inserir uma grande variedade de efeitos de animação com uma simples linha de código. ● O uso simplificado e sem restrições com AJAX e linguagens de programação, como PHP e ASP. ● A simplificação na criação de scripts. ● O emprego cross-browser.
  • 11. Será que é tão simples assim?
  • 12. Uma simples animação sem JQuery function xAnimateXY(sEleId, iTargetX, iTargetY, uTotalTime) { var ele = xGetElementById(sEleId); var startX = xLeft(ele); // x start position var startY = xTop(ele); // y start position var dispX = iTargetX - startX; // x displacement var dispY = iTargetY - startY; // y displacement var freq = Math.PI / (2 * uTotalTime); // frequency var startTime = new Date().getTime(); var tmr = setInterval( function() { var elapsedTime = new Date().getTime() - startTime; if (elapsedTime < uTotalTime) { var f = Math.abs(Math.sin(elapsedTime * freq)); xLeft(ele, Math.round(f * dispX + startX)); xTop(ele, Math.round(f * dispY + startY)); } else { clearInterval(tmr); xLeft(ele, iTargetX); xTop(ele, iTargetY); } }, 10 ); }
  • 13. Uma simples animação sem JQuery // xLeft r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com) // Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL function xLeft(e, iX) { if(!(e=xGetElementById(e))) return 0; var css=xDef(e.style); if (css && xStr(e.style.left)) { if(xNum(iX)) e.style.left=iX+'px'; else { iX=parseInt(e.style.left); if(isNaN(iX)) iX=xGetComputedStyle(e,'left',1); if(isNaN(iX)) iX=0; } } else if(css && xDef(e.style.pixelLeft)) { if(xNum(iX)) e.style.pixelLeft=iX; else iX=e.style.pixelLeft; } return iX; }
  • 14. Uma simples animação sem JQuery // xTop r2, Copyright 2001-2007 Michael Foster (Cross-Browser.com) // Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL function xTop(e, iY) { if(!(e=xGetElementById(e))) return 0; var css=xDef(e.style); if(css && xStr(e.style.top)) { if(xNum(iY)) e.style.top=iY+'px'; else { iY=parseInt(e.style.top); if(isNaN(iY)) iY=xGetComputedStyle(e,'top',1); if(isNaN(iY)) iY=0; } } else if(css && xDef(e.style.pixelTop)) { if(xNum(iY)) e.style.pixelTop=iY; else iY=e.style.pixelTop; } return iY; }
  • 15. Uma simples animação sem JQuery Animação sem JQuery funcionando: http://www.cross-browser. com/x/examples/animation_tech.php
  • 16. Agora com JQuery $("div").animate( { left: "+=300", top:0 }, 3000); exemplo prático: http://jsfiddle.net/fjPAN/107/
  • 17. Selectors (a alma do framework) O método mágico $ Exemplos simples: $("#meuId").css("width", "100px"); $(".minhaclasse").css("width", "100px"); $("ul.topnav > li").css("border", "3px double red")
  • 19. ID Selector (“#id”) $("#meuId").css("width", "100px"); exemplo prático: http://jsfiddle.net/fjPAN/83/
  • 20. Class Selector (“.class”) $(".minhaClasse").css("width", "100px"); exemplo prático: http://jsfiddle.net/fjPAN/37/
  • 21. Child Selector (“parent > child”) $("ul > li").css("width", "100px"); exemplo prático: http://jsfiddle.net/fjPAN/70/
  • 22. Child Selector (“parent > child”) $("ul > li").css("width", "100px"); exemplo prático: http://jsfiddle.net/fjPAN/70/
  • 23. :first Selector $("tr:first").css("height", "200px"); exemplo prático: http://jsfiddle.net/fjPAN/73/
  • 24. :last Selector $("tr:last").css("height", "200px"); exemplo prático: http://jsfiddle.net/fjPAN/74/
  • 25. :eq() Selector $("tr:eq(1)").css("color", "#FFFF00"); exemplo prático: http://jsfiddle.net/fjPAN/82/
  • 26. Accordion em duas linhas Link: http://jqueryui.com/demos/accordion/ Exemplo prático: http://jsfiddle.net/fjPAN/127/
  • 27. Simples Galeria de fotos com JQuery Link: http://caroufredsel.frebsite.nl/
  • 28. Outras bibliotecas JavaScript Link com varias biliotecas: http://www.cssnolanche.com.br/22-javascript-frameworks/
  • 29. O gênio pensante do Framework John Resing, o criador da jQuery.