Buscar

Aulas 1 a 10

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Teste 1
1.Marque a afirmativa que corresponde às assertivas abaixo:
a.	Um sítio da Web 2.0 tem o seu conteúdo com informações geradas por empresas.
b.	Os anúncios são contratados por exibição na Web 2.0.
c.	Os buscadores usam categorias na Web 2.0.
1) Todas estão corretas. 
2) A primeira e a última estão corretas. 
3) Somente a última está correta. 
Resposta: Somente a primeira está errada. 
5) Somente a segunda está errada. 
2.Marque a resposta que só possui características Web 2.0:
 
1) Google Adsense, Wikipedia, Britânia Online. 
 2) Website pessoal, Bit Torrent, Page Views. 
 Resposta: Inteligência Coletiva, Folksonomy, Blogging. 
 4) Taxonomy, Napster, Akamai. 
 5) Ofoto, Web Services, Flickr. 
3.A técnica que permite um clique que, em um link ou em um botão de formulário, atualiza as informações da página atual sem que seja necessário carregar uma página inteira chama-se:
 1) Dot.Net. 
 Resposta: Ajax. 
 3) PHP. 
 4) Scrum. 
 5) ASP. 
4.Quando foi definido o termo Web 2.0:
 
1) o W3C determinou que a Web havia passado por muitas transformações e deveria ser encarada de outra forma. 
 2) TIM Berners-Lee apresentou um novo conceito sobre uso da Internet. 
 3) a construção de páginas passou a usar recursos que eram muito modernos e que os Webdesigners chamaram de Web 2.0. 
 4) a Microsoft passou a publicar o termo em seu site e os profissionais de informática passaram a usá-lo. 
Resposta: nome usado em uma série de conferências da O’Reilley.
Teste 2
1.Marque a afirmativa que corresponde às assertivas abaixo:
a. Um interface rica somente pode ser feita usando o Flash.
b. O Javascript pode ser usado sem estar associado ao Ajax.
c. Pode ser feito o drag and drop (arrastar e soltar) nas interfaces ricas.
 1) Todas estão corretas 
 2) A primeira e a última estão corretas 
 3) Somente a última está correta 
 4) Somente a primeira está correta 
Resposta: Somente a segunda e a terceira estão corretas 
2.Marque a tecnologia que não possui relação ao desenvolvimento de RIA.
 1) Ajax 
 2) XHTML 
Resposta: MPEG 
 4) Flash 
 5) DOM 
3.A ação de um botão de um formulário em uma interface rica deve ser desenvolvida de que forma?
 1) Usando um botão do tipo SUBMIT para chamar outra página. 
Resposta: Usar o evento onClick para chamar a função que irá fazer a chamada ao objeto XMLHttpRequest. 
 3) Usando um botão do tipo RESET para chamar outra página. 
 4) Usar o evento onClick para chamar a função que irá fazer a chamada ao método submit() do formulário. 
 5) Usando um botão do tipo BUTTON para chamar outra página/arquivo que está configurada no atributo action da tag form. 
4.Marque um uso que não pode ser feito com a tag “DIV” em uma página XHTML.
Resposta: Ser a raiz a página XHTML. 
 2) Apresentar texto. 
 3) Verificar se o mouse está sobre ele. 
 4) Ocultar uma parte da página. 
 5) Carregar um formulário.
Teste 3
1.O que é SGML?
 1) Tecnologia para criar páginas Web 
 2) Implementação que contém todas as tags do HTML 
 3) A sigla significa System Global Markup Language 
Resposta: Metalinguagem que define as linguagens de marcação 
 5) Surgiu a partir do HTML para que fosse criado o XHTML 
2.Como são enviados os dados de um formulário quando ele utiliza o método “GET”?
 Resposta: Através da URI. A parte que contém os campos e os dados é chamada de querystring. 
 2) São enviados junto com a requisição da página. 
 3) São enviados da mesma forma que o método “POST”. 
 4) São enviados obrigatoriamente por AJAX. 
 5) O método “GET” não envia dados apenas solicita um recurso do servidor. 
3.A tag “DIV” possui várias utilizações marque a opção que descreve uma funcionalidade que não pode ser realizada pela tag.
 
 1) É utilizada para a construção de menus suspensos (menus drop down). 
 2) Permite a montagem do leiaute (layout) de uma página, conhecido como tableless. 
Resposta: Envio de formulário preenchido pelo usuário. 
 4) Apresentação de mensagens para o usuário. 
 5) Exibir e ocultar áreas da página.
Teste 4
1.Marque a afirmativa errada:
Resposta: O arquivo externo segue as regras do XML 
 2) Todas as configurações (formatações) devem ser terminadas com um ponto e vírgula, sendo opcional na última do estilo 
 3) Podemos listar várias tags antes das chaves, todas elas terão o estilo aplicado nelas 
 4) Podemos configurar as linhas em volta do texto, sendo cada uma com uma cor diferente 
 5) Um dos pseudo elementos funciona da mesma forma que eventos, sendo acionado por ações do usuário enquanto usa a interface 
2.Podemos colocar os estilos em três locais diferentes, assinale a afirmativa correta:
 1) A criação de estilo inline permite que se altere todo estilo de um sítio de uma forma fácil 
 2) Os estilos incorporados nunca devem ser usados, pois precisam ser reescritos várias vezes na mesma página 
Resposta: Um estilo inline pode alterar a configuração especificada em um arquivo externo para a sua tag 
 4) Uma página só pode possuir um único estilo externo 
 5) Um formatação usada em um estilo incorporado altera a formatação de um estilo inline para a sua tag
Teste 5
1.O padrão atual usado para linguagens scripts clientes interpretada pelos navegadores é o ECMAScript-262Marque a afirmação correta sobre Javascript:
 Resposta: O padrão atual usado para linguagens scripts clientes interpretada pelos navegadores é o ECMAScript-262 
 2) Javascript e Jscript foram criadas pela Netscape, a segunda foi uma alteração da primeira para funcionar no Internet Explorer 
 3) Um script feito em Javascript funciona da mesma forma em todos os navegadores 
 4) O Javascript tem esse nome por ter sido criada a partir do Java 
 5) A Microsoft lançou o Javascript primeiramente e a Netscape copiou a linguagem, colocando-a em seu navegador 
2.Marque a opção que informa um local inválido para ser colocado um código Javascript em um documento XHTML válido:
 1) Dentro da macacão "script", no interior da marcação "head". 
 2) Dentro da macacão "script", no interior da marcação "body". 
 3) Diretamente no evento de um objeto. 
Resposta: Dentro da macacão "script", após a marcação "html". 
 5) Em um arquivo externo, sem a marcação script. 
3.As estruturas da linguagem permitem que repitamos o nosso código ou que façamos que apenas parte do código seja executada. Marque a estrutura a opção que possui a explicação correta para a sua estrutura.
 1) for – principal estrutura de repetição, utiliza uma única instrução entre os parênteses 
Resposta: if – estrutura de seleção que possui um complemento ("else") para que seja executado apenas um dos dois conjuntos de instruções. 
 3) while – estrutura de seleção que permite que um conjunto de instruções seja executado ou não 
 4) do – possui um par que informa se o conjunto de instruções continuará sendo executado, isso ocorre caso o valor testado seja falso. 
 5) switch – estrutura de seleção que utiliza os operadores relacionais para determinar qual opção será executada. 
4.O evento é a porta do funcionamento das interfaces para os sistemas operacionais de janela. Criamos códigos para tratar as operações que o usuário irá realizar com a tela. A interface de um sistema que precise que o cliente arraste uma imagem do produto para a imagem do produto precisará acompanhar vários eventos, marque a opção que lista eventos que podem ser usados nesse cenário.
 1) onload – onmouseover 
 2) onselect – onload 
 3) onmouseover - onsubmit 
 Resposta: onclick - onmouseover 
 5) onsubmit - onfocus
Teste 6
1.O DHTML teve seu início em que época:
 1) Foi introduzido no navegador Netscape 2.0 junto com todas as novidades que ele trouxe. 
 2) O Internet Explorer revolucionou a Web ao apresentara versão 3.0 do seu navegador, ele contemplava a criação de estilos com CSS, permitindo a técnica DHTML. 
Resposta: As versões 4.0 dos navegadores Netscape e Internet Explorer permitiram o desenvolvimento com DHTML, apesar da grande dificuldade existente na verificação de erro. 
 4) O DOM e o CSS foram introduzidos no HTML 4.0, só sendo possível construir DHTML para as versões 5.0 dos navegadores IE e NS. 
 5) O DOM, o CSS e o Javascript já eram totalmente contemplados na versão 3.2 do HTML, tornando possível o seu uso completo nas versões dos navegadores compatíveis com essa versão do HTML. 
2.A recomendação w3C para se recuperar um campo de formulário na estrutura da página é:
 1) Usar o nome do formulário e o nome do campo diretamente após o objeto "document". 
 2) Usar o id do formulário e o id do campo diretamente após o objeto "document". 
 3) Usar o método getElementByName do objeto "document". 
 Resposta: Usar o método getElementById do objeto "document". 
 5) Usar o nome do formulário e o id do campo após o objeto "document". 
3.Devemos usar par recuperar o botão teclado do mouse:
 1) onmouseover do "body" 
 2) onmouseclick dos elementos do DOM 
 3) onmousedown do "div“ 
 4) evento do objeto mouse 
Resposta: através da propriedade button do objeto event. 
4.A verificação do navegador e sua versão pode ser feita através de:
Resposta: Através das propriedades appName e appVersion do objeto "navigator". 
 2) Através das propriedades appName e appVersion do objeto "browser". 
 3) Usando document.appName e document.appVersion. 
 4) Através das propriedades appName e appVersion do objeto "window". 
 5) Usando window.parentNode que irá retornar o navegador que está sendo usado, podendo ser recuperados os valores das propriedades appName e appVersion.
