Anda di halaman 1dari 21

UNIVERSIDADE DO ESTADO DE MATO GROSSO CURSO LICENCIATURA PLENA EM COMPUTAO CAMPUS UNIVERSITRIO DE CCERES JANE VANINI DEPARTAMENTO DE COMPUTAO

DISCIPLINA DE PROGRAMAO WEB DOCENTE: PROF: PAULO LACERDA DISCENTE: GENIVALDO PEREIRA DA ROCHA 6 SEMESTRE

Tecnologias Usadas no 6 semestre Programao Web HTML 5 Java Script CSS PHP

CCERES MT, 29 DE NOVENBRO DE 2013.

HTML5
HTML5 (Hypertext Markup Language, verso 5) uma linguagem para estruturao e apresentao de contedo para a World Wide Web e uma tecnologia chave da Internet originalmente proposto por Opera Software. a quinta verso da linguagem HTML. Esta nova verso traz consigo importantes mudanas quanto ao papel do HTML no mundo da Web, atravs de novas funcionalidades como semntica e acessibilidade. Com novos recursos, antes s possveis por meio de outras tecnologias. Sua essncia tem sido melhorar a linguagem com o suporte para as mais recentes multimdias, enquanto a mantm facilmente legvel por seres humanos e consistentemente compreendidos por computadores e outros dispositivos (navegadores, parsers, etc). O HTML5 ser o novo padro para HTML, XHTML, e HTML DOM. Atualmente, est em fase de esboo, porm diversos navegadores j implementam algumas de suas funcionalidades. Aps seus predecessores imediatos HTML 4.01 e XHTML 1.1, HTML5 uma resposta observao de que o HTML e o XHTML, de uso comum na World Wide Web, uma mistura de caractersticas introduzidas por vrias especificaes, juntamente com aquelas introduzidas por software, tais como os navegadores, aqueles estabelecidos pela prtica comum, e os muitos erros de sintaxe em documentos existentes na web. , tambm, uma tentativa de definir uma nica linguagem simples de marcao que possa ser escrita em HTML ou em sintaxe XHTML. Isso inclui modelos de processamento detalhados para incentivar implementaes mais interoperveis; isso estende, melhora e racionaliza a marcao disponvel para documentos, e introduz marcaes e interfaces de programao de aplicativos (APIs) para aplicaes web complexas. Pelas mesmas razes, HTML5 tambm um candidato em potencial aplicaes multi-plataforma mveis. Muitos recursos do HTML5 tem sido construdos com a considerao de ser capaz de executar em dispositivos de baixa potncia como smartphones e tablets. Em particular, HTML5 adiciona vrias novas funes sintticas. Elas incluem as tags de<vdeo>,<udio>,<header> e elementos<canvas>, assim como a integrao de contedos SVG que substituem o uso de tags<object> genricas. Estas funes so projetadas para tornar mais fcil a incluso e a manipulao de contedo grfico e multimdia na web sem ter de recorrer a plugins proprietrios e APIs. Outros novos elementos, como <section>,<article>,<header> e<nav>, so projetados para enriquecer o contedo semntico dos documentos. Novos atributos tm sido introduzidos com o mesmo propsito, enquanto alguns elementos e atributos tm sido removidos. Alguns elementos, como<a>, e<menu> tm sido mudados, redefinidos ou padronizados. As APIs e os modelos de objetos de documentos (DOM) no so mais pensamentos retrgrados, mas so partes fundamentais da especificao do HTML5. HTML5 tambm define com algum detalhe o processamento necessrio para que erros de sintaxe de documentos invlidos sejam tratados uniformemente por todos os browsers e outros agentes de usurios em conformidade com o HTML5.
1

Histria
O Web Hypertext Application Technology Working Group (WHATWG) iniciou o trabalho do novo padro HTML em 2004, quando o World Wide Web Consortium(W3C) estava se concentrando no futuro desenvolvimento do XHTML 2.0, e o HTML 4.01 no tinha sido atualizado desde 2001. Em 2009, o W3C decidiu que o Grupo de Trabalho do XHTML 2.0 deveria parar seus trabalhos, e assim, descontinuar o padro. Desta forma o W3C e o WHATWG passaram a trabalhar juntas no desenvolvimento do HTML5. O projeto do HTML5 foi bem recebido pelos desenvolvedores Web at ento, e tornou-se tema na mdia em abril de 2010, depois que o CEO da Apple, Steve Jobs emitiu uma carta pblica intitulada "Reflexes sobre o Adobe Flash", onde ele conclui que o desenvolvimento do HTML5 tornaria o Adobe Flash no mais necessrio, tanto para assistir vdeo ou mesmo exibir qualquer contedo web. Isso provocou um debate entre os desenvolvedores Web, onde muitos sugeriram que, enquanto o HTML5 proporcionasse uma melhor funcionalidade, a variedade de browsers existentes exibiria pginas diferentes, tendo um resultado diferente em cada navegador e no conseguiria-se de fato chegar a um padro. No incio de novembro de 2011 a Adobe anunciou que vai interromper o desenvolvimento de Flash para dispositivos mveis e redirecionar seus esforos para o desenvolvimento de ferramentas utilizando HTML5.

Descrio
No incio de 2008 o W3C consrcio de empresas de tecnologia que coordena os padres da internet quanto a linguagem anunciou a primeira especificao do HTML5. O HTML, que responsvel por organizar e formatar as pginas que visitamos na Internet, est em sua verso 4.0.1 e continua evoluindo. Aps cinco anos de trabalho, desde 2008 est em fase de esboo, enquanto a verso final est prevista para 2014. Foram feitas grandes alteraes, que incluem: Novas APIs, entre elas uma para desenvolvimento de grficos bidimensionais. Controle embutido de contedo multimdia Aprimoramento do uso off-line Melhoria na depurao de erros

