59
Visão geral de desenvolvimento web Professor: Rodrigo Lins Rodrigues Aula 1 – 07 e 09 de 02/2012 e

Introdução sobre desenvolvimento web

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Introdução sobre desenvolvimento web

Visão geral de desenvolvimento web

Professor: Rodrigo Lins RodriguesAula 1 – 07 e 09 de 02/2012 e

Page 2: Introdução sobre desenvolvimento web

Conceitos que fundamentam a

Web

Page 3: Introdução sobre desenvolvimento web

O que é Web 2.0? Ciclos da Web Abrangência Web 2.0 Hoje Mercado de Trabalho “2.0”

Conteúdo

Page 4: Introdução sobre desenvolvimento web

Informação a qualquer hora, em qualquer lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada;

O que é isso?

Page 5: Introdução sobre desenvolvimento web

Voltar ao tempo para entender o termo; A evolução da web; Ciclo.

O que é WEB 2.0?

Page 6: Introdução sobre desenvolvimento web

1º Ciclo: 1994 - 1996

Requisição básica client-server

Conteúdo: Estático e atualizado pelos webmastes;

Tecnologia: Escassas e limitadas; Desenvolvimento: Praticamente artesanal; Serviços: Apenas uma vitrine, nenhuma

interação do usuário.

Page 7: Introdução sobre desenvolvimento web

2º Ciclo: 1997 - 2000

Requisição usando banco de dados

Conteúdo: A publicação de artigos e notícias se torna automatizado;

Tecnologia: Evolução das tecnologias e surgimento de outras;

Desenvolvimento: Surgem softwares que ajudam em algumas partes do processo;

Serviços: Surgem as primeiras aplicações comerciais, os usuários já tem alguma interatividade. Inícios dos "Webmails"

Page 8: Introdução sobre desenvolvimento web

Conteúdo: Ainda mais dinâmico, mais customizável e mais abrangente. (Música, video e animações);

Tecnologia: Tecnologia começa a se tornar padrão com (XHTML, CSS, XML). A era do Flash. Os navegadores alcançam níveis satisfatórios de recursos;

Desenvolvimento: Surgem NOVOS softwares que ajudam em algumas partes do processo ;

Serviços: Deixam de ser vitrines e se tornam aplicações profissionais. O usuário confia um pouco mais na web e começa a comprar pela internet.

3º Ciclo: 2001 - 2004

Page 9: Introdução sobre desenvolvimento web

Conteúdo: Em sua grande maioria livre. Os usuários; Tecnologia: Padrões muito mais próximos ao W3C;

Surgimento do AJAX, consolidação do padrão XML;

Desenvolvimento: Mais automatizado, mais ferramentas de desenvolvimento, muito mais produtivo. Seja no cliente ou no Servidor.

Serviços: O uso de recursos como o Ajax, deixam os sites com aparência de aplicações. Os usuários tem muito mais interação com os sites, conquistam mais poder e liberdade

4º Ciclo: 2004 - ?

Page 10: Introdução sobre desenvolvimento web

Entendendo o desenvolvimento

web

Page 11: Introdução sobre desenvolvimento web

Informação a qualquer hora, em qualquer lugar;

Rápidos resultados; Portabilidade absoluta; Manutenção facilitada;

Vantagens

Page 12: Introdução sobre desenvolvimento web

Visualização de dados sem comunicação externa (conteúdo estático)

A partir da troca de dados, entre um cliente e um servidor (conteúdo dinâmico)

Arquitetura client-server: requisição - resposta

Como funciona?

Page 13: Introdução sobre desenvolvimento web

Como funciona?

Requisição básica client-server

Page 14: Introdução sobre desenvolvimento web

Como funciona?

Requisição usando banco de dados

Page 15: Introdução sobre desenvolvimento web

Desenvolver pra web resume-se, então, em"criar interfaces (páginas) que dão acesso a

um conteúdo local ou externo, sendo este através de requisições e respostas (troca de dados)."

Definição

Page 16: Introdução sobre desenvolvimento web

Desenvolvimento front-end:

desenvolvimento em camadas

Page 17: Introdução sobre desenvolvimento web

Uma página web constitui-se de três camadas:◦ Conteúdo◦ Apresentação◦ Comportamento

A divisão em camadas, além de ser uma boa prática, facilita o nosso trabalho e nos oferece mais performance ao projeto.

“Camadas”?

Page 18: Introdução sobre desenvolvimento web

Uma página web constitui-se de três camadas:◦ Conteúdo◦ Apresentação◦ Comportamento

A divisão em camadas, além de ser uma boa prática, facilita o nosso trabalho e nos oferece mais performance ao projeto.

“Camadas”?

Page 19: Introdução sobre desenvolvimento web

Conteúdo

Apresentação

Comportamento