Teste 7
1.Marque a única afirmativa correta sobre jQuery:
 1) É um famework para acesso a bancos de dados através de consultas (queries) 
 2) É baseado no famework prototype, assim como Ruby on Rails 
Resposta: É um famework javascript que visa diminuir a quantidade de código escrito 
 4) A criação dos seletores dificultaram a criação com o framework 
 5) Os plugins são desenvolvidos pela equipe do jQuery para que seja mantida a comaptibilidade 
2.jQuery possui um método “css”para os objetos recuperados com seletores. Marque a questão que informa tipos de seletores válidos.
Resposta: a marcação, atributo id e nome da classe. 
 2) atributos id e name de uma marcação. 
 3) o id seguido da classe para recuperar uma marcação específica. 
 4) o nome da marcação seguido do valor do atributo name dos elementos filhos. 
 5) usamos os seletores com o método getElementById. 
3.Foi introduzido no navegador Netscape 2.0 junto com todas as novidades que ele trouxe.
 1) O Internet Explorer revolucionou a Web ao apresentar a versão 3.0 do seu navegador, ele contemplava a criação de estilos com CSS, permitindo a técnica DHTML. 
Resposta: As versões 4.0 dos navegadores Netscape e Internet Explorer permitiram o desenvolvimento com DHTML, apesar da grande dificuldade existente na verificação de erro. 
 3) O DOM e o CSS foram introduzidos no HTML 4.0, só sendo possível construir DHTML para as versões 5.0 dos navegadores IE e NS. 
 4) O DOM, o CSS e o Javascript já eram totalmente contemplados na versão 3.2 do HTML, tornando possível o seu uso completo nas versões dos navegadores compatíveis com essa versão do HTML.
Teste 8
1.Marque a única afirmativa errada sobre Flash:
 1) Permite que construamos formulários de cadastro 
Resposta: Possui uma linguagem própria chamada Flashscript 
 3) A linha do tempo controla determina o que está sendo apresentado no momento 
 4) Existem três tipos de símbolos 
 5) O palco é o local onde são colocados os elementos que poderemos interagir 
2.A IDE do Flash é uma ferramenta com muitos recursos, ela permite que façamos desenhos, controlemos nossos símbolos e programemos. Qual o elemento que tem o funcionamento igual a de um filme Flash?
 1) Gráfico 
 2) Botão 
 3) Retângulo 
 4) Componente 
Resposta: Clipe de Filme 
3.Escolha a opção correta para uso de recursos do Flash:
 Resposta: As cenas permitem que tenhamos telas diferentes, facilitando a criação de fases em jogos, a criação de "páginas" diferentes em um site. 
 2) Os símbolos servem para a organização das informações na tela. 
 3) Usamos as camadas para organizar os desenhos, sendo obrigatório a colocação de desenhos ou símbolos em todas as camadas. 
 4) A janela propriedades permite que alteremos as configuração de um elemento da tela, inclusive a conversão para símbolo. 
 5) Todos os ícones da "Barra de Ferramentas" possuem um sub-menu para selecionar a ferramenta específica. 
4.A programação em Flash permite que os filmes sejam mais do que simples seqüência de quadros, passando a ser uma interface interativo com vários recursos. Marque a opção errada em relação à codificação:
 1) A declaração de variáveis com classes que não estejam no mesmo pacote exige que seja feita a importação da classe ou que se informe o caminho completo. 
 2) Podem ser usadas classes existentes no ambiente e classes definidas pelo desenvolvedor na definição de variáveis. 
 3) O elemento pode perceber uma ação sobre ele, essa ação dispara um evento. Devemos adicionar um escutador ao objeto para perceber que o evento ocorreu, associando a função que será executada. 
 Resposta: O Flash controla a posição dos elementos através do uso das propriedades "top" e "left" do objeto, possibilitando que se crie botões para alterá-las. 
 5) Pode ser controlada a execução do filme, um exemplo é a possibilidade de se desviar a execução para um quadro específico, mesmo que ele pertença a uma outra cena.
Teste 9
1.Um arquivo XML permite que troquemos dados entre sistemas de plataformas diferentes. O uso da metalinguagem para a criação de documentos forneceu avanços para a criação de padrões mais facilmente entendidos por programas. Marque a afirmação errada em relação ao manuseio de dados XML em páginas AJAX.
 1) Podemos criar um elemento através do método createElement do objeto document. 
 Resposta: Usamos elemento.getElementsByTagName("nome_de_elemento_filho")[0].nodeValue para recuperar o texto que fica entre o par de abertura e fechamento do elemento. 
 3) Podemos andar pelos filhos na hierarquia usando a propriedade childNodes ou com o método getElementsByTagName. 
 4) O método createTextNode do objeto document permite que coloquemos texto entre o par de abertura e fechamento do elemento. 
 5) O método appendChild pode ser usado em qualquer elemento para adicionarmos um filho ao elemento. 
2.O objeto XMLHttpRequest muda de estado (readyState) durante o processamento da requisição. A avaliação do estado permite que tomemos providências, o processo termina quando chega ao valor quatro. Podemos criar uma função para tratar o retorno recebido pelo objeto. Marque a questão errada sobre o processamento do objeto.
Resposta: O método de envio só pode ser feito por "GET", pois é enviada uma url e não temos campos de formulários dentro da função. 
 2) Usamos o estado 200 que informa que a requisição foi completa com êxito para tratarmos o retorno dos dados. 
 3) O objeto pode recuperar a informação recebida como texto (reponseText) ou como XML (responseXML), para trabalharmos com JSON é usado o retorno de texto. 
 4) O método open do objeto permite que se informe o endereço da página que será requisitada. 
 5) O método send envia a requisição para o servidor Web enquanto o open apenas configura.
Teste 10
1. Marque a característica que não tem relação com o desenvolvimento dot Net:
 1) Implantação simplificada 
Resposta: Compilação única 
 3) Interoperabilidade 
 4) Segurança 
 5) Independência de linguagem2.Símbolo usado para se representar herança na declaração de uma classe:
 1) -> 
 2) . 
 3) & 
 Resposta: : 
 5) $ 
3. Marque a opção que possui a definição correta para o modificador de acesso:
 1) protected - Permite acesso pela classe e por classes filhas 
 2) private - Permite acesso no mesmo programa e por classes filhas 
Resposta: protected - Permite acesso no mesmo programa 
 4) public - Permite acesso apenas pela própria classe 
 5) private – Não possui restrições, qualquer classe pode acessá-la diretamente 
4. O framework dot Net possui objetos para tratamento de acesso ao banco de dados. Marque o espaço de nomes (namespace) que não cuja finalidade não é possuir classes para manuseios de dados persistidos.
 1) System.Data.OleDB 
 2) System.Data.SqlTypes 
 Resposta: System.Data.SqlTDS 
 4) System.Data.SqlClient 
 5) System.Data. Common 
5. Marque a característica que não tem relação com o ambiente de desenvolvimento Visual Web Developer:
 1) Permite o uso da linguagem VB.NET 
 2) Podemos criar uma conexão com auxílio de caixas de diálogos 
 3) É possível acessar gerenciadores de banco de dados de outras empresas, desde que exista um driver dot.net para ele 
 4) É possível exibir dados de uma tabela do banco em uma página Web sem se escrever uma linha de código 
Resposta: linguagem de acesso ao banco de dados MySQL usada nele é o PHP.
Aula 1
A EVOLUCAO DA WEB
A Web passou por várias transformações desde sua criação, o objetivo inicial era para podermos interligar documentos, permitindo que as pessoas pudessem acessar as fontes usadas em pesquisas, continuações de trabalhos. Os navegadores evoluíram e passaram a ter mais recursos, a reconhecer uma gama maior de marcações ( tags ), forçando ao Consócio gestor da Web a incorporam algumas no padrão do HTML. O uso da Web cresceu em uma velocidade e uma dimensão nunca esperada. Começou-se a usar a Web para vários fins diferentes, criou-se o comércio eletrônico, as animações em Gif animado foram substituídas por filmes em Flash,  a Web realmente mudou.
ALGUNS FATOS
1990 – TIM Berners-Lee publica uma proposta para a World Wide Web junto com Robert Cailliau
1991 – Lançamento do NCSA Mosaic  (NCSA - Centro Nacional de Supercomputação Aplicada)
1994 – Jim Clark e Marc Andreessen se juntam e fundam a Mosaic Communications, que posteriormente foi rebatizada para Netscape Communications.
1995 – Microsoft lança o Internet Explorer.
1999 – É lançada a versão 5 do Internet Explorer. O navegador já possuía a API XMLHttpRequest.
2000 – A Microrft disponibiliza o Outlook Web Access, cliente de email que usava o navegador como frontend e utilizava a técnica Ajax de contrução de aplicação Web.
2002 – O projeto Mozilla inclui uma versão completamente funcional nsIXMLHttpRequest, permitndo que crie aplicações Ajax no navegador.
2004 – Safari lança uma versão com a API.
2005 – Konqueror e Opera lança a sua versão com a API
O desenvolvimento de sítios poderia ter mudado desde 2000 com a possibilidade incluída pela Microsoft, mas os programadores ainda estavam se acostumando com as possibilidades criadas pelas linguagens Web e os outros navegadores ainda não ofereciam suporte a API, limitando o uso desses tipos de página apenas em Intranets.
HTML e XHTML
Tim Berners-Lee propôs a especificação do HTML 1.0 contendo 20 tags, que junto com o programa Mosaic, tornando possível a confecção de páginas e a navegação sobre o protocolo HTTP. A linguagem já possuía suporte à link, listas e cabeçalhos, algumas foram descontinuadas.
Os navegadores solicitam as páginas Web.
Os Servidores procuram os arquivos e devolvem
as páginas com os outros aquivos que a compõe.
Em 1993, inicia o uso do CGI (Common Gateway Interface), permitindo que as páginas web não possuam apenas links, mas enviem informações para o servidor Web, que deixam de ter a tarefa de apenas encaminhar arquivos e passam a realizar processamento no servidor. A primeira linguagem difundida para aumentar as funcionalidades das páginas foi o PERL. Muitas outras linguagens foram e são usadas para que possamos ter páginas com conteúdo dinâmico.
Participaram da especificação do CGI:
Rob McCool (autor do servidor Web da NCSA). 
John Franks (autor do GN web server). 
Ari Luotonen (Desenvolvedor do servidor Web do CERN). 
Tony Sanders (autor do servidor Web Plexus). 
George Phillips (suporte do servidor Web da University of British Columbia).
Tim e Daniel Connolly fazem a proposição da HTML 2.0 junto ao W3C em 1993, tendo sido oficializada pelo W3C em 1995 com tags adicionais. A linguagem passa a permitir algumas característica a mais como imagem, título da página e formulários. Aumenta a interatividade das páginas, permitindo que o usuário envie informações para o servidores Web, sendo as informações processadas por scripts e programas CGI.
A versão 3 do HTML é proposta em 1995 com uma gama de novas funcionalidades, ela já incluía Style Sheet, o documento possuía 150 páginas. As empresa que criavam os navegadores implementaram parcialmente as especificações, fazendo que o HTML 3 não fosse um padrão de fato no início.
O Consócio W3 formaliza o padrão HTML 3.2, os grande produtores de browsers participaram das revisões da especificação, assim como todas as organizações membros do consórcio. O padrão trazia algumas evoluções como tabelas, applets Java, texto na mesma linha que imagens, subscrito e sobrescrito. A linguagem passa a possuir uma definição de tipo de documento.
Estrutura padrão HTML 3.2
Dave Raggett, junto com Arnaud Le Hors e Ian Jacobs fazem a proposição do HTML 4. A nova especificação continha aprimoramentos, podemos citar a programação para DOM (Document Object Model) e a inclusão da possibilidade se usar o estilo em cascata (CSS – Cascate Style Sheet).
A última versão do HTML foi revisada para 4.0.1, se mantendo como última até que a versão 5.0 esteja homologada e funcionando nos navegadores.
 