Esta evoluo da linguagem padro para web pode eliminar a necessidade de plug-ins para aplicaes multimdia em navegadores. Diversos crticos consideram a tecnologia como um forte concorrente ao Flash, da Adobe, ao Silverlight, da Microsoft, e ao recente JavaFX, da Sun (Oracle). Recentemente, Shantanu Narayen, diretor executivo da Adobe, disse que o Flash no iria perder mercado, porm a verso 5 do HTML j est sendo chamada de " Flashkiller" (Assassino do Flash) . Estas tecnologias precisaro se adaptar rapidamente para conseguir manter-se no mercado, to populares quanto hoje. Na avaliao do co-diretor de ferramentas da Mozilla, Ben Galbraith, as tecnologias viabilizadas pelo HTML5 como o Canvas para desenhos 2D e o armazenamento de contedos no desktop, permitiro que "usemos mais o browser do que nunca". Aps dez anos sem atualizaes, a forma como se escreve pginas na internet passa por uma boa transformao. O HTML5 oferece uma experincia web totalmente diferente para usurios e embora exista um longo caminho para ser finalizado, muitos navegadores importantes, como Internet Explorer 9, Opera, Safari 4, Firefox 3.6 e Chrome j implementaram grandes

partes da linguagem, incluindo tags de vdeo e suporte tecnologia Canvas. Com a evoluo da linguagem, os navegadores passam da categoria "mostradores" de pginas para um renderizador de "web software". Assim como surgiram as app stores para aplicaes nativas, existem appstores especificas para aplicaes HTML5, os desenvolvedores podem utilizar a audincia das appstores para distribuir seu aplicativo e tambm fazer cobrana (as appstores oferecem integraes para permitir a cobrana). Como, por exemplo, a Zeewe, loja de apps HTML5 focada em smartphones.

Exemplo de um cdigo HTML5


Cdigo HTML5 para reproduzir udio sem a necessidade de plug-ins: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>udio em HTML5</title> </head> <body> <audio controls autoplay> <source src="audio.ogg" /> <!-- Mensagem explicando que o navegador no suporta udio ou o formato usado. --> <p>Seu navegador no suporta udio HTML5 ou o formato Opus.</p> </audio> </body> </html>

Popularidade
De acordo com um relatrio divulgado em 30 de setembro de 2011, 34% dos 100 melhores Web sites do mundo estavam usando HTML5 a adaptao foi liderada por mecanismos de busca eredes sociais. Em 20 de outubro de 2011, o Facebook anunciou o lanamento do Centro de Recursos HTML, dando aos desenvolvedores ferramentas para construir, testar e implementar aplicaes para o Facebook.

Logo do HTML5

Logotipo do HTML5.

Em 18 de janeiro de 2011, a W3C introduziu uma logo para representar o uso de ou o interesse em HTML5. Diferente de outros emblemas anteriormente disponibilizadas pela W3C, esta no implica em uma validao ou em uma conformidade com um certo padro. Desde de o dia 1 de abril, este logotipo oficial. Quando foi inicialmente apresentado ao pblico, a W3C anunciou o logotipo HTML5 como uma "Identidade visual de propsito geral para um vasto conjunto de tecnologias web de cdigo aberto, incluindo HTML5, CSS, SVG, Formato de Fonte Aberto (Open - de Cdigo aberto) para Web (em ingls WOFF), e outros".Alguns defensores de padres web, incluindo o The Web Standards Project (O Projeto de Padres Web), criticaram a definio de "HTML5" relatando este como um termo guarda-chuva, apontando para a falta de nitidez da terminologia e o potencial para o desentendimento. Trs dias depois, a W3C respondeu comunidade e alterou a definio do logotipo, retirando certas definies de tecnologias associadas a linguagem. A W3C ento disse que o logotipo "Representa o HTML5, a pedra angular para aplicaes web modernas

JavaScript
JavaScript uma linguagem de programao interpretada. Foi originalmente implementada como parte dos navegadores web para que scripts pudessem ser executados do lado do cliente e interagissem com o usurio sem a necessidade deste script passar pelo servidor, controlando o navegador, realizando comunicao assncrona e alterando o contedo do documento exibido. atualmente a principal linguagem para programao client-side em navegadores web. Foi concebida para ser uma linguagem script com orientao baseada em prottipos, tipagem fraca e dinmica e funes de primeira classe. Possui suporte programao funcional e apresenta recursos como fechamentos e funes de alta ordem comumente indisponveis em linguagens populares como Java e C++. baseada em ECMA Script padronizada pela Ecma international nas especificaes ECMA262 e ISO/IEC 16262.

Histria
JavaScript foi originalmente desenvolvido por Brendan Eich da Netscape sob o nome de Mocha, posteriormente teve seu nome mudado para LiveScript e por fim JavaScript. LiveScript foi o nome oficial da linguagem quando foi lanada pela primeira vez na verso beta do navegador Netscape 2.0 em setembro de 1995, mas teve seu nome mudado em um anncio conjunto com a Sun Microsystems em dezembro de 1995 quando foi implementado no navegador Netscape verso 2.0B3. A mudana de nome de LiveScript para JavaScript coincidiu com a poca em que a Netscape adicionou suporte tecnologia Java em seu navegador (Applets). A escolha final do nome causou confuso dando a impresso de que a linguagem foi baseada em java, sendo que tal escolha foi caracterizada por muitos como uma estratgia de marketing da Netscape para aproveitar a popularidade do recm-lanado Java.

