web standards como construir sistemas arrasadores usando ajax

54
Web Standards Web Standards Como construir sistemas arrasadores usando AJAX Como construir sistemas arrasadores usando AJAX

Upload: allegra-lawrence

Post on 15-Mar-2016

17 views

Category:

Documents


1 download

DESCRIPTION

Web Standards Como construir sistemas arrasadores usando AJAX. Apresentação. Professor: Sérgio dos Santos FDV: 7º Período [ Sistemas de Informação ] FORMANDO dez/2007  E-mail: [email protected] Cel: 31 8411 2320 Colunista no iMasters desde dez/2006 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Web Standards Como construir sistemas arrasadores usando AJAX

Web StandardsWeb StandardsComo construir sistemas arrasadores usando AJAXComo construir sistemas arrasadores usando AJAX

Page 2: Web Standards Como construir sistemas arrasadores usando AJAX

ApresentaçãoApresentação

Professor: Sérgio dos SantosFDV: 7º Período [ Sistemas de Informação ] FORMANDO dez/2007 E-mail: [email protected]: 31 8411 2320

Colunista no iMasters desde dez/2006http://www.imasters.com.br/

Delicious: del.icio.us/serginhosant/webstandards

Blog: www.gigro.com/blog

Page 3: Web Standards Como construir sistemas arrasadores usando AJAX

Web StandardsWeb Standards São normas para Web e tem por objetivo:

Criação de uma Web universal; Evitar que apenas um membro da equipe tenha domínio exclusivo sobre

o desenvolvimento; Acessibilidade; e Melhor posicionamento nas ferramentas de busca.

É um conjunto de normas, diretrizes, recomendações, notas, artigos, tutoriais e afins de caráter técnico, produzidos pelo W3C; e

Destinada a orientar desenvolvedores para o uso de práticas que possibilitem a criação de uma Web acessível a todos, ajudados por diversos recursos que fazem uma Web mais agradável de usar.

Page 4: Web Standards Como construir sistemas arrasadores usando AJAX

W3CW3C O World Wide Web Consortium é um consórcio de empresas de

tecnologia, atualmente com cerca de 500 membros;

Fundado por Tim Berners-Lee em 1994 para levar a Web ao seu potencial máximo, por meio do desenvolvimento de protocolos comuns e fóruns abertos que promovem sua evolução e asseguram a sua interoperabilidade; e

Todos os sites desenvolvidos segundo os padrões W3C podem ser acessados e visualizados por qualquer pessoa ou tecnologia, independente de hardware ou software.

Page 5: Web Standards Como construir sistemas arrasadores usando AJAX

Nosso deverNosso dever É um dever de todo desenvolvedor Web respeitar e seguir os

padrões do W3C, pois de outro modo poderá impor barreiras tecnológicas a diversas pessoas, desestimulando e até mesmo impedindo o acesso a suas páginas; e

Cabe agora aos desenvolvedores atualizarem seus conhecimentos e revolucionar a Internet, pois internet mudou a vida das pessoas; agora, são as pessoas que vão mudar a internet.

Page 6: Web Standards Como construir sistemas arrasadores usando AJAX

A guerra dos browsersA guerra dos browsers Pela primeira vez desde que a Microsoft lançou seu browser, em

1995, o Internet Explorer está perdendo participação de mercado;

Segundo pesquisa da WebSideStory, a fatia de usuários do IE caiu de 95,48% em julho de 2004 para 88,86% em abril de 2005;

Essa queda pode ser ainda maior, já que uma nova safra de bons navegadores atrai usuários de todos os tipos;

Page 7: Web Standards Como construir sistemas arrasadores usando AJAX

A guerra dos browsersA guerra dos browsers

Fonte: http://www.css3.info

Page 8: Web Standards Como construir sistemas arrasadores usando AJAX

A guerra dos browsersA guerra dos browsers Com tantas opções a um simples download, por que se preocupar?

Que browser é o melhor?

Devo realmente mudar?

Há uma série de razões pelas quais usuários estão fugindo do IE, mas a maioria delas restringe-se a questões de segurança;

Page 9: Web Standards Como construir sistemas arrasadores usando AJAX

A guerra dos browsersA guerra dos browsers Nenhum browser está isento de falhas;

A Fundação Mozilla remendou alguns buracos do Firefox e a Opera publicou algumas atualizações focadas em segurança no ano passado;