O W3C recomenda que se usa XTHML desde 2000, quando reformularam o HTML 4, usando como base o XML 1.0. Os documentos em HTML passaram a seguir as regras do XML, podendo ser validados e verificados com uma DTD (Document Type Definition).
Benefífios obtidos com a confecção de páginas em XHTML 1.0 em relação ao uso de HTML:
O XML permite a sua extensão com mais facilidade, fazendo com que desenvolvedores e navegadores possam implementar nova funcionalidades sem muita complicação. O XHTML possui uma especificação para a inclusão de novos módulos.
Estão surgindos novas formas de acesso à Internet, a visualização dos documentos podem ser direcionados para os equipamentos ou navegadores usados de uma forma mais fácil com a adoção do XHTML.
Web 2.0
"Web 2.0 é a mudança para uma internet como plataforma, e um entendimento das regras para obter sucesso nesta nova plataforma. Entre outras, a regra mais importante é desenvolver aplicativos que aproveitem os efeitos de rede para se tornarem melhores quanto mais são usados pelas pessoas, aproveitando a inteligência coletiva"
Tim O'Reilly
O termo Web 2.0 foi criado pela O'Reilly Media para dar nome para um conjunto de conferências em 2004. O termo foi associado a um conjunto de tecnologias, técnicas de criação de páginas e objetivo dos sítios que estavam sendo criados. O nome não foi bem recebido por todas as pessoas, Tim Berners-Lee contestou ouso do nome, pois muitos conceitos considerados como Web 2.0 já existiam há bastante tempo. O que não podemos negar é que mesmo que o pai da Internet não goste do termo, ele passou a ser considerado por todos.
Os serviços online gratuitos também vieram a substituir o uso de alguns programas pagos, a Web estava repleta de mudanças em relação a sua proposta inicial, não só quanto ao seu início, mas também em contraste aos primeiros sites de serviço. A interação, as funcionalidades, os frameworks Javascript que estavam surgindo,o crescimento do acesso a grande rede, o surgimento de conexões mais rápidas, eram mudanças em cima de mudanças. O cenário não era mais o mesmo, o nome pode não estar adequado para alguns, mas a sua criação ajudou a produzir um marco para a Web, aumentou-se a discussão sobre um mundo que estava a parte dos fóruns sobre metodologias, o desenvolvimento Web precisava amadurecer.
Nas conferencias WEB 2.0, os seguintes princípios foram destacados como características fundamentais:
Web 2.0 usa a rede como uma plataforma.
Usuário recebe, manipula e controlados os dados no site.
Arquitetura participativa na qual o usuário pode adicionar ou editar total ou parcialmente uma aplicação de acordo com suas necessidades e experiência.
Uma interface rica, interativa e amigável, baseado em Ajax ou estruturas similares.
Modelos de negócios enxutos facilitados pelo gerenciamento de conteúdos e serviços.
Fim do Ciclo de software ( versão beta ) 
Alguns aspectos de rede social.
Algumas interfaces gráficas, como gradientes e cantos arredondados 
(ausente na chamada era Web 1.0).
Conteúdo gerado pelo usuário
O CONTEUDO GERADO PELO USUARIO TEM SIDO A CHAVE PARA MUITAS DAS EMPRESAS LIDERES DE WEB 2.0. A EMPRESA DISPONIBILIZA UMA FERRAMENTA QUE AUXILIA O USUARIO UTILIZANDO AS INFORMAÇÕES INSERIDAS POR ELE. ESSE MODELO PODE SER ENCONTRADO EM SITES COMO AMAZON, EBAY, MERCADO LIVRE, MONSTER, LINKEDIN OU YOU TUBE. A COMUNIDADE AGREGA VALOR A ESSES SITES, QUE, EM MUITOS CASOS, SÃO QUASE INTEIRAMENTE CRIADOS SOBRE O CONTEUDO DO USUARIO.
A AMAZON UTILIZA AS INFORMAÇÕES DOS CLIENTES PARA AUXILIAR UM USUARIO, MOSTRANDO PRODUTOS QUE FORAM ADQUIRIDOS, JUNTO COM O PRODUTO QUE ESTA OBSERVANDO, ESSE TIPO DE AUXILIO PASSOU A SER USADO POR OUTRAS LOJAS PONTO COM.
O EBAY E O CLONE NACIONAL, MERCADO LIVRE, FORNECEM PARA O VENDEDOR UM AMBIENTE PARA DIVULGAR OS SEUS PRODUTOS E AUXILIA A VENDA COM FERRAMENTAS PARA PAGAMENTO. ESSE MODELO IMPULSIONOU O MODELO DE VENDA ENTRE PESSOAS FISICAS, POREM CRIOU UM AMBIENTE DE SONEGAÇÃO FISCAL.
Inteligência coletiva
É O CONCEITO DE QUE A COLABORAÇÃO PODE RESULTAR EM IDEIAS INTELIGENTES. TRABALHANDO JUNTOS OS USUARIOS COMBINAM SEU CONHECIMENTO PARA O BENEFICIO DE TODOS. O MAIOR SIMBOLO DESSE TIPO DE USO SÃO OS WIKIS.
OS WIKIS SÃO SITES WEB QUE PERMITEM AOS USUARIOS EDITAR O CONTEUDO EXISTENTE E ACRESCENTAR NOVAS INFORMAÇÕES, SÃO EXCELENTES EXEMPLOS DE CONTEUDO GERADO PELO USUARIO E INTELIGENCIA COLETIVA. O WIKI MAIS POPULAR É O WIKIPEDIA, UMA ENCICLOPEDIA GERADA PELA COMUNIDADE COM ARTIGOS DISPONIVEIS EM MAIS DE 200 IDIOMAS. A WIKIPEDIA CONFIA QUE SEUS USUARIOS SEGUIRAM DETERMINADAS REGRAS COMO NÃO EXCLUIR INFORMAÇÕES CORRETAS NEM ACRESCENTAR INFORMAÇÕES TENDENDIOSAS E PERMITE QUE MEMBROS DA COMUNIDADE IMPONHAM AS REGRAS.
PERMITE QUE CLASSIFIQUEMOS CONTEUDOS COLOCANDO MARCAÇÕES, AS PAGINAS ANTIGAS POSSUIAM AS MARCAÇÕES FEITAS APENAS PELA PESSOA QUE A CONSTRUIA, POIS ERA USADA A TAG META. OS USUARIOS PASSARAM A INFORMAR O RELACIONAMENTO QUEO CONTEUDO TINHA PARA O MEIO DELA, APLIANDO O CONCEITO DE BUSCA DE INFORMAÇÕES.
OS VIDEOS DO YOU TUBE PUDERAM SER CLASSIFICADOS ASSIM COMO O CONTEUDO DE UM BLOG, AS MARCAÇÕES PASSARAM A SER TÃO DINAMICAS QUANTO O CONTEUDO QUE ESTAVA SENDO CONSTRUIDO NA WEB. O DEL.ICIO.US E O FLICKR GANHAM EM NAVEGAÇAO COM USO DAS TAGS, POIS OS FATOS RELACIONADOS SÃO MARCADOS CONFORME VÃO SURGINDO, AMPLIANDO A EXPERIENCIA DO USUARIO. OUTROS SITES SE UTILIZAM DESSE RECURSO PARA FAZER COM QUE ASSUNTOS GANHEM MAIS IMPORTANCIA COMO O DIGG.
As rede sociais começaram a ser usadas muito antes da Web 2.0, as possibilidades nessa nova era da Internet foi ampliado pelas tecnologias existentes. O primeiro sítio considerado como Rede Social que temos conhecimento é o SixDegrees.com, ele foi lançado 1997. 
Uma rede social tem a finalidade de conectar pessoas, permitindo que elas sejam localizadas e se agrupem. Ela deve possibilitar que exista privacidade junto com a visibilidade, parece que sejam antagônicos, mas a visibilidade permite que as pessoas sejam encontradas, enquanto que a privacidade permite que se controle que conteúdo pode estar disponível ou não. 
Existem várias classificações que podem ser feitas nas redes sociais, tais como: site de relacionamento, redes de profissionais, jogos online, etc.
O Brasil atingiu a marca de maior número de usuários no Orkut.
Mídia Social
"Um grupo de aplicações para Internet construídas com base nos fundamentos ideológicos e tecnológicos da Web 2.0, e que permitem a criação e troca de Conteúdo Gerado pelo Utilizador (UCG)" - Andreas Kaplan e Michael Haenlein
A diminuição do preço das câmeras web, câmeras digitais e das filmadoras digitais possibilitou que um grande número de pessoas gerasse muita informação, criando a necessidade de que essa mídia fosse disponibilizada para as pessoas conhecidas. Surgiram sites que permitiam que colocássemos esse novo tipo de material na Internet e que outros acessassem o conteúdo. A mudança que ocorreu com a Web 2.0 é que a informação era compartilhada, podia-se buscar as informações e fazer registros, não estava mais pessoal e sim global, fazia paste de uma galeria dos navegantes da Web.
O YouTube passou a ser o maior símbolo desse movimento, onde as pessoas colocam os seus vídeos e os espectares podiam avaliar, guardar em favoritos, compartilhar e receber os vídeos afins.
Os blogs datam da década de 90, criado por Jorn Barger com o nome de Weblog. O primeiro site foi o http://robotwisdom.com, que obteve um grande número de acesso apesar de não ter nenhum requiste visual. O nome passou a ser chamado de Blog quando Peter Merholz dividiu a palavra em duas, ficando We-Blog, no final dos anos 90.
Eles possuíam vários usos, desde diários online até a uma visão jornalística, o que foi mais perceptível na época em que estavam começando a se discutir sobre a Web 2.0, pois os usuários estavam construindo a informação.
 