JavaScript rapidamente adquiriu ampla aceitao como linguagem de script client-side de pginas web. Como consequncia, a Microsoft desenvolveu um dialeto compatvel com a linguagem de nome JScript para evitar problemas de marca registrada. JScript adicionou novos mtodos para consertar mtodos do Javascript relacionados a data que apresentavam problemas Script foi includo no Internet Explorer3.0, liberado em Agosto de 1996. Javascript e Jscript so to similares que os dois termos so comumente usados de forma intercambivel. A Microsoft entretanto declara muitas caractersticas nas quais JScript no conforma com a especificao ECMA. Em novembro de 1996 a Netscape anunciou que tinha submetido JavaScript para Ecma internacional como candidato a padro industrial e o trabalho subsequente resultou na verso padronizada chamada ECMAScript. JavaScript tem se transformado na linguagem de programao mais popular da web. Inicialmente, no entanto, muitos profissionais denegriram a linguagem pois ela tinha como alvo principal o pblico leigo. Com o advento do Ajax, JavaScript teve sua popularidade de volta e recebeu mais ateno profissional. O resultado foi a proliferao de frameworks e bibliotecas, prticas de programao melhoradas e o aumento no uso do JavaScript fora do ambiente de navegadores, bem como o uso de plataformas de JavaScript server-side.
4 ,

Em janeiro de 2009 o projeto CommonJS foi fundado com o objetivo de especificar uma biblioteca padro para desenvolvimento JavaScript fora do navegador.

Caractersticas
As seguintes caractersticas so comuns a todas as implementaes conformantes com o ECMAScript.

Imperativa e Estruturada
JavaScript suporta os elementos de sintaxe de programao estruturada da linguagem C (por exemplo, if, while, switch). Uma exceo a questo do escopo: o escopo em blocos ao estilo do C no suportado, em seu lugar JavaScript utiliza escopo a nvel de funo. JavaScript 1.7, entretanto, suporta escopo a nvel de bloco atravs do comando let. Como C, JavaScript faz distino entre expresses e comandos. Uma diferena sinttica do C que a quebra de linha termina automaticamente o comando, sendo o ponto-e-vrgula opcional ao fim do comando.

Dinmica Tipagem dinmica


Como na maioria das linguages de script, tipos so associados com valores, no com variveis. Por exemplo, a varivel x poderia ser associada a um nmero e mais tarde associada a uma string. JavaScript suporta vrias formas de testar o tipo de um objeto, incluindo ducktyping.

Baseada em objetos
JavaScript quase inteiramente baseada em objetos. Objetos JavaScript so arrays associativos, aumentados com prottipos. Os nomes da propriedade de um objeto so strings: obj.x = 10 e obj["x"] = 10 so equivalentes, o ponto neste exemplo apenas acar sinttico. Propriedades e seus valores podem ser adicionadas, mudadas, ou deletadas em tempo de execuo. A maioria das propriedades de um objeto (e aqueles em sua cadeia de herana via prottipo) pode ser enumerada usando-se uma estrutura de repetio for...in.

Javascript possui um como window e document.

pequeno

nmero

de

objetos

padro

da

linguagem

Avaliao em tempo de execuo


JavaScript inclui a funo eval que consegue executar em tempo de execuo comandos da linguagem que estejam escritos em uma string.

Funcional Funes de primeira classe


No JavaScript as funes so de primeira classe, isto , so objetos que possuem propriedades e mtodos, e podem ser passados como argumentos, serem atribudos a variveis ou retornados como qualquer outro objeto.

Funes aninhadas
Funes 'internas' ou 'aninhadas' so funes definidas dentro de outras funes. So criadas cada vez que a funo que as contm (externa) invocada. Alm disso, o escopo da funo externa, incluindo constantes, variveis locais e valores de argumento, se transforma parte do estado interno de cada objeto criado a partir da funo interna, mesmo depois que a execuo da funo interna concluda.

Fechamentos
JavaScript permite que funes aninhadas sejam criadas com o escopo lxico no momento de sua definio e possui o operador () para invoc-las em outro momento. Essa combinao de cdigo que pode ser executado fora do escopo no qual foi definido, com seu prprio escopo durante a execuo, denominada, dentro da cincia da computao, fechamento.

Baseada em Prottipos Prottipos


JavaScript usa prottipos em vez de classes para o mecanismo herana. possvel simular muitas caractersticas de orientao a objetos baseada em classes com prottipos.

Funes e mtodos
Diferente de muitas linguagens orientadas a objetos, no h distino entre a definio de uma funo e a definio de um mtodo no JavaScript. A distino ocorre durante a chamada da funo; a funo pode ser chamada como um mtodo. Quando uma funo chamada como mtodo de um objeto, a keyword this da funo associada quele objeto via tal invocao.

Uso em pginas Web


O uso primrio de JavaScript escrever funes que so embarcadas ou includas em pginas HTML e que interagem com o Modelo de Objeto de Documentos (DOM) da pgina. Alguns exemplos deste uso so: abrir uma nova janela com controle programtico sobre seu tamanho, posio e atributos; validar valores de um formulrio para garantir que so aceitveis antes de serem enviados ao servidor; mudar imagens medida que o mouse se movimenta sob elas.