Os produtores de vírus e os hackers miram o IE porque há uma infinidade de sistemas rodando esse programa;

Page 10: Web Standards Como construir sistemas arrasadores usando AJAX

A guerra dos browsersA guerra dos browsers De todos os browsers, o Firefox sobressai como a melhor escolha

de todas;

O Firefox faz um excelente trabalho na exibição das páginas, oferece interface superior e dá menos problemas que outras opções, inclusive o Opera; e

Além disso, é mais customizável por meio das chamadas extensões para o Firefox.

Page 11: Web Standards Como construir sistemas arrasadores usando AJAX

Fire BugFire Bug

Disponível em: http://del.icio.us/serginhosant/mozilla

Page 12: Web Standards Como construir sistemas arrasadores usando AJAX

A grande sacadaA grande sacada Na verdade, a grande sacada do web standards está na total

separação das camadas envolvidas em um projeto web, que são respectivamente: Informação (html); Estilo (css); e Comportamento (javascript).

Page 13: Web Standards Como construir sistemas arrasadores usando AJAX

TablelessTableless É uma metodologia de desenvolvimento de layouts sem o uso de

tabelas, da qual toda informação é separada da formatação, formando assim, as camadas de estrutura e de apresentação;

Com esta metodologia, é possível reduzir o tamanho dos arquivos de código em até 70%, tornando o site mais rápido, mais leve e consequentemente reduzindo a banda utilizada no o seu carregamento; e

É importante lembrar que isso também garante que seu site seja visualizado em qualquer dispositivo, independente dele aceitar folha de estilo ou não, como, por exemplo, em celulares.

Page 14: Web Standards Como construir sistemas arrasadores usando AJAX

SemânticaSemântica Semântica é uma palavra de origem grega (semantiké) que

traduzida seria "a arte da significação". É o estudo do significado das palavras e de sua relação de significação nos signos lingüísticos. Signo é todo objeto ou símbolo que tem um significado por si mesmo, como a cruz que representa o cristianismo, a cor vermelha como um sinal de pare, uma palavra qualquer como "cadeira" que nos remete a um objeto no mundo real;

Escrever algo semântico então, é utilizar uma tag no contexto certo para a qual ela foi criada: <acronym title=“Faculdade de Viçosa">FDV</acronym>

Page 15: Web Standards Como construir sistemas arrasadores usando AJAX

SemânticaSemântica A tag <table> foi criada para exibir dados tabulares e não pra

estruturar sites;

Usar a tag <br /> para simular parágrafos, onde a tag <p> poderia ser usada;

Usar qualquer outra tag que não seja os headings (títulos) como h1, h2, h3, etc, para declarar títulos; e

Quando usar uma citação em um texto coloque entre a tag <cite>.

Page 16: Web Standards Como construir sistemas arrasadores usando AJAX

MicroformatosMicroformatos Microformatos são um conjunto de formatos abertos projetados

para adicionar semântica em qualquer documento XML, especialmente HTML/XHTML;

http://microformats.org/wiki/Main_Page;

Aplicações, como buscadores, podem extrair informações específicas de páginas que usam microformatos, como informações de contato, evento, licença, etc; e

A função destas especificações é enriquecer a informação inserida em páginas web com meta informação;

Page 17: Web Standards Como construir sistemas arrasadores usando AJAX

Então o que seria Então o que seria web 1.0 e web 2.0?web 1.0 e web 2.0?

Web 1.0 Web 2.0

Sites pessoais bloggingPage Views Preço por ClickDomain Name Speculation SEODoubleClick Google AdSenseBritannica Online WikipediaPublicação iMasters (articulista)CMS’s WikisDiretórios (taxonomias) Tagging ("folksonomy")mp3.com P2P

Page 18: Web Standards Como construir sistemas arrasadores usando AJAX

Apresento-lhes o AJAXApresento-lhes o AJAX

Page 19: Web Standards Como construir sistemas arrasadores usando AJAX

AJAXAJAX Asynchronous JavaScript And XML; e Usando XML HTTP Request para aplicações Web sem

reload.

Page 20: Web Standards Como construir sistemas arrasadores usando AJAX

AJAX: O servidor fornece AJAX: O servidor fornece dados, e não conteúdodados, e não conteúdo

Page 21: Web Standards Como construir sistemas arrasadores usando AJAX

AJAX: O servidor fornece AJAX: O servidor fornece dados, e não conteúdodados, e não conteúdo