Um blog é composto de textos que são colocados, acompanhados ou não de fotos, podendo possuir links para outras páginas ou blogs. Os visitantes podem fazer comentários sobre as postagens realizadas. Existiram blogs para tudo o que se possa imaginar. O número de blogs passa da casa dos 100 milhões em toda a Internet.
Aula 1
Introdução
O crescente uso da Web trouxe necessidades, aplicações e usuários. O tipo de funcionamento incomodava os navegantes da grande teia, pois era necessário esperar um longo tempo para que cada página fosse carregada, além disso, cada sítio processava uma solicitação após a outra, diferentemente dos programas usados, que permitiam executar tarefas enquanto uma anterior ainda não tivesse terminado.
A inclusão da API XMLHttpRequest pela Microsoft permitiu que a construção de páginas evoluísse. Não era mais necessário esperar o término de uma ação para que pudéssemos clicar em outro botão. A evolução do DHTML (Dynamic HTML – Javascript + CSS + HTML) permitia que as telas tivessem mais possibilidades na interação, aumento a atratividade e mantendo o usuário mais tempo acessando a mesma página. Os desenvolvedores começaram a mudar a forma de construir suas páginas, trocando as tabelas por camadas como ferramenta de estruturar os leiautes, essa modo de se criar páginas é conhecido como tableless.
O cenário estava propício para que os programadores e designers Web adotassem uma nova técnica, o Ajax passa a ser o grande artifício para que as páginas funcionem de forma semelhante aos programas que eram executados nos computadores.
Funcionalidades possíveis em interfaces ricas
- Preenchimento automático a partir de seleções.
- Drag and drop (arrastar e soltar).
- Atualizações parciais das páginas.
- Menus dinâmicos.
- Animações dinâmicas.
O termo RIA foi usado pela primeira vez em março de 2003 em um white paper (documento oficial publicado) pela Macromedia. Outros termos foram usados para definir o mesmo tipo de construção de páginas, como Remote Scripting pelaMicrosoft em 1999.
Os navegadores passam a controlar as respostas às ações do usuário, as atualizações das partes da tela e o funcionamento da interface na máquina do usuário. A atualização das informações e os processamentos continuam ocorrendo no servidor Web.
Diferenciando o funcionamento
As páginas Web possuíam o seu funcionamento ditado pelos links do HTML, onde uma página chamava outra, ocorrendo sempre o carregamento inteiro de uma página. Uma forma utilizada para se diminuir o carregamento foi a utilização de páginas com frames, usando-se as tags frameset e frames para se definir as divisões. A página era chamada para um quadro específico, enquanto os outros mantinham as suas informações, não sendo necessário transferir novamente os arquivos para os outros quadros. Os designers contestavam muita a utilização de frames.
A construção de páginas com a técnica Ajax muda a forma de estruturar os sítios. A primeira página possuirá o tratamento das funcionalidades que irão controlar a navegação, esse tratamento é realizado por funções Javascript. As ações do usuário irão chamar arquivos que devolverão informações ou partes das páginas, diminuindo significativamente a quantidade de informação a ser transferida para o usuário a partir do servidor Web. A criação de frameworks facilitou a criação de interfaces ricas, pois eles oferecem as funcionalidades necessárias e realizam os tratamentos necessários para que as páginas funcionem em vários navegadores.
Tecnologias utilizadas
A construção de interfaces ricas pode ser feita com uma grande variedade de tecnologias, técnicas e linguagens. Podemos usar o XHTML como base ou produtos desenvolvidos por empresas.
- XHTML
Quando usamos o XHTML para construir a interface, necessitamos do Javascript para tratar as ações do usuário, alterar as informações da tela. O CSS é usado para que possamos configurar a aparência dos objetos. A API XMLHttpRequest irá fazer a requisição dos arquivos no servidor Web, a maioria das vezes esses arquivos serão formados por linguagens que são executas no servidor, sendo essas responsáveis por acessar informações em bases de dados ou atualizá-las, enviar emails, atualizar arquivos, entre tantas funcionalidades possíveis.
- FLASH
Software desenvolvido pela FutureWave Software para o sistema operacional PenPoint OS. O aplicativo foi portado para funcionar na Internet. A Macromedia adquiriu o aplicativo renomeando-o para Flash. Permite a construção de interfaces bem elaboradas, possibilitando a inclusão de som e vídeo. Ele é muito poderoso, permitindo a criação de jogos. A linguagem embutida, ActionScript, fornece ao desenvolvedor o controle sobre todos os objetos utilizados na tela.
O arquivo gerado pelo aplicativo é chamado de filme Flash. O navegador necessita que seja instalado plug-in para que ele possa executar o filme. A versão de plug-in pode ser estipulada ao se confeccionar o filme.
As atualizações das informações são realizadas através de chamadas a linguagens executadas no servidor. A Adobe possui o Flex, ele possui a função de facilitar a integração entre o filme e as chamadas aos códigos que são executados no servidor Web, integrasse de uma forma mais simples com a linha de tempo dos filmes Flash.
- MS SILVERLIGHT
A Microsoft criou um concorrente para o Flash, o framework Silverlight. Permite criar interfaces do usuário usando o bloco de notas, o Visual Studio ou qualquer outro editor, porém o trabalho fica muito facilitado com o Microsoft Expression Blend, que é uma ferramenta WYSIWYG. Utiliza o XAML (Extensible Application Markup Language) para descrever os objetos da tela. O Silverlight utiliza uma parte do framework dot Net, que é utilizado para chamadas aos códigos do servidor também.
Benefícios
As aplicações ricas vieram auxiliar aos usuários que não possuem muita habilidade no uso do computador. Elas permitem a construção de facilidades no uso, textos de ajuda, informações de retorno e interfaces mais intuitivas. Os frameworks ajudaram bastante a padronizar o funcionamento dos objetos de tela, o que deixa o usuário mais seguro ao interagir com as páginas.
Muitas ferramentas estão sendo migradas para a plataforma Web, muitas delas necessitam de funcionalidades que o HTML não consegue suprir. Os recursos que podem ser desenvolvidos com o uso de Javascript e CSS aliados ao DOM do XHTML, transformaram os aplicativos Web muito poderosos.
O tempo de resposta para o usuário em RIA é menor, o que melhora a satisfação. Elas permitem que se executem outras tarefas sem exigir que se espere o término de um anterior, aumentando a funcionalidade da interface. A aproximação do formato das telas de programas que são executados localmente no computador, auxilia o aprendizado dos novos usuários nesse novo ambiente.
Aula 3
Introdução à XHTML
SGML STANDARD GENERALIZED MARKUP LANGUAGE
UMA METALINGUAGEM ATRAVES DA QUAL PODEMOS DEFINIR
LINGUAGENS DE MARCAÇÃO PARA DOCUMENTOS.
XML EXTENSIBLE HYPER TEXT MARKUP LANGUAGE
TAMBEM É UMA METALINGUAGEM, É DERIVADA DA SGML. TEM COMO OBJETIVO A ESTRUTURAÇÃO DE DADOS.
XHTML EXTENSIBLE HYPER TEXT MARKUP LANGUAGE
1.0 É A PRIMEIRA ESPECIFICAÇÃO PARA FAMILIA XHTML, CONTINUA COM A MESMA VERSÃO, SENDO RECOMENDADA EM JANEIRO DE 2000, RECEBENDO UMA REVISÃO EM 2002, A VERSÃO 1.1 POSSUI A SUA RECOMENDAÇÃO DATADA DE NOVEMBRO DE 2010. ELA REALIZA UMA REFORMULAÇÃO DOS DOCUMENTOS HTML 4, TORNANDO SE COMO APLICAÇÕES DE XML. ELA POSSUI TANTO A SINTAXE E REGRAS XML 1 PARA IMPLEMENTAR AS FUNCIONALIDADES DO HTML 4.
A criação de páginas Web vem evoluindo desde o seu início. Os navegadores ganharam versões mais atualizadas, contendo mais recursos e reconhecendo uma gama maior de marcações. A linguagem recomendada pelo W3C é o XHTML 1.1. A versão 5.0 da HTML ainda está em fase de desenvolvimento, mas algumas novidades já são reconhecidas pelos navegadores.
Iremos ver a XHTML e nos ater aos recursos mais utilizados para a construção de interfaces ricas. Outras disciplinas possibilitaram que vocês criassem interfaces e que se apropriassem da construção de páginas com XHTML, faremos algumas recordações necessárias.
O XHTML possui a estrutura de um arquivo XML e as marcações do HTML, como já vimos nas aulas anteriores. A mudança veio trazer algumas facilidades para validação do documento e criação de navegadores para outros equipamentos. O HTML é uma aplicação da SGML.
Estrutura
A estrutura das páginas XHTML continua seguindo o que já era imposto pelo HTML 4, porém passamos a ter a rigidez do XML, aliado a isso, podemos validar o nosso documento, pois a determinação de uma DTD (Document Type Definition) permite que programas verifiquem se o documento segue a definição. Ela especifica qual a estrutura do documento, quais marcações podem ser colocadas internas às outras e os atributos aceitos por uma específica, informando a sua obrigatoriedade ou não.
Estrutura básica de uma página XHTML 1.0
Estrutura da página mostrando elementos e atributos
DOCTYPE
Define o tipo do documento. Informando qual a DTD (Document Type Definition) será utilizada para validar o documento.
Parte da DTD que define a tag "html" (informa que ela só pode possuir head e body)
DTD STRICIT
Não permite o uso de tags/atributos descontinuados. É indicada para uso em conjunto com CSS. O documento deve ser bem formado.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
DTD TRANSATIONAL
Permite o uso de tags/atributos descontinuados. O documento deve ser bem formado.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
DTD FRAMESET
Possui as mesmas características da DTD Transational, inclui a possibilidade do documento possuir frameset, criação de estrutura de quadros.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">MUDANÇAS GERADAS PELA ADOCAO DE XHTML
A adoção do XML como forma de estruturar o documento trouxe algumas mudanças na confecção de páginas Web. 
Características:
As marcações sempre ser propriamente aninhados.
Não podem existir tags intercaladas, uma marcação não pode possuir uma terminação antes que todas as internas a ela estejam fechadas.
Ex: correto - <tr> <td>texto </td> </tr>
Ex: errado - <tr> <td>texto </tr> </td>  (o fechamento do tr deveria vir após o fechamento do td)
Todas as marcações devem possuir a terminação.
Tags que não possuam uma terminação devem informar na abertura que não existe um par para ela.
Ex: em par - <p> texto do parágrafo </p>
Ex: marcação única - <input type="text" name="endereco"  /> (a barra deve fica colada ao sinal de maior)
Não é permitido o uso de marcação sem fechamento. A quebra de linha é um outro exemplo dessa necessidade, passou a ser escrita com a barra: <br />
Os nomes das marcações devem sempre estar em letra minúscula.
Atributos devem estar sempre entre aspas. A HTML permitia que o valor de um atributo ficasse colado ao sinal de igual sem estar entre aspas, isso não é permitido em XHTML.
O documento deve possuir somente um elemento raiz.
VALIDAÇÃO DE DOCUMENTOS XHTML
A criação de documentos usando uma DTD permite que seja verificado o código, podemos verificar a estrutura e validar as marcações utilizadas, tanto na sua posição dentro do documento quanto a utilização dos atributos. O W3C fornece um link para fazermos a avaliação, porém a informação retornada é se o arquivo está com erros ou não. Algumas IDEs fornecem feedbacks na posição do erro, o Dreamweaver apresenta mensagens para tags sem fechamento ou sem abertura, o NetBeans fornece avisos para erros em atributos também, além de possuir auxílio para elementos e atributos possíveis, mostrando listagem de valores possíveis para os atributos.
Vantagens
Os documentos XHTML estão em conformidade com a estruturação estabelecida na XML, permitindo que eles sejam validados através da DTD selecionada. Podem ser usadas ferramentas para editar arquivos XML para manipular o documento. 
A criação de novos navegadores é mais fácil, pois as regras da XML são mais concisas, facilitando a interpretação dos códigos e sua posterior renderização.
O documento HTML permite o uso de marcações que o navegador só terá certeza que não tinha um par de término ao chegar ao seu fim, fazendo que todas as informações permaneçam empilhadas na memória do computador e gerando a necessidade de um número maior de avaliações, o documento XHTML diminui o trabalho do navegador, acelerando a interpretação e apresentação da página.
Os documentos podem incluir MathML, SMIL, or SVG, aumentando as possibilidades com a apresentação de outros recursos como o desenho vetorial criado com SVG.
Formulários
Os formulários permitem que os usuários entrem com informações em uma página Web. O uso do formulário permitiu que os sítios construídos passassem a oferecer muitas possibilidades, os desenvolvedores puderam construir sistemas Web com as mesmas finalidades dos sistemas que eram executados nos computadores dos clientes.
A marcação "form" possui atributos para configurar o seu funcionamento, entre elas podemos citar o atributo "method", ele informa como serão enviados os dados para o arquivo especificado no atributo "action". As interfaces ricas utilizam o Ajax para enviar os dados, podendo enviá-los através do método POST ou GET, da mesma forma que seria enviada diretamente pelo método "submit" formulário.
O atributo "id" é usado pela linguagem Javascript para fazer referência a uma tag no documento, sendo obrigatório o seu uso nas partes da página que serão acessadas pelas funções da linguagem.
Sabemos que o formulário fornece uma porta de entrada para as informações do usuário, mas vamos tentar abordar algumas utilizações possíveis, iremos abordar também as diferenças geradas pelo uso de Ajax e interfaces ricas. Esse par fez com que algumas interações que eram feitas por links ou por formulários pudessem ser feitas com outros objetos sendo selecionados ou arrastados pela tela.
O uso do botão limpar (<input type="reset" />) sempre foi questionado por mim, pois poderia causar uma situação desagradável se não tivesse nenhum tratamento. Qualquer usuário ficaria muito irritado ao clicar erradamente no botão limpar de um formulário após completar quarenta campos de informações, esse botão poderia ter tratamento com Javascript, quase nunca se encontra o tratamento.
Formulários que possuem campos interdependentes exigiam que os dados digitados pelo usuário fossem preenchidos novamente quando a página fosse recarregada, as seleções em alguns campos fossem ativadas novamente e o campo que possui dados de acordo com a informação de outro viesse com as suas informações disponíveis. O Ajax permite que o preenchimento ou a filtragem de campos interdependentes seja feita sem a necessidade que esses campos recebam o tratamento listado, pois os campos vão sendo preenchidos com o usuário informando os dados pedidos, sem que a página seja recarregada.
Camadas
O desenvolvimento de páginas Web passou por várias fases. O uso de apelos visuais sempre esteve presente, desde que se usavam pequenos GIFs animados até as animações interativas feitas em Flash. A entrada dos “designs de papel” para a área de criação de leiaute de páginas mudou muito a forma de se pensar interfaces, passamos a ter telas mais elaboradas. O uso de imagens pesadas foi marcante nesse início, houve um tempo de adaptação, o que podia se constatar é que tudo estava mais bonito.
A criação da estrutura do leiaute com tabelas era comum, porém trabalhosa e dificultava o uso de pessoas acostumadas com as ferramentas gráficas. Um termo se popularizou nessa época, o “tableless”, a proposta era de que se construísse o formato da tela sem o uso de tabelas e sim com camadas posicionadas em posições específicas. Isso foi possível com a utilização de CSS.
Algumas marcações foram usadas para se criar camadas são “span” e “div”. A Netscape havia lançado a proposta de se usar uma marcação chamada “layer”, porém ela não foi aceita pelo W3C. Essas marcações podem ser usadas para definir formatações em uma determinada região, mas o crescimento do uso de “div” acontece com o uso leiautes “tableless”, tendo a funcionalidade de uma camada como as usadas em programas gráficos. 
As áreas delimitadas possuem uma funcionalidade própria podendo ser colocadas em áreas da página, ocultadas, arrastadas, ter o seu conteúdo alterado. Algumas páginas utilizavam desse funcionamento para que fosse possível melhorar as informações para o usuário e a facilidade de interação com os objetos de tela.
Exemplo:
 
        <h1>Começando com camadas</h1>
 
        <div title="exemplo" >
            Primeira camada
        </div>
        <div title="Experimentando" >
            Segunda camada
        </div>