Pelo fato do cdigo JavaScript rodar localmente no navegador do usurio, e no em um servidor remoto, o navegador pode responder a tais aes rapidamente, fazendo uma aplicao mais responsiva. Alm disso, o cdigo javascript pode detectar aes de usurio que

o HTML sozinho no pode, tais como teclas pressionadas individualmente. Aplicaes como Gmail tomam vantagem disso: muito da lgica da interface do usurio escrita em JavaScript, e o JavaScript envia requisies de informao, tais como o contedo de um correio eletrnico, para o servidor. A tendncia mais ampla de programao em Ajax explora de maneira similar este ponto forte. Uma JavaScript engine (tambm conhecida como interpretador JavaScript ou uma implementao JavaScript) interpreta cdigo fonte JavaScript e o executa de forma adequada. A primeira implementao JavaScript foi criada por Brendan Eich na Netscape Communications Corporation, para o Navegador Netscape. A implementao, nomeada SpiderMonkey, implementada em C e vem sendo atualizada para conformar com a edio 3 do ECMA-262. A implementao Rhino, criada primariamente por Norris Boyd (ex-empregado da Netscape; agora no Google) uma implementao de JavaScript em Java. Rhino, como SpiderMonkey, conformante com a terceira edio do ECMA-262. Por ser o JavaScript a nica linguagem que a maioria dos navegadores populares suportam, tem se tornado uma linguagem alvo para muitos frameworks em outras linguagens, a despeito do fato de no ter sido planejado para tal. No obstante as limitaes de desempenho inerente sua natureza dinmica, a crescente velocidade das implementaes JavaScript tem feito da mesma uma prtica linguagem intermediria.

Exemplo
Um exemplo minimalista de uma pgina conforme os padres web (utilizando a sintaxe HTML5) que contm JavaScript pode ser representado pelo seguinte cdigo: <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8" /> <title>Wikipdia</title> <script> function hello() { alert("Bem-vindo Wikipdia"); } document.getElementById("hello").addEventListener("click", hello, false); </script> </head> <body> <noscript>Seu navegador no suporta JavaScript ou est desabilitado.</noscript> <button type="button" name="button" id="hello">Say Hello</button> </body> </html>

No script acima, vimos que existe uma tag chamada <noscript>, ela est neste cdigo HTML porque um meio de acessibilidade com o cliente, fazendo com que seu texto seja renderizado pelo navegador quando o JavaScript estiver desativado.

Compatibilidade
J que JavaScript roda em ambientes variveis, uma parte importante do teste e depurao de seu cdigo consiste na verificao de compatibilidade entre navegadores. As interfaces DOM para a manipulao de pginas web no so parte do padro ECMA, ou do prprio JavaScript. Oficialmente, so definidas por um esforo de padronizao da W3C; na prtica, implementaes de navegadores diferem do padro de uma para as outras, e nem todos navegadores executam JavaScript. Para lidar com essas diferenas, programadores JavaSCript com frequncia tentam escrever cdigos que conformam com o padro comum a maioria dos navegadores; no sendo possvel isso, tentam escrever de maneira ad-hoc um cdigo que verifique a presena de certos recursos e que se comporte de maneira adequada caso tais recursos no estejam disponveis. Em alguns casos, dois navegadores podem ambos implementarem uma funcionalidade com comportamentos diferentes, e programadores podem achar prtico detectar qual navegador est rodando e mudar o comportamento de seus scripts para se adequar a isso. Programadores podem tambm usar bibliotecas ou ferramentas que abstraem tais diferenas entre navegadores. Alm disso, scripts podem no funcionar para alguns usurios. Por exemplo, um usurio pode: Usar um navegador antigo ou raro com suporte DOM incompleto ou incomum. Usar um navegador de um PDA ou telefone mvel que no est apto a executar JavaScript. Ter a execuo do JavaScript desabilitada por normas de segurana.

Para suportar tais usurios, programadores web tentam criar pginas que sejam robustas a agentes que no suportem o JavaScript da pgina. Em particular, uma pgina deve funcionar a despeito das funcionalidades extras que um JavaScript prov. Uma abordagem alternativa que muitos acham prefervel a pgina se desenvolvida por primeiro a partir de tecnologias bsicas que funcionem em todos os navegadores, e ento aprimor-la para os usurios que possuam JavaScript.

Acessibilidade
Assumindo que o usurio no tenha desabilitado sua execuo, pode-se utilizar JavaScript do lado cliente para melhorar a experincia de um usurio com deficincia fsica ou visual. Leitores de tela utilizados por pessoas cegas ou com viso parcial podem detectar a presena de JavaScript e dessa forma acessar e ler o DOM da pgina depois que seus scripts foram executados. Nestes casos recomenda-se que o HTML seja o mais conciso, navegvel e rico semanticamente possvel, tendo a pgina scripts ou no. No se recomenda que o cdigo JavaScript de uma pgina seja totalmente dependente do eventos provenientes do mouse j que usurios que no conseguem ou optam por no usar o mouse no estaro aptos a colher os benefcios de tal cdigo. Da mesma forma, embora hyperlinks e webforms possam ser navegados e operados do teclado, JavaScript voltado para acessibilidade no deve requerer um teclado para acessar tais eventos. JavaScript conta com eventos independentes do dispositivo de usurio tais como onfocus e onchange que so mais recomendados na maioria dos casos. No se recomenda utilizar JavaScript de um jeito que seja confuso ou desorientador para qualquer usurio da internet. Por exemplo, usar JavaScript para alterar ou desabilitar a funcionalidade normal de um navegador, tal como mudar a forma com que o boto direito ou o evento de atualizao funcionam, deve ser evitado. Da mesma forma, eventos de interrupo