Page 22: Web Standards Como construir sistemas arrasadores usando AJAX

AJAX: O servidor fornece AJAX: O servidor fornece dados, e não conteúdodados, e não conteúdo

Page 23: Web Standards Como construir sistemas arrasadores usando AJAX

AJAXAJAX Um pouco de história:

O grande problema; Aplicações Web-Based; Os frames; iFrames; O XHTML não aceita Frame nem iFrame; RIA; Applets Java; ActiveX (que provê um protocolo client-side que permite

comunicação HTTP com o servidor, chamado "Microsoft.XMLHTTP"); e

Outros Browsers também implementaram;

Page 24: Web Standards Como construir sistemas arrasadores usando AJAX

AJAXAJAX Ajax é uma combinação de técnicas disponíveis desde meados do

ano 2000, consistindo de: (X)HTML, Javascript e CSS ; Document Object Model (DOM); e XMLHttpRequest.

JavaScript não-obstrusivo; e Em suma: usem a tecnologia com responsabilidade.

Page 25: Web Standards Como construir sistemas arrasadores usando AJAX

Ajax: Pontos FortesAjax: Pontos Fortes Maior Interatividade nas aplicações; Redução do consumo de banda; Redução de processamento no servidor; Não é proprietário; e Portabilidade.

Page 26: Web Standards Como construir sistemas arrasadores usando AJAX

Ajax: Pontos FracosAjax: Pontos Fracos Capacidades limitadas; Performance do cliente; Comportamento dos botões Back e Forward; Bookmarking (Unique URL); Latência da rede; e Requer conectividade permanente.

Page 27: Web Standards Como construir sistemas arrasadores usando AJAX

Meu primeiro AJAXMeu primeiro AJAX Depois de toda essa teoria, finalmente podemos fazer algo prático

com nosso mais novo amigo, o XMLHTTPRequest;

Page 28: Web Standards Como construir sistemas arrasadores usando AJAX
Page 29: Web Standards Como construir sistemas arrasadores usando AJAX
Page 30: Web Standards Como construir sistemas arrasadores usando AJAX
Page 31: Web Standards Como construir sistemas arrasadores usando AJAX
Page 32: Web Standards Como construir sistemas arrasadores usando AJAX
Page 33: Web Standards Como construir sistemas arrasadores usando AJAX
Page 34: Web Standards Como construir sistemas arrasadores usando AJAX
Page 35: Web Standards Como construir sistemas arrasadores usando AJAX

Construindo o sistemaConstruindo o sistema<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Cadastro de Pedido</title>

</head><body>

<h1>Cadastro de Pedido</h1>

<div id="CadPedGeral"><div id="CadPedidoLeft"></div><div id="CadPedidoRight"><div id="CodPedidoRightTop"></div><div id="CodPedidoRightMeio"></div><div id="CodPedidoRightBotton"></div></div></div>

</body></html>

Page 36: Web Standards Como construir sistemas arrasadores usando AJAX

A linhaA linha

<div class="linha"><div class="fields_name">Código: </div> <div class="fields_input">

<input type="text" id="codpedido" name="codpedido" value="" /></div>

</div>

Page 37: Web Standards Como construir sistemas arrasadores usando AJAX

Os produtosOs produtos

<div id="CodPedidoRightTop"><div class="codigoProd">Codigo</div><div class="nomeProd">Produto</div><div class="qtdProd">Qtd</div><div class="valorProd">Valor</div><br /><div id=“itens"></div>

</div>

Page 38: Web Standards Como construir sistemas arrasadores usando AJAX

Os botõesOs botões

<div id="CodPedidoRightMeio"></div><div id="CodPedidoRightBotton">

<input type="button" id="novo" name="novo" value="Novo" /><input type="button" id="pesquisar" name="pesquisar" value="Pesquisar" /><input type="button" id="excluir" name="excluir" value="Excluir" />

</div>

Page 39: Web Standards Como construir sistemas arrasadores usando AJAX

Obá... CSSObá... CSS Ufa! Terminamos a primeira camada;

Podemos testar no browser, o que fizemos até agora, para vermos como ficou a nossa primeira camada;

É hora da diversão: CSS; e

Vamos começar a dar vida a nosso sistema.

Page 40: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSS<link rel="stylesheet" type="text/css" href="estilos.css" />