Outras Tags
Uma página XHTML é feita de muito mais marcações do que apenas formulário e camadas, não vamos entrar em detalhes nas outras pois já foram examinadas em outras disciplinas, mas estamos lembrando que você precisará de todo o arsenal de tags para poder construir interfaces ricas. Precisaremos das tabelas para dispormos informações, precisaremos dos links, mesmo que sejam usados para que o carregamento das páginas seja feito com funções Javascript e chamadas Ajax, precisaremos da imagem para que o usuário queira interagir com as página e conhecer a aparência de produtos. Podemos construir interfaces ricas com Flash, mas o XHTML também permite. Os frameworks Javascript poupam muito trabalho, mas não fazem a interface toda, apenas interagem com o que você construir.
Aula 4
Introdução
O CSS aumentou muito a possibilidade de se formatar páginas HTML, não incluindo apenas padrões, mas adicionando possibilidades na criação de configurações e adornos que o HTMLnão possuía. Inicialmente existia apenas a folha de estilos, posteriormente foi adicionada a possibilidade de se aplicar o estilo gradualmente em cascata.
Foram criadas ferramentas que facilitavam a criação de folhas de estilo externas, posteriormente os construtores de páginas passaram a possuir essa facilidade. As IDEs WYSIWYG auxiliam na utilização de folhas de estilos, pois podemos verificar enquanto vamos construindo a página.
O CSS permite que a mesma página possua aparências diferentes, sendo cada uma destinada para ela sejam exibida em um meio diferente, podemos construir uma formatação para ela ser apresentada no navegador e outra para a impressora, isso é útil em comprovantes impressos pelo sítio.
A criação de páginas ganhou com o uso de estilos, podemos ter mais controle do que desejamos que o navegador exiba, As formas e as cores bem usadas melhoram a aparência, deixando a interface mais agradável para o usuário.
Histórico
Folha de estilo existe desde a década de 80, porém temos a sua inclusão no HTML 3.0 em 1995. Foram feitas nove proposições para aumentar as possibilidades de se formatar a aparência das páginas Web, duas formaram a base do que se transformou no CSS que temos hoje.
Håkon Wium Lie propôs em outubro de 1994 a CHSS (Cascading HTML Style Sheets). Bert Bos apresenta em abril de 1995 o navegador Argo ao W3C, ele utilizava uma linguagem própria de estilos o SSP (Stream-based Style Sheet Proposal). A convite de Lie eles se juntaram para desenvolver o padrão CSS baseados na CHSS,  como a folha de estilo poderia ser usada em outras linguagens de marcação removeram o H. Lie e Yves Lafon se juntaram com Dave Raggett (trabalho na prposição do HTML 4) para fazer com que o navegador Arena suportasse CSS, esse foi apresentado também em abril de 1995.
Começando com CSS
Para podermos entender o funcionamento de estilos, precisamos primeiramente saber como criamos e o que é um estilo. Um estilo possui um conjunto de regras de formatação que podem ser aplicados a uma marcação ou a um conjunto de marcações. Podemos definir que sempre que uma marcação esteja sempre com uma marcação, além disso, é possível se definir uma classe para posterior uso.
Onde,
Seletor – nome de uma tag.
Classe – nome um estilo que pode ser usado em uma tag.
[ ] – opcional, podemos definir classes associadas a uma marcação específica ou solta, podendo ser usada em qualquer marcação nesse caso.
Foram formatadas as marcações “p” e “body”. A última formatação do estilo não necessita que se informe o símbolo de fim de instrução “;”.
AGRUPANDO
Podemos informar mais de uma tag na mesma formatação.
USANDO CLASSES
As classes criadas nas definições dos estilos podem ser usadas em qualquer tag, se não estiver associada a uma marcação específica, ou nas marcações definidas para diferenciar formatações.
Prioridade dos estilos
A prioridade para o efeito cascata em ordem crescente:
- Folha de estilo padrão do navegador do usuário;
- Folha de estilo do usuário;
- Folha de estilo do desenvolvedor;
- Estilo externo;
- Estilo incorporado;
- Estilo inline ;
- Declarações do desenvolvedor com !Important;
- Declarações do usuário com !Important;
Iremos falar e mostrar algumas formatações existente no CSS, mas o ideal é ter contato com todas e saber como podemos consultar para conhecer todo o seu poder.
Configurando fontes e textos
O CSS permite que se configure o texto nas páginas, oferecendo uma quantidade enorme de formatações. Iremos olhar algumas e pedir que faça alguns exercícios para que consiga compreender o funcionamento.
Color
Define a cor da fonte. O valor atribuído pode ser um nome de cor conhecido ou uma combinação de cores no padrão rgb, a combinação pode ser feita com um valor hexadecimal ou com o uso da função rgb e os valores em decimal separados por cor.
	Nome no CSS 