Modelo de desenvolvimento em camadas: organização de código, facilitação do trabalho

“Camadas”?

Page 20: Introdução sobre desenvolvimento web

Camada fundamental, a mais importante. Na maioria das vezes, HTML – hoje evoluído

para XHTML.

Camada de Conteúdo

Page 21: Introdução sobre desenvolvimento web

XHTML É a linguagem responsável por exibir e estruturar os dados.

Teoria muito simples, fácil entendida quando bem usada

Deve ser sempre o mesmo código, independentemente do dispositivo / programa que acessa a página.

Camada de Conteúdo

Page 22: Introdução sobre desenvolvimento web

Basicamente, é a formatação, o design da página.

Deve ser construída a partir de uma linguagem chamada CSS (Cascading Style Sheet – Folha de estilos encadeados)

Camada de Apresentação

Page 23: Introdução sobre desenvolvimento web

CSS é a parte do código que cuida do layout, design e formatação da página e seus componentes;

Uso simples, intuitivo; Pode mudar de acordo com o dispositivo ou

programa que está acessando a página, ou até mesmo com as preferências do usuário.

Camada de Apresentação

Page 24: Introdução sobre desenvolvimento web

item {cor: vermelho;tamanho: 2;

}parágrafo {

destaque: negrito;alinhamento: centralizado;

}

Exemplo - CSS

Analogia à estrutura do CSS

Page 25: Introdução sobre desenvolvimento web

Até agora, temos pouca interação com o usuário.

Tem conteúdo, é bonito. Mas é sem graça. O usuário precisa interagir mais com a

página, e a página precisa reagir a comandos do usuário! A página precisa de comportamento!

E agora?

Page 26: Introdução sobre desenvolvimento web

É a camada que permite melhorar a interação do usuário com a página;

É composta principalmente por uma outra linguagem, chamada JavaScript. Muitas vezes essa camada fica restrita a determinados dispositivos / programas.

Camada de comportamento

Page 27: Introdução sobre desenvolvimento web

Uma poderosíssima linguagem de programação, mais voltada para a Web, que nos oferece inúmeros recursos para uma página;

Recursos mais avançados da linguagem, às vezes, requerem um navegador mais aprimorado;

JavaScript!

Page 28: Introdução sobre desenvolvimento web

resultado = pergunta("Deseja realmente sair da página?");

se (resultado == sim) {sair();

} senão {permanecer();

}

Analogia à estrutura do JavaScript

Page 29: Introdução sobre desenvolvimento web

XHTM

LCSSJa

vaScriptModelo de desenvolvimento em camadas: linguagens utilizadas

Resumindo....

Page 30: Introdução sobre desenvolvimento web

Desenvolvimento back-end

Page 31: Introdução sobre desenvolvimento web

Entendendo....

Servidores Web, BD Internet

Terceirizável Manutenção Mínima,

Tempo Zero de ConfiguraçãoAplicação

Cliente com Web Browser

Page 32: Introdução sobre desenvolvimento web

Algumas tecnologias

Page 33: Introdução sobre desenvolvimento web

Padrões Web: fazendo certo

Page 34: Introdução sobre desenvolvimento web

É um conjunto de normas e recomendações para o desenvolvimento web que visam padronizar e, assim, facilitar a programação e acesso.

Padrões Web?

Page 35: Introdução sobre desenvolvimento web

Um consórcio chamado W3C (World Wide Web Consortium), que foi criado para tornar a Web "universal", criando padrões;

É composto por empresas na área de tecnologias pra Web;

Quem cria?

Page 36: Introdução sobre desenvolvimento web

O maior problema que enfrentamos hoje, quando estamos desenvolvendo uma aplicação web, é a incompatibilidade de nossos projetos entre navegadores.

Padrões Web

Page 37: Introdução sobre desenvolvimento web

Quando a Web surgiu, navegadores começaram a adicionar recursos que apenas ele possuíam, no intuito de atrair desenvolvedores;

O problema era que todos os navegadores eram usados. E o usuário tem direito a ter acesso onde ele quiser;

“Despadronizados”

Page 38: Introdução sobre desenvolvimento web

Internet Explorer e Netscape Navigator, os mais usados na época, travaram uma verdadeira "guerra";

O resultado foi que cada site tinha que ter uma versão para cada navegador;

E quem era mais prejudicado? Isso. Nós. Desenvolvedores.

“Despadronizados”

Page 39: Introdução sobre desenvolvimento web

Então entramos na briga e agora apoiamos completamente os padrões web.

E agora os navegadores estão cada vez mais se aprimorando neste aspecto.

Próxima geração (mais usados):

Navegadores

Page 40: Introdução sobre desenvolvimento web

Quais as áreas de trabalho ?

Page 41: Introdução sobre desenvolvimento web

Desenvolvedor back-end◦ JAVA,php, ruby, django (python), asp;