que o usurio pode no estar ciente reduzem a sensao de controle do usurio, assim como scripts inesperados que mudam o contedo da pgina. Frequentemente o processo de fazer pginas web complexas to acessveis quanto possvel se transforma em um problema no trivial, onde certas decises so assunto de debate e opinio. Entretanto, tecnologias assistivas esto constantemente evoluindo e novas recomendaes e informaes relevantes vem sendo continuamente publicadas na web.

Segurana
JavaScript e o DOM representam uma potencialidade para programadores maliciosos escreverem scripts para rodarem em um cliente via web. Navegadores so projetados para conter este risco de duas maneiras. A primeira que scripts so rodados em uma sandbox na qual s podem executar aes relacionadas internet, no tarefas de programao de propsito geral como criar arquivos. A segunda que scripts so limitados pela regra da mesma origem: scripts de um web site no tm acesso a informaes como nomes de usurio, senhas ou cookies enviados de outro site. A maioria dos bugs em JavaScript relacionados segurana so brechas de uma das regras.

Vulnerabilidades inter-sites
Um problema comum relacionado segurana a escrita de scripts inter-sites, ou XSS, uma violao da regra da mesma origem. Tais vulnerabilidades ocorrem quando um atacante est apto a causar em um site alvo, como um site de banco, a incluso de um script malicioso na pgina web apresentada vtima. O script neste exemplo pode ento acessar a aplicao do banco com privilgios da vtima, potencialmente revelando informaes secretas ou transferindo dinheiro sem a autorizao da vtima. Alguns navegadores incluem proteo parcial contra ataques XSS refletidos, no qual o atacante fornece uma URL incluindo o script malicioso. No entanto, mesmo usurios destes sites esto vulnerveis a outros ataques XSS, como aqueles onde o cdigo malicioso guardado em um banco de dados. Apenas o correto desenho de aplicaes web no servidor pode prevenir inteiramente ataques XSS. Vulnerabilidades XSS tambm podem ocorrer por causa de erros de implementao por parte de programadores de navegadores. Outra vulnerabilidade inter-sites a falsificao de requisio inter-sites ou CSRF. No CSRF, o cdigo no site de um atacante faz com que o navegador da vtima tome aes no desejadas pelo usurio em um site alvo (como transferncia de dinheiro em um banco). Ela funciona porque, se o site alvo conta apenas com cookies para autenticar requisies, ento requisies iniciadas pelo cdigo no site do atacante levaro as mesmas credenciais legtimas de login que as requisies iniciadas pelo usurio. Em geral a soluo para CSRF requerer um valor de autenticao em um campo webform escondido, e no somente nos cookies, para autenticar qualquer requisio que possa ter efeitos duradouros. Verificar o cabealho do HTTP Referrer tambm pode ajudar. "Sequestro Java Script" um tipo de ataque CSRF no qual uma tag <script> no site do atacante explora uma pgina no lado da vtima que retorna informao privada tal como JSON ou Java Script. Solues possveis incluem requerer um token de autenticao nos parmetros POST e GET para qualquer resposta que retorne um JSON privado (mesmo que no tenha efeitos colaterais); utilizar POST e nunca GET para requisies que retornem um JSON privado; e modificar a resposta de forma que no possa ser usada via uma tag <script> (atravs, por exemplo, de um wrapping de um JSON em um comentrio Java Script).

Exemplos de scripts
Scripts Simples
// Mostra um alerta de Confirmar e Cancelar. if ( confirm( 'Escolha "Ok" ou "Cancelar" para ver a mensagem correspondente.' ) ) { alert( 'Voc apertou o boto OK' ); // mostra um alerta para resposta OK } else { alert( 'Voc apertou o boto Cancelar' ); // mostra um alerta para resposta Cancelar }

Comentrios
Javascript permite utilizar comentrios de duas formas: Comentrios de nica linha; Comentrios de mltiplas linhas.

Exemplos de comentrios: // Este comentrio ocupa uma nica linha /* J este comentrio mais longo e utiliza vrias linhas */