aqua 
black 
blue 
fuchsia 
gray 
green 
lime 
maroon 
navy 
olive 
purple 
red 
silver 
teal 
white 
yellow
	Cor 
Azul claro 
Preto 
Azul 
Rosa 
Cinza 
Verde 
Verde-limão 
Marrom 
Azul escuro 
Marrom claro 
Roxo 
Vermelho 
Prata 
Verde-água 
Branco 
Amarelo
	
Configurando Caixas
Existem várias configurações que podemos usar para que nossas interfaces fiquem mais atraentes. As caixa permitem que coloquemos linhas em volta do texto ou em uma tag específica, as larguras e alturas podem ser especificadas. As formatações de fundo possuem vários recursos, existe forma de se fixar imagens no fundo, fazer com que ela expanda, atribuir cor de fundo para uma marcação apenas.
Iremos apresentar algumas formatações para que se possa ter contato com a formatação de caixas.
Usando pseudo elementos e pseudo classes
O CSS possui algumas formatações que estão relacionadas com situações específicas. Os hiperlinks fornecem a possibilidade de se configurar três estados, normal (o link), visitado e ativo (com o foco do cursor). O parágrafo permite que existam configurações específicas para a primeira letra, a primeira linha, antes e depois do parágrafo. A página permite se configure as margens direita e esquerda. As marcações percebem se o mouse está sobre ela ou não, apesar de ser mais usado com a tag "a", a pseudo classe pode ser usada com as outras marcações.
Exemplos de utilização de CSS
O CSS possui algumas formatações que estão relacionadas com situações específicas. Os hiperlinks fornecem a possibilidade de se configurar três estados, normal (o link), visitado e ativo (com o foco do cursor). O parágrafo permite que existam configurações específicas para a primeira letra, a primeira linha, antes e depois do parágrafo. A página permite se configure as margens direita e esquerda. As marcações percebem se o mouse está sobre ela ou não, apesar de ser mais usado com a tag "a", a pseudo classe pode ser usada com as outras marcações.
Assista alguns vídeos para maior conhecimento.
Aula 5
Histórico do Javascript
O Javascript foi desenvolvido pela Netscape por Brendan Eich. A linguagem foi inicialmente chamada de Mocha. Quando a versão 2.0 do Netscape é lançada em setembro de 1995, o navegador já interpretava a linguagem, porém, ela havia sido rebatizada para Livescript. A linguagem já se chamava Javascript na atualização da versão do navegador 2.0B3 em dezembro do mesmo ano. A utilização do nome surge de uma associação entre a Netscape e a Sun, quando o navegador passou a possuir suporte a tecnologia Java, permitindo o uso de Applets. A Netscape apresentou a especificação da linguagem para a Ecma International, exsitia a intenção de que ela fosse  considerada como um padrão da indústria. A entidade ciniiou grupos de trabalho para gerar um padrão, foi criado ECMAScript.
A Microsft lançou a sua linguagem script com sintaxe oriunda de "C++" para não ter problema com patentes, o Jscript. O navegador Internet Explorer também possuia um interpretador para Vbscript, porém ela não funcionava no Netscape. O Jscript foi incluido na versão 3.0 do navegador. Ela seguia inicialmente o que existia no Javascript, tendo algumas funcionalidades distintas, posteriormente passou a seguir o padrão, ECMAScript. A diferença entre o funcionamento das linguagens script no Netscape e no Internet Explorer sempre foi um problema para os desenvolvedores.
O Javascript transformou o mundo Web, permitiu que os navegadores deixassem de ser meros espectadores, passando a ter a missão de entender e executar códigos de uma linguagem de programação. A criação de scripts Javascript trouxe animações nas páginas, validações de formulários, entre tantas outras possibilidades. A criação de interfaces ricas aumenta a necessidade do uso de Javascript e o Ajax também amplia essa necessidade, os dados deixaram de ser enviados quando o navegador requisita uma página, mas quando um objeto dele faz isso, necessitando da linguagem para realizar esse trabalho.Sintaxe da linguagem
O Javascript segue a sintaxe básica do Java para as suas estruturas. Não é fortemente tipada, permitindo que suas variáveis funcionem de acordo com o conteúdo que estão armazenando. A linguagem não exige que suas variáveis sejam declaradas, bastando atribuir u+.9+.m valor para que elas possam ser usadas a partir de um determinado ponto.
Estrutura básica de inclusão de scripts nas páginas HTML.
<script> 
Set de instruções 
</script> 
A marcação script delimita uma área para que coloquemos códigos.
TYPE
MIME-type - especifica o tipo de arquivo.
• text/javascript (usaremos este)
• text/ecmascript
• application/ecmascript
• application/javascript
• text/vbscript
CHARSET
Especifica a codificação usada para os caracteres 
• "ISO-8859-1" – padrão para as línguas Latinas, contém os acentos e o cedilha
• "UTF-8" – codificação que contempla todos os alfabetos, existe a proposta em transformá-lo em padrão.
Existem várias codificações, atendendo as linguagens
TYPE
Informa o arquivo com o seu caminho, veremos o uso de arquivo externo.
Podemos inserir comentários em nossos códigos, é usado o // (barra barra) para comentários de uma linha e /*  texto  */ (barra asterístico e asterístico barra) para comentários de várias linhas.
Onde podemos colocar os códigos Javascript
A marcação "script" pode ser colocada dentro de "head" ou "body", iremos usar o "head" para colocarmos nossas funções e o "body" quando necessitarmos que o Javascript  apresente alguma caixa de diálogo ou gere objetos da tela e textos na tela quando a página for carregada.  Existe também a possibilidade de que sejam colocados códigos diretamente nos eventos, iremos ver isso no assunto eventos.
Exemplo de seleção simples:
<html>
   <head>
      <tilte>Título da Página</title>
      <script type="text/Javascript" > 
         //código
      </script> 
   </head>
 
   <body>
 
   </body>
</html>
Operadores
Dividimos os operadores inicialmente em operadores aritméticos, relacionais e lógicos, existem também operadores de bit, operador de seleção (ternário). Os operadores aritméticos permitem que façamos expressões e obtenhamos um resultado que irá depender dos tipos de dados e dos próprios operadores. Os operadores relacionais obtêm um valor lógico como resultado de sua avaliação. Operadores lógicos comparam valores lógicos, gerando um novo valor lógico.
Usaremos o método "write" do objeto "document", o método adiciona informações na página, fazendo com que o navegador exiba os dados recebidos.
Delimitadores de bloco
O Javascript utiliza as chaves como delimitador de bloco. Eles permitem que várias instruções recebam o mesmo funcionamento que a instrução após a estrutura da linguagem, algumas interferem na instrução imediatamente após a ela. A estrutura "if" realiza um teste condicional  que executa ou não a próxima instrução, para que esse tratamento seja aplicado a varias instrução devemos circundá-la com delimitadores de bloco.
Exemplo de Bloco:
<script type="text/Javascript" > 
//*******
// sem bloco
//*******
if (10 < 6) 
    alert("Primeiro texto.");
    alert("Segundo texto.");
    alert("Terceiro texto.");