body{}h1{}.linha{}.fields_name{}.fields_input{}#CadPedGeral{}#CadPedidoLeft{}#CadPedidoRight{}#CodPedidoRightTop{}#CodPedidoRightMeio{}#CodPedidoRightBotton{}

Page 41: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSSbody{

font-family: Helvetica, Verdana, Arial, sans-serif; font-size:80%;padding:0; margin:0;

}

h1{font-size:12px;font-weight:bold; color:#3e72a4;padding:20px;

}

Page 42: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSS.linha{

width:250px;clear:both;

}

.fields_name{float:left; font-weight:bold; text-align:right; width:80px; padding-bottom:5px;

}

Page 43: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSS.fields_input{

float:left; width:250px; padding-left:5px; padding-bottom:5px;

}

#CadPedGeral{float:left;background-color:#EEEEEE;height:350px;width:620px;padding:20px;

}

Page 44: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSS#CadPedidoLeft{float:left; width:340px; }

#CadPedidoRight{ float:left; width:260px; }

#CodPedidoRightTop{font-size:11px;float:left;background-color:#CCCCCC;height:150px; width:270px;padding:10px;overflow:auto;

}

Page 45: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSS#CodPedidoRightMeio{

float: left;width: 250px;height: 160px;

}

#CodPedidoRightBotton{float: right;

}

#codigoProd{float:left;width:40px;

}

Page 46: Web Standards Como construir sistemas arrasadores usando AJAX

Configurando o CSSConfigurando o CSS#nomeProd{

float:left;width:130px;

}

#qtdProd{float:left;width:30px;

}

#valorProd{float: left;width: 30px;

}

Page 47: Web Standards Como construir sistemas arrasadores usando AJAX

UFA!!! UFA!!! Terminamos a 2ª CamadaTerminamos a 2ª Camada

Agora vamos testar como está o nosso sistema;

Veja que o sistema está medíocre;

Precisamos colocar comportamento;

Precisamos fazer o sistema funcionar; e

Vamos pensar em tudo: USABILIDADE e ACESSIBILIDADE.

Page 48: Web Standards Como construir sistemas arrasadores usando AJAX

O ComportamentoO Comportamento<script type="text/javascript" src="comportamento.js"></script>

function NovoCliente(){limpacampos("frmCadastroCliente");$.post("funcionalidades.php", {acao: "NovoCliente"}, function (retorno){

codigoNewCliente = retorno;$("#codpedido").val(codigoNewCliente);

$.post("funcionalidades.php", {acao: "Produtos"}, function (retorno){$("#printPodutos").html(retorno);

})})

}

Page 49: Web Standards Como construir sistemas arrasadores usando AJAX

O ComportamentoO Comportamentofunction SalvarDadosCliente(campo){

codigo = $("#codpedido").val();field = campo.name;valor = campo.value;$.post("funcionalidades.php",

{acao: "SalvarDadosCliente", codigo: codigo, field: field, valor: valor})

}

Page 50: Web Standards Como construir sistemas arrasadores usando AJAX

O ComportamentoO Comportamentofunction Excluir(){

codigo = $("#codpedido").val();$.post("funcionalidades.php",

{acao: "Excluir",codigo: codigo},function (retorno){

limpacampos("frmCadastroCliente");$("#itens").html("");$("#printPodutos").html("");

})}

Page 51: Web Standards Como construir sistemas arrasadores usando AJAX

O ComportamentoO Comportamentofunction VerSinopse(produto){

$.post("funcionalidades.php", {acao: "VerSinopse", produto: produto},function (retorno){

$("textarea[@name=descricao]").val(retorno);})

}

Page 52: Web Standards Como construir sistemas arrasadores usando AJAX

O ComportamentoO Comportamentofunction AddProduto(){

produto = $("#produto").val();cliente = $("#codpedido").val();if (produto == 0){

alert("OPS! Você esqueceu de escolher um produto");return false;

}else{$.post("funcionalidades.php",

{acao: "AddProduto", produto: produto,cliente: cliente},function (retorno){

$("#itens").html(retorno);}

)}

}

Page 53: Web Standards Como construir sistemas arrasadores usando AJAX

O ComportamentoO Comportamentofunction ExcluirProduto(id){

$.post("funcionalidades.php", {acao: "ExcluirProduto", id: id},function (retorno){

$("#"+id).hide();}

)}

Page 54: Web Standards Como construir sistemas arrasadores usando AJAX

Referências Referências BibliográficasBibliográficas

del.icio.us/serginhosant/webstandards