Funes[editar]
Criando uma funo simples: function nomeDaFuno( listaDeParmetros ) { //cdigo que ser executado return valorRetornado; }

Hierarquia do objeto[editar]
//Construtor function Exemplo() { this.propriedade = 'Isso uma propriedade.', this.metodo = function() { return 'Isso um metdo'; } } var objeto = new Exemplo(); //Instncia do construtor Exemplo // Alerta os respectivos textos na tela alert( objeto.propriedade ), alert( objeto.metodo() );

Nmeros Perfeitos[editar]
alert( "Nmeros perfeitos entre 0 e 5000: " + function( max ) { for ( i = 0, perfeitos = []; i++ < max; ) { for ( j = k = 0; ++j < i; ) { if ( i % j == 0 ) k += j;

if ( j+1 == i && k == i ) perfeitos.push( k ); } } return perfeitos.join( ", " ); }( 5000 ));

Cascading Style Sheets CSS


Cascading Style Sheets (ou simplesmente CSS) uma linguagem de estilo utilizada para definir a apresentao de documentos escritos em uma linguagem de marcao, como HTML ou XML. Seu principal benefcio prover a separao entre o formato e o contedo de um documento. Em vez de colocar a formatao dentro do documento, o desenvolvedor cria um link (ligao) para uma pgina que contm os estilos, procedendo de forma idntica para todas as pginas de um portal. Quando quiser alterar a aparncia do portal basta portanto modificar apenas um arquivo. Com a variao de atualizaes dos navegadores (browsers) como Internet Explorer que ficou sem nova verso de 2001 a 2006, o suporte ao CSS pode variar. O Internet Explorer 6, por exemplo, tem suporte total a CSS1 e praticamente nulo a CSS2. Navegadores mais modernos como Google Chrome eMozilla Firefox tem suporte maior, inclusive at a CSS3, ainda em desenvolvimento. A interpretao dos navegadores pode ser avaliada com o teste Acid2, que se tornou uma forma base de revelar quo eficiente o suporte de CSS, fazendo com que a nova verso em desenvolvimento do Firefox seja totalmente compatvel a ele assim como o Opera j . O Doctype informado ou a ausncia dele determina o quirks mode ou o strict mode modificando o modo como o CSS interpretado e a pgina desenhada.

Sintaxe
CSS tem uma sintaxe simples e utiliza uma srie de palavras em ingls para especificar os nomes de diferentes estilos de propriedade de uma pgina. Uma folha de estilo consiste de uma lista de regras. Cada regra ou conjunto de regras consiste de um ou mais seletores e um bloco de declarao. Uma declarao de bloco composta por uma lista de declaraes entre chaves. Cada declarao em si uma propriedade, dois pontos (:), um valor, ento um ponto e vrgula (;). Em CSS, seletores so usados para declarar s quais elementos de marcao um estilo se aplica uma espcie de expresso correspondente. Os seletores podem ser aplicados a todos os elementos de um tipo especfico, ou apenas aqueles elementos que correspondam a um determinado atributo; elementos podem ser combinados, dependendo de como eles so colocados em relao uns aos outros no cdigo de marcao, ou como eles esto aninhados dentro do objeto de documento modelo. Pseudo-classe outra forma de especificao usada em CSS para identificar os elementos de marcao, e, em alguns casos, aes especficas de usurio para o qual um bloco de declarao especial se aplica. Um exemplo freqentemente utilizada o :hover pseudoclasse que se aplica um estilo apenas quando o usurio 'aponta para' o elemento visvel,

normalmente, mantendo o cursor do mouse sobre ele. Isto anexado a um seletor como em a:hover ou #elementid:hover. Outras pseudo-classes e pseudo-elementos so, por exemplo, :first-line, :visited or :before. Uma pseudo-classe especial :lang(c), "c". Uma pseudo-classe seleciona elementos inteiros, tais como :link ou :visited, considerando que um pseudo-elemento faz uma seleo que pode ser constituda por elementos parciais, tais como :first-line ou :first-letter. Seletores podem ser combinados de outras formas tambm, especialmente em CSS 2.1, para alcanar uma maior especificidade e flexibilidade. Aqui est um exemplo que resume as regras acima: selector [, selector2, ...][:pseudo-class] { property: value; [property2: value2; ...] } /* comment */

Seletores
Definio de estilo um conjunto de propriedades visuais para um elemento, o CSS define regras que fazem as definies de estilo casarem com um elemento ou grupo de elemento, o documento pode conter um bloco de css em um elemento style ou usando o element link apontando para um arquivo externo que contenha o bloco CSS.

Para uso com o CSS foi criado o atributo class que todo elemento pode conter. As regras de casamento para o css so chamadas de seletores, uma definio de estilo pode ser casada com um seletor ou um grupo de seletores separados por vrgula, um seletor pode casar um elemento por: elemento do tipo : element_name { style definition; } elemento do tipo com a classe : element_name.class_name { style definition; } todos os elementos com a classe : .class_name { style definition; } o elemento com com o id : #id_of_element { style definition; } casamento de um grupo : element_name_01, element_name_02, .class_name { style definition; }

Exemplos p {text-align: right; color: #BA2;} p.minhaclasse01 { color:#ABC; } .minhaclasse02 { color:#CAD; } #iddomeuelemento { color:#ACD; } p.minhaclasse03 .minhaclasse04 { color:#ACD; }

Exemplos
/* comentrio em css, semelhante aos da linguagem c */ body { font-family: Arial, Verdana, sans-serif; background-color: #FFF; margin: 5px 10px; } O cdigo acima define fonte padro Arial, caso no exista substitui por Verdana, caso no exista define qualquer fonte sans-serif. Define tambm a cor de fundo do corpo da pgina. Sua necessidade adveio do fato de o HTML (Hyper Text Markup Language) aos poucos ter deixado de ser usado apenas para criao de contedo na web, e portanto havia uma mistura de formatao e contedo textual dentro do cdigo de uma mesma pgina. Contudo, na criao de um grande portal, fica quase impossvel manter uma identidade visual, bem como a produtividade do desenvolvedor. nesse ponto que entra o CSS. As especificaes do CSS podem ser obtidas no site da W3C "World Wide Web Consortium", um consrcio de diversas empresas que buscam estabelecer padres para a Internet. importante notar que nenhum navegador suporta igualmente as definies do CSS. Desta forma, o web designer deve sempre testar suas folhas de estilo em navegadores de vrios fabricantes, e preferencialmente em mais de uma verso, para se certificar de que o que foi codificado realmente seja apresentado da forma desejada.

Exemplo de CSS aplicado em XML


O arquivo de exemplo XML renderizado no Mozilla Firefox.

Arquivo *.XML com ligao para uma folha de estilos em cascata: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/css" href="css.css"?> <schedule> <date>Tuesday 20 June</date> <programme> <starts>6:00</starts> <title>News</title> With Michael Smith and Fiona Tolstoy. Followed by Weather with Malcolm Stott. </programme> <programme> <starts>6:30</starts> <title>Regional news update</title> Local news for your area. </programme> <programme> <starts>7:00</starts> <title>Unlikely suspect</title> Whimsical romantic crime drama starring Janet Hawthorne and Percy Trumpp. </programme> </schedule>

O arquivo *.CSS que formata o XML anterior: @media screen { schedule { display: block; margin: 10px; width: 300px; } date { display: block; padding: 0.3em; font: bold x-large sans-serif; color: white; background-color: #C6C; } programme { display: block; font: normal medium sans-serif; } programme > * { /* All children of programme elements */ font-weight: bold; font-size: large; } title { font-style: italic; } }

CSS e JavaScript Pop-up no-bloquevel


<html> <head> <title></title> <style type="text/css"> #popup { position: absolute; top: 30%; left: 30%; width: 300px; height: 150px; padding: 20px 20px 20px 20px; border-width: 2px; border-style: solid; background: #ffffa0; display: none; } </style> <script type="text/javascript"> function abrir() {

document.getElementById('popup').style.display = 'block'; setTimeout ("fechar()", 3000); } function fechar() { document.getElementById('popup').style.display = 'none'; } </script> </head> <body onload="abrir()" > <div id="popup" class="popup"> Esse um exemplo de popup utilizando o elemento <code>div</code>. Dessa maneira esse pop-up no ser bloqueado. <small><a href="javascript: fechar();">[X]</a></small> </div> <br /><a href="javascript: abrir();">Abrir pop-up</a> <br /><a href="javascript: fechar();">Fechar pop-up</a> </body> </html>

PHP
PHP (um acrnimorecursivo para "PHP: Hypertext Preprocessor",originalmente Personal Home Page) uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicaes presentes e atuantes no lado do servidor, capazes de gerar contedo dinmico na World Wide Web. Figura entre as primeiras linguagens passveis de insero em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados. O cdigo interpretado no lado do servidor pelo mdulo PHP, que tambm gera a pgina web a ser visualizada no lado do cliente. A linguagem evoluiu, passou a oferecer funcionalidades em linha de comando, e alm disso, ganhou caractersticas adicionais, que possibilitaram usos adicionais do PHP, no relacionados a web sites. possvel instalar o PHP na maioria dos sistemas operacionais, gratuitamente. Concorrente direto da tecnologia ASP pertencente Microsoft, o PHP utilizado em aplicaes como o MediaWiki, Facebook, Drupal,Joomla, WordPress, Magento e o Oscommerce. Criado por Rasmus Lerdorf em 1995, o PHP tem a produo de sua implementao principal referncia formal da linguagem, mantida por uma organizao chamada The PHP Group. O PHP software livre, licenciado sob a PHP License, uma licena incompatvel com a GNU General Public License (GPL) devido a restries no uso do termo PHP.

Histrico
A linguagem surgiu em meados de 1994, como um pacote de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua pgina pessoal. Em 1997 foi lanado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientao a objetos, que dava poder de alcanar alguns pacotes, tinha herana e dava aos desenvolvedores somente a possibilidade de implementar propriedades e mtodos. Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder mquina da linguagem e maior nmero de recursos de orientao a objetos. O problema srio que apresentou o PHP 4 foi a criao de cpias de objetos, pois a linguagem ainda no trabalhava com apontadores ou handlers, como so as linguagens Java, Ruby e outras. O problema fora resolvido na verso atual do PHP, a verso 5, que j trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois, caso haja alguma mudana na verso original do objeto, todas as outras tambm sofrem a alterao, o que no acontecia na PHP 4. Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalao e uso em servidores web. Diversos mdulos so criados no repositrio de extenses PECL (PHP Extension Community Library) e alguns destes mdulos so introduzidos como padro em novas verses da linguagem. muito parecida, em tipos de dados, sintaxe e mesmo funes, com a linguagem C e com a C++. Pode ser, dependendo da configurao do servidor, embarcada no cdigo HTML. Existem verses do PHP disponveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, AIX, IRIX e Solaris. Construir uma pgina dinmica baseada em bases de dados simples com PHP, (em parte, vale lembrar), este prov suporte a um grande nmero de bases de etc., dados: Oracle, Sybase,PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, um software inteiramente escrito em PHP, usando bases de dados MySQL: o MediaWiki. PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-RPC, SOAP. possvel abrir sockets e interagir com outros protocolos. E as bibliotecas de terceiros expandem ainda mais estas funcionalidades. Existem iniciativas para utilizar o PHP como linguagem de programao de sistemas fixos. A mais notvel a PHP-GTK. Trata-se de um conjunto do PHP com a biblioteca GTK, portada do C++, fazendo assim softwares interoperacionais entre Windows e Linux. Na prtica, essa extenso tem sido muito pouco utilizada para projetos reais.

podendo abstrair o banco com a biblioteca ADOdb, entre outras. A Wikipdia funciona sobre

Licena
PHP um software gratuito e de cdigo aberto publicado sob a PHP License, que afirma:
6

Produtos derivados deste software no devem ser chamado de PHP, nem pode conter "PHP" em seu nome, sem prvia permisso por escrito da group@php.net. Voc pode indicar que o software funciona em conjunto com o PHP, dizendo "Foo para PHP", em vez de cham-lo "PHP Foo" ou "phpfoo". Esta restrio no uso do nome PHP o torna incompatvel com a GNU General Public License (GPL).

Principais caractersticas
A linguagem PHP uma linguagem de programao de domnio especfico, ou seja, seu escopo se estende a um campo de atuao que o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propsito principal de implementar solues web velozes, simples e eficientes. Caractersticas: Velocidade e robustez. Estruturado e orientao a objetos. Portabilidade - independncia de plataforma - escreva uma vez, rode em qualquer lugar. Tipagem dinmica. Sintaxe similar a C/C++ e o Perl. Open-source. Server-side (O cliente manda o pedido e o servidor responde em pagina HTML).

Vetores e matrizes
Os vetores e matrizes em PHP, diferente do que ocorre em C/C++ e Pascal, uma estrutura dinmica, o que pode facilitar muito o trabalho do programador. Um exemplo: <?php $vet01 = $vet01[] $vet01[] $vet01[] array(); = "Sistemas operacionais"; = "Compiladores"; = "Bancos de dados";

$vet02 = array(1, 2, 3, 4, 5); $vet03 = array( 0 => 0, 2 => 3, 10 => "item 10"); for ($i = 0; $i < count($vet01); $i++) { echo $vet01[$i] . "<br />"; } ?> O exemplo acima demonstra trs maneiras diferentes de declarar vetores.

PHP 5
Em junho de 2004 foi lanada a verso 5 do PHP, introduzindo um novo modelo de orientao a objeto, incluindo a reformulao dos construtores e adio de destrutores (ver exemplo contextualizado em anexo), visibilidade de acesso, abstrao de objeto e interfaces de objetos. O tratamento de objetos do PHP foi completamente reescrito, permitindo um desempenho melhor e mais vantagens. Enquanto na verso anterior era preciso muito esforo para atender orientao a objetos e aos padres de projectos (alguns no eram possveis), o PHP 5 veio

para sanar essa deficincia. Ainda sofre nesse sentido, contudo, por problemas devido a ser uma linguagem de tipagem fraca.

Induo de tipo

Nesse sentido, foi adicionada uma caracterstica chamada de induo de tipo, de acordo com a qual podemos ter uma certa tipagem quando passamos objetos aos parmetros de uma funo (ou mtodo), algo inconcebvel na verso anterior.

Visibilidade
A visibilidade de uma propriedade ou mtodo pode ser definida com os seguintes modificadores de acesso: public, protected ou private. Itens declarados como pblicos podem ser acessados pelo objeto (instncia da classe). Membros protegidos esto acessveis s classes filhas (herdadas). A visibilidade privada limita a apenas a classe que define o atributo ou mtodo.

Polimorfismo
Polimorfismo Paramtrico
No polimorfismo paramtrico, um mesmo objeto pode ser utilizado uniformemente como parmetro em diferentes contextos sem necessidade de alteraes. Um mtodo que exibe polimorfismo paramtrico (tambm chamada de mtodo genrico) permite que o tipo do seu argumento seja determinado por um parmetro de tipo implcito ou explcito, executando uma mesma operao, independente do tipo do argumento. O PHP no requer (ou suporta) a definio de tipo explcita na declarao de variveis: o tipo de uma varivel determinado pelo: contexto em que a varivel utilizada. Isto significa que, se voc atribuir um valor string para a varivel $var, $var se torna uma string Se voc ento atribuir um valor inteiro para $var, ela se torna um inteiro. Por isso o PHP no adota este tipo de polimorfismo, pois no possui parmetros genricos

Polimorfismo por Incluso


No polimorfismo por incluso um objeto pode ser visto como pertencendo a diferentes classes que no precisam ser disjuntas. O PHP adota esse tipo de polimorfismo, pois uma linguagem orientada a objeto que permite recursos de herana.

Polimorfismo por Coero


O PHP tambm suporta o polimorfismo por coero, no qual a linguagem dispe de uma operao semntica para converter um argumento para um tipo esperado por uma funo, em [carece de fontes] uma situao que de outra forma resultaria em um erro de tipo.

Extenses[editar]
Extenses do PHP: Funes de compresso de bzip2 Funes de converso de Calendar Funes de ClibPDF Funes de crack Famlia de funes ctype

Biblioteca de rotinas de cliente URL - CURL Funes de pagamento Cybercash Funes DBM Camada de funes de abstrao de banco de dados DBA Funes de dBase Funes dbx Funes DOM XML Funes .NET Funes EXIF Funes FrontBase Funes de formato de dados de formulrios (Forms Data Format) FDF. Funes de filePro Funes de FTP Funes da biblioteca de imagens GD Funes de Gettext Funes de HyperWave Converso de tabela de caracteres ICONV Funes de Informix Funes de manuseio de IIS Funes de IMAP POP3 e NNTP Funes de Ingres II Funes de InterBase Funes de Java Funes de LDAP Funes de Multi-Byte String Funes de Mcrypt Encryption Funes de Mhash Funes de Mimetype Funes de Ming para Flash Funes de mSQL Funes de MSSQL Funes de MySQL Funes de MySQLi Funes de Oracle 8 Funes de OpenSSL Funes de Oracle Funes de sobrecarga de objectos Funes de PDF Funes de PostgreSQL

Funes de impressora Funes de memria Compartilhada Funes de get and walk de SNMP Funes de SOAP Funes de socket Funes de Sybase Funes de Tidy Funes de Tokenizer Funes de W32api Funes de XML-RPC Funes de XSLT Funes do YAZ Funes para Arquivos Zip Funes de compresso de ZLib

Referncias

Anda mungkin juga menyukai