//*******
// com bloco
//*******
if (10 < 6) {
    alert("Primeiro texto.");
    alert("Segundo texto.");
    alert("Terceiro texto.");
} 
</script>
Caixas de diálogo
As caixas de diálogo são janelas que permitem que o nosso sistema interrompa seu funcionamento, aguardando que o usuário interaja com elas antes de prosseguir, esse tipo de funcionamento é chamado de janela modal, impede que o usuário acione qualquer outra parte do sistema antes de fechar a janela atual.
Mostramos duas caixas de diálogo em nossos exemplos, ficando apenas uma de fora. Existe uma para podermos enviar um aviso ao usuário, uma segunda para pedirmos que o usuário entre com alguma informação e uma terceira que pede ao usuário para escolher entre opções com dois botões (OK e Cancelar), como os navegadores é que interpretam o HTML e o Javascript esses valores podem ser diferentes.
Exemplos com as caixas de dialogo:
Funções
A função possui vários aspectos dentro de linguagens de programação, iremos começar olhando pela ótica de diminuirmos o esforço de digitação e manutenção, uma funcionalidade do programa pode possuir a necessidade de ser utilizada em vários locais pode ser colocada em uma função. Essa estratégia permite que a manutenção seja realizada em um único local, diminuindo esforço futuro e risco de inconsistência. Outro aspecto a se considerar é a divisão de trabalho, uma equipe de desenvolvimento pode receber tarefas individualizadas, a modularização permite que cada pessoa crie parte do programa. O tratamento de evento é normalmente associado  à uma função.
Algoritmo diferencia procedimento de função, o Javascript irá criar sempre como função, através do retorno ou não de um valor pela função é que iremos diferenciar se está no papel de função ou de procedimento. A criação de funções é feita dentro da marcação "script", podemos criá-las em arquivos externos. Algumas avaliações de performance indicam que podemos melhorar o carregamento das páginas colocando-as no final do documento, colocando a marcação "script" dentro de "body", perto de seu fechamento.
Criando uma função
function nomeDaFunção (Parâmetros) {
   instruções da função ...
}
Podemos criar funções com vários objetivos, vamos exemplificar com uma função que tenha como objetivo informar se uma pessoa é maior ou menor de idade, recebendo como parâmetro a sua idade.
Exemplo
<script type="text/Javascript" > 
function diMaior(anos){
   if  (Anos > 17) {
      alert ("Maior de Idade"); 
   } else {
      alert ("Menor de Idade") ;
   }
}
</script>
Essa função estará tendo o seu processamento como um procedimento.
Uma função não é iniciada sozinha, ela precisa ser chamada por outro processamento.
Direito Ambiental
Podemos passar informações para a função, essas informações têm o nome de parâmetro.  Uma variável comum é passada por valor, a função recebe uma cópia de seu valor e esse é armazenado na variável que é criada quando a função inicia, a variável original possui seu valor inalterado. Quando passamos objetos ou vetores nos parâmetros o Javascript não cria uma cópia dele, é criada uma referência para o próprio objeto, todas as alterações realizadas nos valores são feitas diretamente no objeto ou vetor passado, não havendo preservação do valor original.
A função pode ser definida com nenhum parâmetro ou vários, podemos também criar funções que possuam um número de parâmetros variável, recuperando-os através do vetor "arguments".
Eventos
Os objetos de uma página XHTML percebem algumas ações sobre eles, chamamos de eventos essas ações reconhecidas. A programação motivada por eventos começou nos sistemas operacionais com janelas, o programador insere código para tratar ações que o usuário deveria realizar com a tela.
Em seguida apresentamos a lista de alguns eventos possíveis, indicando os momentos em que os mesmos podem ocorrer, bem como, os objetos passíveis de sua ocorrência.
onunload
A marcação "body" pode chamar algum tratamento antes de o usuário sair da página.
onchange
Ocorre quando o objeto perde o foco e houve mudança de conteúdo,  válido para os objetos text, select e textarea.
onblur
Quando o cursor sai do objeto, ele perde o foco. Esse evento é usado quando se deseja tratar mesmo que não tenha havido mudança, válido para os objetos text, select e textarea.
onfocus
Funciona de forma inversa do anterior, ele é chamado sempre que o objeto receber o foco, válido para os objetos text, select e textarea.
onclick
Ocorre quando o objeto recebe um click do mouse, válido para todos objetos de tela, usamos mais para o objeto <input type="button"/>.
onmouseover
Ocorre quando o ponteiro do mouse passa por sobre o objeto. Podemos usar esse evento no objetos da tela. Possui muitas possibilidades na criação de interfaces ricas, permite que seja percebido se um produto foi arrastado para uma imagem do carrinho por exemplo.
onselect
Ocorre quando o texto dentro do objeto é selecionado, válido para os objetos "inpt text" e textarea.
onsubmit
Ocorre quando um formulário está sendo enviado. Utilizamos esse evento para podermos validar formulários, podendo cancelar o seu envio. Para cancelar um envio, basta que ele retorne "false".
<form action="avalia.aspx" onsubmit="return validaCampo();" > 
Nome <input type="text" name=nome" id="nome" /> <br />
 
<input type="submit" value="Incluir" />
</form >
Aula 6
Conhecendo o DHTML
O DHTML utiliza outras tecnologias para criar interatividade nas interfaces Web. A união do HTML que define os elementos de nossa página, o Javascript com a programação script, o CSS com as suas possibilidades de formatação e posicionamentos, unidos a definição de estrutura hierárquica de objetos oferecida pelo DOM permitem que construamos telas com animações, que são alteradas de acordo com as ações do usuário, com avisos visuais sobre os elementos da interface, as possibilidades passam a ser limitadas por nossa criatividade.
A guerra dos navegadores existe desde que o Internet Explorer 3.0 foi lançado, apesar de ainda ser inferior do que o Netscape nessa época. O Internet Explorer começa a fazer frente ao Netscape quando lança a sua versão 4.0 e a Microsoft o incluiu como parte do sistema operacional, fazendo com que todos usassem o Windows já tivessem o navegador, pois vinha junto e não poderia ser retirado.
O Nescape 4.0 é lançado em junho de 1997 e o Internet Explorer logo após, em outubro do mesmo ano. Eles possuem recursos que possibilitam a criação de DHTML de forma básica.
A versão 4.0 do HTML já possuía o DOM 1.0, permitindo com que o DHTML possa ser desenvolvido de uma forma mais natural, pois o que os navegadores interpretavam antes ainda estava em desenvolvimento e não estava completamente padronizado, era chamado de versão 0 do DOM.
A versão 4.0 do HTML também trouxe uma alteração nos estilos, inseriu a possibilidade de se aplicar os estilos em cascata, mudando o seu nome para CSS. Houve um aumento nas formatações possíveis e uma tentativa na padronização dos estilos nos navegadores. O Javascript e o Jscript nos dois navegadores possuem uma estrutura bem próxima, ficando as diferenças por conta de detalhes no CSS e na estrutura do DOM que cada um implementava.
DOM
O W3C define DOM como:
" The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.“
O DOM possibilita que as linguagens naveguem pela estrutura do documento, insira um elemento, altere os valores dos atributos, construa-o dinamicamente. Ele é uma API de programação para documentos, contem os métodos que permitam interagir com os elementos, assim como os eventos percebidos por eles e suas propriedades.
Arquitetura do DOM
As especificações do DOM definem módulos para tratar um uso específico. Os módulos dependem de outros, todos dependem do núcleo principal.
Estrutura no HTML
O Dom determina a estrutura básica do documento HTML, o primeiro elemento do documento é o document, porém ele é interpretado dentro de uma janela de um navegador, tornando o window como o primeiro elemento. Cada marcação é uma representação do objeto element, o element possui atributos (attribute) que ficam postados dentro da marcação, entre a abertura e fechamento da marcação podemos colocar textos (text). Um elemento pode possuir elementos filhos, gerando a hierarquia do documento.
Os elementos podem ser recuperados de algumas formas, podemos acessar um elemento através de seu id, podemos andar pela estrutura até chegar ao no desejado e podemos recuperar todas as marcações do mesmo tipo, até chegar ao elemento procurado. Existe a possibilidade de se andar pelos names das marcações, porém não é a recomendação w3c.
DOM e Javascript
O DOM define métodos que os objetos devem possuir para que possamos gerenciar a estrutura do documento. O Javascript interage com os objetos, criando-os e chamando seus métodos, tornando possível a alteração da estrutura da página, mesmo depois de sua exibição. A linguagem permite que manipulemos os elementos.
Recuperando um elemento
O primeiro passo é a identificação do elemento que será a abse da ação, para tanto usaremos o método getElementById.
<script type="text/javascript">
minhaBorboleta = document.getElementById("borboleta");
alert( minhaJanela );
</script>
O objeto document possui o método getElementById que retorna o elemento que possui o id informado. A caixa de diálogo irá exibir que minhaBorboleta possui um elemento do HTML. Podemos usar document.odemos usar document. getElementsByTagName("marcação") para retornar todos os elementos do com o mesmo nome de marcação, pode ser retornado todos os elementos do tipo "tr".
Métodos dos objetos DOM
Vamos ver os métodos para podermos entender o uso deles.
hasAttribute("atributo") - Verfica se o elemento possui o atributo.
setAttribute("atributo","valor") - Atribui um valor ao atributo. Caso o elemento não o possua, então o atributo será criado.
getAttribute("atributo") - Obtém o valor do atributo.
removeAttribute("atributo") - Remove o atributo.
appendChild(objeto) - Adiciona um elemento como filho do elemento atual. O navegador irá exibir o elemento se for uma marcação XHTML conhecido por ele.
createElement("elemento") - Cria um elemento para que seja possível adicioná-lo à estrutura da página.
createTextNode("conteúdo") - Insere um texto entre o par da marcação
parentNode - Retorna o elemento pai do nó (elemento) atual.
childNodes - Retorna a coleção de filhos do elemento.
firstChild - Retorna o primeiro nó interno ao elemento.
lastChild - Retorna o último nó interno ao elemento.
nextSibling - Retorna o próximo nó filho do mesmo pai que o nó atual.
Trabalhando com o cursor
O mouse pode ser usado para o usuário interagir com a interface além do clique simples, podemos arrastar objetos, verificar se ele está sobre uma determinada posição, sobre um objeto, se movendo, entre outras possibilidades. Vamos ver como podemos verificar esses eventos.
As marcações XHTML possuem alguns eventos que já falamos na aula sobre Javascript. Os eventos são percepções que os objetos possuem, eles conseguem detectar que alguma ação ocorreu. Os desenvolvedores escrevem códigos para os eventos, por isso que esse tipo de programação chama-se motivado por eventos.
As marcações percebem alguns eventos, mas foi criado um objeto chamado de "event" para permitir que se obtenha algumas informações em relação ao tipo de ação que o usuário fez. O botão do mouse que o usuário está segurando, a tecla pressionada, o shift está pressionado são informações que podemos recuperar com o objeto "event".
Camadas
As camadas permitem que sejam introduzidos conteúdos no seu interior, podemos adicionar textos sem formatações ou partes de XHTML completamente formatadas. Quando se começou a criar leiautes sem tabelas, usando o posicionamento de camadas, usando "div" ou "span", o uso de CSS passou a crescer, pois os estilos permitiam o posicionamento e a alternância entre visível e oculto o estado da camada. 
Para alterarmos o conteúdo de uma "div" usamos a sua propriedade "innerHTML".
function altera(){
//Recuperando a div
var camada = document.getElementById("minhaCamada");
//Recuperando o campo de texto
var texto = document.getElementById("texto");
//Recuperando a caixa de seleção
var negrito = document.getElementById("negrito");
info = texto.value;
// verificando se está selecionadoif (negrito.checked) {
// colocando negrito para a caixa selecionada
info = "<span style='font-weight: bold'>" + info + "</span>";
} 
//colocando o texto na "div"
camada.innerHTML = info ;
}
O posicionamento de camadas pode ser feito dinamicamente, veremos ainda nessa aula.
Exemplo de menu
A construção de menus DHTML é muito usada no desenvolvimento de interfaces Web. A construção se baseia no conceito de exibir e ocultar camadas e o posicionamento das camadas. O exemplo abaixo visa ilustrar a configuração visibility do CSS, existem algumas formas de fazer que o funcionamento seja mais perfeito. Uma das formas de resolver o problema é de se colocar uma camada inferior que englobe todo o meu, fazendo com que ela oculte todos os submenus.
<script type="text/javascript">
function exibe(sub){
// Recuperando o menu
var camadaSub = document.getElementById(sub);
//Exibindo o menu
camadaSub.style.visibility = "visible";
}
 