Desenvolvedor front-end◦ Html 5, CSS3, javascript;◦ Usabilidade / Acessibilidade

Arquitetura web◦ SOA◦ Web-Services◦ API

Segurança web

Áreas de trabalho

Page 42: Introdução sobre desenvolvimento web

Arquitetura

Page 43: Introdução sobre desenvolvimento web

Execução no Cliente (Browser) HTML CSS Javascript XML ...

Page 44: Introdução sobre desenvolvimento web

HTML

<html> <head> <title>Título da Página</title> </head> <body> Esta é minha primeira página. </body></html>

Page 45: Introdução sobre desenvolvimento web

CSS<html> <head> <link href="pagina.css" rel="stylesheet" type="text/css" /> <title>Título da Página</title> </head> <body> Esta é minha primeira página. </body></html>

Page 46: Introdução sobre desenvolvimento web

CSS – “pagina.css”

body { background-color : #ffffff; color : #000000;}

Page 47: Introdução sobre desenvolvimento web

JavaScript

<html><body>

<script type="text/javascript">

for (i = 0; i < 5; i++){

document.write("Alo você !!!")

document.write("<br />")}</script>

</body></html>

Page 48: Introdução sobre desenvolvimento web

JavaScript<html> <head> <script type="text/javascript"> function alo(k) { var s = ""; for (i = 0; i < k; i++) { s = s + "Alo você !!!" s = s + "<br />" } return s } </script> <title>Alouuuuuu</title> </head>

<body> <script type="text/javascript"> document.write(alo(4)) </script> </body></html>

Page 49: Introdução sobre desenvolvimento web

XML<?xml version="1.0" encoding="UTF-8"?><livros>

<livro isbn=“0001”><titulo>JavaServer

Pages</titulo><autor>Nick Todd</autor><editora>Campus</editora><assunto>JSP</assunto>

</livro><livro isbn=“0002”>

<titulo>Meu pé de laranja lima</titulo>

<editora>Vozes</editora><autor>Brilhante</autor>

</livro></livros>

Page 50: Introdução sobre desenvolvimento web

Execução no Cliente (Browser) “Inferno” dos web-designers:

compatibilidade entre browsers!◦ Firefox◦ Opera◦ Internet Explorer (IECA)◦ Konqueror

Page 51: Introdução sobre desenvolvimento web

Execução no Servidor

Necessidade dos websites oferecerem conteúdos dinâmicos e atualizados

Ciclo de vida da informações trafegadas entre servidor e cliente (escopo)

Linguagens de script◦ JSP◦ ASP◦ PHP◦ Perl

Page 52: Introdução sobre desenvolvimento web

Execução no Servidor

Servidores Web◦ IIS◦ Apache◦ Tomcat

Page 53: Introdução sobre desenvolvimento web

Apache

Servidor web mais utilizado no mundo atualmente (Fonte: Netcraft)

Software Livre Escrito em C Executa diversas linguagens script: PhP,

Perl, ASP, etc. Possui suporte nativo ao MySQL

Page 54: Introdução sobre desenvolvimento web

Tomcat Implementação de referência para

JSP/Servlets (Java) Escrito em Java Devido à sua simplicidade e fácil instalação,

é comumente utilizado em cursos para desenvolvimento web

Page 55: Introdução sobre desenvolvimento web

Servidores de Aplicação Estes servidores oferecem recursos

comuns a diferentes aplicações (autenticação, conexão à BDs, suporte a transação, etc)

Pensando-se numa arquitetura em camadas, um servidor de aplicação é um servidor que hospeda e oferece serviços para outras aplicações

Com isso, espera-se que os desenvolvedores poupem tempo para implementação da lógica do negócio

Page 56: Introdução sobre desenvolvimento web

RSS

Formato padrão, baseado emXML Tem sido adotado por websites que

disponibilizam informações na rede, como sites de jornais, blogs, sites institucionais, etc.

Hoje existem diversos leitores (agregadores) de RSS: browsers, programas de e-mail, softwares, etc ..

Page 57: Introdução sobre desenvolvimento web

RSS

Page 58: Introdução sobre desenvolvimento web

Web Services

Proposta:◦ Integração de sistemas através do uso de XML

sobre HTTP Tecnologias:

◦ XML◦ WSDL (Web Service Description Language)◦ SOAP (Simple Object Access Protocol)

Vantagens:◦ Integração com baixo acoplamento◦ Independe das linguagens de implementação

Page 59: Introdução sobre desenvolvimento web

AJAX Asynchronous Javascript And XML Construção de páginas mais dinâmicas

através de chamadas assíncronas ao servidor

Não é uma tecnologia, mas sim uma combinação de tecnologias◦ XHTML + CSS + XML + XSLT + XMLHttpRequest e

JavaScript