function oculta(camadaSub){
// Não necessita recuperar o elemento, 
// pois é que foi passado.
// Ocultando o menu
camadaSub.style.visibility = "hidden";
}
</script>
Ativando as funções com o tempo
O Javascript possui dois funções que permitem que se chame uma "function" após um determinado tempo, setTimeout e setInterval. A função setTimeout permite que se escolha uma função após decorrem um tempo determinado, enquanto a setInterval chamará a função a cada intervalo de tempo determinado.
Javascript e CSS
O Javascript permite que se altere estilos de campos da página, que se altere valor para um estilo. O estilo pode ser informado de três formas conforme foi visto na aula de CSS. Podemos determinar para um elemento qual formatação que será aplicada nele, alterar a classe que está sendo aplicada ou alterar a folha de estilos para a página.
Podemos fazer que o link não leva para nenhuma página e não mova o documento atual. Colocando-se "return false;" no final do evento "onclick" o navegador cancela o que seria feito com o click.
<a href="folha 2" onclick=" folha(2); return false;" >folha 2</a>
Alterando Imagens
Podemos alterar as imagens através de objetos imagens ou através da propriedade "src", fazendo a alteração através de código Javascript. Existem algumas aplicações que se utilizam desses recursos para mostrar várias visões de produto. A união da alterações de imagens com a possibilidade de se ocultar e exibir camadas permite que lojas online apresentem zoom de seus produtos com algumas imagens.
<script type="text/javascript" >
var qual = 1;
function trocar(){
if (qual == 1){
qual = 2;
} else {
qual = 1;
}
var ref = document.getElementById("ref");
// A propriedade src está sendo usada para
// informar o enderço da nova imagem
ref.src = "img/refri" + qual +".jpg"
}
</script>
Javascript e o HTML5
O HTML 5 está perto de ser uma recomendação, os navegadores correm em passar a compreendê-lo para que possam aumentar a sua lista de usuários. Ele ganha marcações para tratar objetos multimídia. A intenção da nova versão é de que se controle vídeo pela página com códigos Javascript. As páginas com interações e conteúdo ricos possuirão mais possibilidades. O Javascript terá que interagir com os objetos, ganhando mais funcionalidades
Um aliado a nova versão é o CSS3, que irá auxiliar na tarefa de aumentar as possibilidades da interface. O modelo DOM se adequa às alterações feitas, permitindo que voltemos com mais força para a construção de interfaces dinâmicas. A criação dos códigos sempre foi trabalhosa, a verificação para que as páginas tivessem o mesmo tipo de comportamento nos navegadores mais usados.
Os frameworks começaram a fazer as atualizações para poderem contemplar os novos recursos, não permitindo que os espaços ganhos com os usuários fossem perdidos.
Aula 7
Histórico do jQuery
Alguns frameworks começaram a surgir, o Prototype é um bom exemplo que tem a sua primeira versão em fevereiro de 2005, ele é base para muitos outros frameworks tais como Ruby on Rails, script.aculo.us e Rico. O desenvolvimento do jQuery é inicado em agosto de 2005.
John Resig questionava o quanto era escrito para que se incluísse um Javascript, começou a desenvolver um modelo de como ele achava que o tratamento dos comportamentos deveria ser implementado. Esse estudo se transformou em um framework cuja primeira versão data de janeiro de 2006, a primeira versão estável (1.0) é de agosto do mesmo ano.  A intenção é que o framework se chamasse JSelect, mas o domínio já estava registrado na Web, forçando-o a escolher um outro nome, o nome leva a crer que seria para consultas a banco de dados. jQuery é uma biblioteca de código aberto e possui licença dual, fazendo uso da Licença MIT ou da GNU General Public License versão 2.
O jQuery permite a acréscimo de suas funcionalidades com a utilização de plugins. Podemos utilizar um existente ou criar o nosso próprio. Uma das vantagens de se estender o jQuery  é que as páginas estarão usando um único tipo de sintaxe, facilitando o aprendizado de novos desenvolvedores e a manutenção das páginas existentes. Um plugin contém uma coleção de objetos que possuem comportamentos próprios.
Começando a trabalhar com o Framework
O uso de um framework sempre começará pela obtenção do mesmo, deve ser baixada última versão estável. As versões de teste devem ser usadas quando já dominamos a tecnologia e desejamos nos preparar para as novidades que virão na próxima versão, podemos também participar do projeto, nesse caso testamos as funcionalidades e relatamos os erros apresentados para que possam ser retirados.
Primeiro contato
Para usarmos o framework, devemos fazer a referência do arquivo Javascript na nossa página XHTML. O arquivo baixado do site do jQuery foi colocado na pasta "js" dentro do sítio. Devemos incluir a marcação script com o atributo "src" contendo o caminho e o nome do arquivo.
A biblioteca possui todo arcabouço, porém precisamos chamar as funções e para isso temos que ter o nosso código Javascript, usaremos um arquivo externo para esses códigos.
Seletores
CSS trouxe a separação entre conteúdo e layout, permitindo que as páginas pudessem ser formatadas através de arquivos externos. Os estilos eram aplicados aos elementos, foram criados seletores para que fosse possível se determinar qual receberia a configuração.
tag{ estilo: configuração; }
tag.classe{ estilo: configuração; }
#id{ estilo: configuração; }
O jQuery usa a mesma forma de acesso, ele utiliza o símbolo "$" ou a palavra jQuery.
$ (seletor)
ou
jQuery (seletor)
Podemos recuperar objetos do XHTML com os seletores como fizemos nas outras aulas para elementos do DOM com getElementById.  Algumas diferenças existem, elas serão vistas na aula de hoje. O jQuery aplica o método a um elemento ou vários de acordo com a quantidade de elementos que se enquadrem ao padrão informado. Ao procurarmos usando um seletor para uma marcação XHTML, serão retornados todos os elementos que sejam da marcação.
Corpo = $ (“body”);
Alert (corp);
Podemos selecionar vários elementos, bastando separá-los por vírgulas.
Seletores compostos
Quando existe a necessidade de se recuperar um elemento que está interno a outro, podemos usar no seletor a seqüência até a marcação desejada. Pode ser recuperado um conjunto de elementos que se enquadrem na busca.
Seletores para formulários
São seletores criados especialmente para uso em formulários.
$(':input') – para todas as marcações "input"
$(':text') – os campos de formulário do tipo "text"
$(':password') – os campos de formulário do tipo "password"
$(':checkbox') - os campos de formulário do tipo " checkbox'"
o mesmo serve para inputs do tipo radio, button, submit, reset, image e file.
$(':enabled') - todos os elementos do formulário que estejam abilitados
$(':disabled') - todos os elementos do formulário que

Outros materiais