Sérgio Luiz Tonsig
APLICAÇÕES NA NUVEM COMO CONSTRUIR COM
HTML5, JAVASCRIPT, CSS, PHP
E MYSQL
Aplicações na Nuvem - como construir com HTML5, Javascript, CSS, PHP e
MySQL
Copyright¤ Editora Ciência Moderna Ltda., 2012
Todos os direitos para a língua portuguesa reservados pela EDITORA CIÊNCIA
MODERNA LTDA.
De acordo com a Lei 9.610, de 19/2/1998, nenhuma parte deste livro poderá ser
reproduzida, transmitida e gravada, por qualquer meio eletrônico, mecânico, por
fotocópia e outros, sem a prévia autorização, por escrito, da Editora.
Editor: Paulo André P. Marques
Produção Editorial: Aline Vieira Marques
Assistente Editorial: Lorena Fernandes
Capa: Rodrigo Martins
Diagramação: Lúcia Quaresma
Copidesque: Lorena Fernandes
Várias Marcas Registradas aparecem no decorrer deste livro. Mais do que
simplesmente listar esses nomes e informar quem possui seus direitos de
exploração, ou ainda imprimir os logotipos das mesmas, o editor declara estar
utilizando tais nomes apenas para fins editoriais, em benefício exclusivo do dono da
Marca Registrada, sem intenção de infringir as regras de sua utilização. Qualquer
semelhança em nomes próprios e acontecimentos será mera coincidência.
FICHA CATALOGRÁFICA
TONSIG, Sérgio Luiz.
Aplicações na Nuvem - como construir com HTML5, Javascript, CSS, PHP
e MySQL
Rio de Janeiro: Editora Ciência Moderna Ltda., 2012.
1. Programação de Computador – Programas e Dados 2. Ciência da
Computação
I — Título
ISBN: 978-85-399-0335-1
Editora Ciência Moderna Ltda.
R. Alice Figueiredo, 46 – Riachuelo
Rio de Janeiro, RJ – Brasil CEP: 20.950-150
Tel: (21) 2201-6662/ Fax: (21) 2201-6896
E-MAIL: [email protected]
WWW.LCM.COM.BR
CDD 005
004
10/12
Garantias
O autor acredita que todas as informações aqui apresentadas estão corretas e podem ser utilizadas para qualquer fim legal. Entretanto,
não existe qualquer garantia explícita ou implícita de que o uso de tais
informações conduzirá sempre ao resultado desejado. Os nomes e endereços de sites, produtos e empresas, porventura mencionados, foram
utilizados apenas para ilustrar os exemplos, não tendo vínculo algum
com este material. O autor não se responsabiliza pela existência futura
dos endereços de sites web mencionados. Todos os nomes registrados,
marcas registradas ou direitos de uso citados neste material, pertencem
aos respectivos proprietários.
“Que os nossos esforços desafiem as
impossibilidades. Lembrai-vos que as
grandes proezas da história foram conquistas
daquilo que parecia impossível.”
Sir Charles Spencer Chaplin - mais conhecido
como Charlie Chaplin - Londres, 16 de abril de
1889 / Corsier-sur-Vevey, 25 de dezembro de 1977.
Sumário
Prefácio
Capítulo 1: HTML 5 Uma Introdução
xv
1
1.1.
As Principais Novidades
4
1.2.
O Tipo de Documento no HTML 5
7
1.3.
Definição do Conjunto de Caracteres no Documento
11
1.4.
Estrutura Básica Geral com HTML 5
12
Capítulo 2: Modelo de Objetos do
Documento e o HTML5
2.1.
2.2.
17
DOM e HTML 5
18
2.1.1.
JavaScript e o DOM com HTML 5
20
Novos Recursos Estruturais no HTML 5
22
2.2.1
A Tag SECTION
27
2.2.2
A Tag ARTICLE
29
2.2.3
As Tags HEADER e FOOTER
30
2.2.4
A Tag NAV
30
2.2.5
A Tag ASIDE
30
2.2.6
A Tag TIME
30
2.2.7
A Tag DETAILS / SUMMARY
32
viii | Aplicações na Nuvem
Capítulo 3: Canvas, Imagens, Animações,
Áudio e Vídeo
3.1.
Canvas
35
35
3.1.1
Gradiente
38
3.1.2
Paths
41
3.1.3
Formas geométricas
45
3.1.4
Usando Imagens com Canvas
3.1.4.1 Escrevendo Sobre uma Imagem
3.1.4.2 Alterando pixels em Imagens
3.1.4.3 Animando Imagens
3.1.4.4 Aninando Figuras Geométricas
48
51
53
55
60
3.1.5.
Áudio
3.1.5.1
3.1.5.2
Buffer de Áudio
Controlando o Áudio com JavaScript
66
68
69
Vídeo
3.1.6.1
3.1.5.2
Buffer de Vídeo
Controlando o Vídeo com JavaScript
70
73
74
3.1.6.
Capítulo 4: Formulários
79
4.1.
Novos Tipos e Novos Atributos na Tag <Input>
80
4.2.
Exemplo de um Formulário
85
4.3.
Validações Personalizadas
88
4.4.
Outras Validações e Formatações
92
Capítulo 5: Geolocalização
95
5.1.
Introdução
95
5.1.
Geolocalização – Primeiros Passos
96
5.2.
Buscando a Localização
98
5.3.
Mobilidade e Localização
103
Sumário | ix
Capítulo 6: API Storage
111
6.1.
Visão Geral
111
6.2.
Armazenamento e Recuperação
113
6.3.
Sincronismo de Dados
116
6.4.
Segurança
121
Capítulo 7: Miscelânea HTML5
7.1.
123
Drag and Drop
123
7.1.1
Detectando o Recurso
124
7.1.2
Definindo Objetos que podem ser Arrastados
124
7.1.3
Eventos de Mouse para Arrastar e Soltar
126
7.1.4
Exemplo com Arrastar e Soltar
126
7.2.
Messaging
132
7.3.
Web Workers
132
7.4.
WebSocket
140
Capítulo 8: Principais Recursos da Linguagem PHP 145
8.1.
Instalação e Configuração do PHP
146
8.1.1
147
MySQL e Biblioteca Gráfica no PHP
8.2.
Scripts em PHP
150
8.3.
PHP – Comentários no Código
151
8.4.
Tipos de Dados
152
8.5.
Operadores Lógicos, de Atribuição e Aritméticos
155
8.6.
Inspeção do Tipo de Dados
157
8.7.
Comando If
158
8.8.
Comando Switch
159
x | Aplicações na Nuvem
8.9.
Comando foreach
160
8.10.
Loops Condicionais
161
8.10.1
Comando while
161
8.10.2
Comando do - while
162
8.10.3
Comando for
163
8.11.
Inclusão de Fragmentos de Código
165
8.12.
Funções
167
8.13.
Modelo Baseado em Objetos
169
8.14.
8.13.1
Classes
170
8.13.2
Subclasses
173
Acesso a Banco de Dados
176
8.14.1
Acesso ao Banco de Dados MySQL
177
8.14.2
Introdução ao PHP Data Objects (PDO)
180
8.14.3
Conexão PDO com MySQL
181
8.14.4
Métodos existentes no PDO
183
Capítulo 9: Estudo de Caso
9.1.
9.2.
185
Instalação Inicial
185
9.1.1
Biblioteca Gráfica
186
9.1.2
Outros Recursos Gráficos Utilizados
187
O Sistema Exemplo
188
9.2.1
Acesso ao Sistema
188
9.2.2
Montagem do Menu do Sistema
195
9.2.3
Estratégias de Implementação
199
9.2.4
Acesso dos gráficos via Dispositivo Móvel
204
Sumário | xi
Anexo I:
Sistema de Coordenadas no
Plano Cartesiano
211
A-I.1.
Introdução
211
A-I.2
O Plano Cartesiano
212
A-I.3
Trigonometria, Seno e Cosseno
214
A-I.4
Coordenadas Polares
217
A-1.5
Relação com as Coordenadas Cartesianas
217
Anexo II:
A importância das Interfaces Gráficas
para Sistemas de Informação
219
A-2.1
Interface – Uma Definição
220
A-2.2
Por que as Interfaces são Importantes ?
221
A-2.3
Atividade Multidisciplinar
222
A-2.3.1
Ciência da Computação
223
A-2.3.2
Psicologia
223
A-2.3.3
Ergonomia
223
A-2.3.4
Linguística
223
A-2.3.5
Sociologia
224
A-2.3.6
Tipografia ou Desenho Gráfico
224
A-2.4
O Desenvolvimento de Interfaces
224
A-2.5 Atividades de Produção da Interface
225
A-2.5.1
Levantamento de Requisitos
225
A-2.5.2
Aspectos Psicológicos, Motores e
Ergonômicos
226
Etapa de Projeto
Comunicação Clara
Minimizar a possibilidade de erros
Minimizar a necessidade de memorização
226
227
227
227
A-2.5.3
xii | Aplicações na Nuvem
Escolha de elementos de entrada e saída
Cuidados com requisitos não funcionais
227
228
A-2.5.4
Implementação
228
A-2.5.5
Protótipo
229
A-2.5.6
Implantação
229
Anexo III: JavaScript
231
A-3.1.
Introdução
231
A-3.2.
Maneira de Inserir JavaScript no Documento HTML
231
A-3.3.
Elementos da Linguagem
232
A-3.3.1
Operadores Aritméticos e Lógicos
232
A-3.3.2
Caracteres Especiais de Controle
233
A-3.3.3
Escopo de Variáveis
234
A-3.3.4
Avisos e Mensagens
234
A-3.3.5
Criando Funções
235
A-3.3.6
Comandos Condicionais
235
A-3.3.7
Criando Instâncias de Objetos
236
A-3.3.8
Array
237
A-3.3.9
Funções que tratam String
237
A-3.3.10 Funções que tratam Datas
238
A-3.3.11 Funções Pré-Definidas
238
A-3.3.12 Como Acionar Funções a Partir do
Documento HTML
239
Referências Bibliográficas
241
Agradecimentos
Este trabalho é fruto de uma intensa atividade de pesquisa
e testes, que me mantiveram algemado junto ao computador
por vários finais de semana (agradeço por ter um computador
e poder usar os finais de semana).
Este trabalho também é resultado da interveniência de
muitas pessoas ao longo da minha vida profissional (agradeço
a todas elas). A miscigenação das coisas favoráveis e também
daquelas indesejadas certamente são o “tempero” necessário
ao amadurecimento e à busca de uma melhoria contínua (agradeço pelas coisas boas que aconteceram e também pelas indesejadas).
Um agradecimento especial para minha família: Marina,
Gabriela e Giovana. Falaram para eu ficar lá mesmo, sentado
na frente do computador trabalhando, ao invés de fazer aquele churrasco deixando aquele monte de coisas para limpar...
Quando finalmente me livrei das algemas, minhas filhas perguntaram: “Quando é mesmo que vai sair seu primeiro livro de
romance?” (agradeço pela amizade, inspiração, imaginação e
desafios).
Por fim, uma dessas pequenas coincidências da vida: é o
meu quinto livro na área de tecnologia da informação, no primeiro cinquentenário de minha experiência terrena (em 1212-12) - agradeço a Deus pela vida.
Prefácio
A computação em nuvem (cloud computing) é um conceito simbólico, que se refere à utilização de recursos (programas
e dados) na Web através da Internet. Utilizando a Internet um
usuário pode ter acesso a diversos sistemas em qualquer lugar
do planeta (“na nuvem”). Fazendo uma analogia à construção
civil, construir na nuvem é criar um sistema de informação e
disponibilizar a alguém que, na grande maioria dos casos terá
como interface, a linguagem HTML.
O assunto principal deste livro é o HTML5, que permite a
criação de páginas na Web.
Atualmente, em um cenário de proliferação de diversos
dispositivos que podem acessar a Web, com acesso a inúmeros
aplicativos na “nuvem”, é importantwe ao desenvolvedor
de software ou ao estudante de Tecnologia da Informação o
conhecimento dos mecanismos de criação de uma página,
empregando os vários recursos disponibilizados a partir da
versão 5 da linguagem HTML.
Porém, o livro não se limita apenas a apresentar as
informações sobre os recursos HTML5. Ele acrescenta
detalhes da integração com folhas de estilo (CSS), JavaScript,
linguagem PHP e banco de dados MySQL. A ideia é permitir
que o leitor tenha um entendimento global sobre a participação
da linguagem HTML5 no desenvolvimento de um sistema de
informação.
Cada recurso existente na linguagem HTML5 é explorado
em detalhes, com explicações ricamente ilustradas. À medida
xvi | Aplicações na Nuvem
que houver a leitura dos capítulos, é interessante que o leitor
crie páginas semelhantes àquelas vistas no capítulo lido, para
que possa apreender o conteúdo e não simplesmente aprender.
As páginas que são apresentadas nos capítulos, as folhas
de estilo, bem como o código fonte das linguagens JavaScript e
PHP podem ser obtidos via download junto ao site da Editora.
Boa Leitura, bom estudo e boa prática!
HTML 5
UMA INTRODUÇÃO
1
“Raros são aqueles que decidem após
madura reflexão; os outros andam ao
sabor das ondas e longe de se conduzirem
deixam-se levar pelos primeiros.”
(Lucius Annaeus Sêneca, Escritor e
Intelectual do Império Romano –
4 a.C. / 65 d.C.).
No ano de 2004 teve início o trabalho para o
desenvolvimento de uma nova versão da linguagem HTML1,
através de um grupo denominado Web Hypertext Application
Technology Working Group (WHATWG), que era integrado
por representantes de empresas como a Mozilla Fundation,
Opera Software ASA, Apple Inc, entre outras. Nesse mesmo
ano a W3C - World Wide Web Consortium (consórcio de
empresas de tecnologia que coordena os padrões da Internet)
estava focada no trabalho do futuro desenvolvimento da versão
1
Acrônimo para a expressão inglesa HyperText Markup Language, que significa Linguagem de
Marcação de Hipertexto, utilizada para criação de páginas na Web. Tim Berners-Lee criou o
HTML original no início da década de 90 e, de lá para cá, vem passando por sucessivas
melhorias, através das novas versões que são liberadas.
2 | Aplicações na Nuvem
2.0 da linguagem XHTML2, considerando que a HTML 4.01
não tinha sido atualizado desde 2001. Havia a expectativa que
a linguagem XHTML viesse substituir a HTML.
Por vários anos o W3C e o WHATWG trabalharam de forma dissociada, um ignorando a atividade do outro. Enquanto o
grupo WHATWG estava focado em formulários da Web e novos
recursos para o HTML, o W3C estava ocupado com a versão
2.0 do XHTML. Mas em outubro de 2006, ficou claro que o
WHATWG estava desenvolvendo um trabalho mais adequado
para impulsionar a HTML, enquanto a versão 2.0 do XHTML
estava definhando com alguns rascunhos e não implementada
em nenhum grande navegador (Pilgrim, 2010).
Ao final de 2006, Tim Berners-Lee, criador do HTML
e fundador da W3C, descontinuou o desenvolvimento do
XHTML 2.0 e anunciou que iria passar a trabalhar junto com
o grupo WHATWG3, prometendo a liberação final da versão
HTML 5 para 2012; de cuja primeira especificação foi anunciada ao mercado no início de 2008.
O HTML5 é a quinta versão da linguagem HTML. Esta
nova versão incorpora várias mudanças importantes com
relação às fuwncionalidades do HTML, como a semântica4 e
2
EXtensible HyperText Markup Language
3
Você também pode colaborar com o grupo se inscrevendo na lista de e-mail através da
página http://www.whatwg.org/mailing-list#specs para enviar suas sugestões sobre o HTML 5.
4
A Web semântica pressupõe mecanismos para dar significado às palavras publicadas e,
neste contexto, tem como finalidade conseguir atribuir um sentido aos conteúdos das
páginas de modo que seja perceptível tanto pelo ser humano como pelo computador. Não
se trata de treinar as máquinas para que se comportem como pessoas, mas sim desenvolver
recursos que tornem a informação legível para as máquinas.
- Linguagem Extensível para Marcação de
Hipertexto, uma aplicação XML, escrita para tentar substituir o HTML. Com XML você
cria seus próprios elementos de marcação e atributos para escrever seu documento web.
Isto significa que é você quem cria sua linguagem de marcação. Na HTML o conjunto de
elementos (tags) são fixas, pré-determinadas.
Capítulo 1: HTML 5 – Uma Introdução | 3
a acessibilidade5. As versões HTML que antecedem a versão 5
constituem um padrão sintático, com regras e formalidades
que facilitam o uso por parte das pessoas, mas é carente
com relação ao entendimento do conteúdo por parte de um
processo automatizado.
A evolução do HTML busca também eliminar a necessidade do uso de plug-ins6 para as aplicações multimídia nos navegadores. Essa característica deve ser um forte concorrente ao
Flash da Adobe, ao Silverlight da Microsoftware e, ao recente
JavaFX da Sun (Oracle).
Em torno de uma década sem atualizações, a forma de se
escrever páginas na Web passa por uma boa transformação. O
HTML5 incrementa uma série de recursos que o tornam diferenciado de tudo que já foi utilizado antes em termos de linguagem de marcação; mas, com um longo caminho para ser
finalizado, já que muitos navegadores utilizados, como o Internet Explorer, Opera, Safari, Firefox e Chrome ainda devem implementar partes dos recursos disponibilizados pela versão 5.
A tabela 01 apresenta uma síntese histórica referente a
evolução do HTML.
ANO
FATO HISTÓRICO
1989
HTML – Tim Berners Lee
1994
HTML2 e surgimento da World Wide Web Consortium
1997
HTML3.2
1999
HTML4.01
5
Muitos recursos do HTML5 têm sido construídos com a consideração de serem capazes de
executar em dispositivos móveis, como, por exemplo, os smartphones e tablets.
6
Um plug-in é um programa ou complemento instalado no navegador que permite a utilização de recursos não presentes na linguagem HTML.
4 | Aplicações na Nuvem
2000
XHTML 1.0
2001
XHTML 1.1 - CSS
2002
Ian Hickson (Opera) propõe estender HTML: Web Forms 2.0,
Web Apps 1.0
2004
Apple, Mozilla e Opera criam WHAT WG (Web Hypertext
Application Technology Working Group)
2006
W3C e WHATWG trabalham juntos no HTML5
2010-2012 Apple, Google, Microsoft, Mozilla e Opera implementam
HTML5
Tabela 1.1 - Síntese Histórica de Fatos Relacionados ao HTML
Na Web existem vários endereços em que se pode checar a compatibilidade dos navegadores com a versão cinco do
HTML, apresento três deles: http://html5rocks.com, http://caniuse.com e http://html5test.com.
1.1. As Principais Novidades
7
A linguagem de marcação da World Wide Web sempre foi
HTML. Originariamente, a HTML foi criada, essencialmente,
como uma linguagem para descrever documentos científicos
(W3C, 2011), embora a sua concepção geral e suas adaptações
ao longo dos anos permitiu-lhe ser usada para descrever uma
série de outros tipos de documentos.
A Web tem se mostrado um caminho bastante adequado
para continuar a ser uma plataforma de aplicativos, visto que
uma das metas da W3C é que a Web seja um espaço disponível
7
Principais fontes de informação na Web:
http://www.w3schools.com/html5
http://dev.w3.org/html5/spec/Overview.html
Capítulo 1: HTML 5 – Uma Introdução | 5
para todos, permitindo a comunicação humana, o comércio, o
compartilhamento de conhecimento, independentemente de
hardware, software, idioma, cultura, localização geográfica, de
habilidades físicas ou mentais.
Uma das áreas que ainda não tinham recebido a devida
atenção e, portanto, sem componentes específicos em HTML é
conhecida como Web Applications (David, 2010). Hoje, independentemente da finalidade do aplicativo, e, ainda que construído
para ambiente Desktop8, normalmente este aplicativo apresenta
alguma funcionalidade disponível na Web, buscando neste ambiente um mecanismo global mais apropriado para comunicação e acessibilidade. Nesse sentido é que se busca a evolução da
já clássica e conhecida “Web de documentos”, via agregação de
novos recursos para dar suporte à “Web dos dados”, tentando
viabilizar pesquisas como se fossem realizadas em um banco de
tradicional (relacional, hierárquico, etc.) (W3C, 2011).
As novidades não se restringem aos elementos da Web
Applications. Existem inúmeros outros recursos, que serão
explorados ao longo deste livro:
; Acesso nativo para áudio e vídeo, sem necessidade
de plug-ins.
; Elemento <canvas> para desenhos dinâmicos.
; Drag and Drop de elementos.
; Cross-document e cross-domain messages.
; Histórico de navegação em Ajax.
; Localização Geográfica.
; Network status (online/offline).
; Formulários – novos campos e validações.
8
Sistema construído para ser executado em uma única máquina ou em um ambiente de
rede local. Pode ou não ter uma interface gráfica.
6 | Aplicações na Nuvem
; Novos eventos para mouse.
; Editor de conteúdos em tempo real.
; Armazenamento de dados no lado cliente –
DataBase client-side.
; Web worker threads.
Em janeiro de 2011 a HTML 5 ganhou um logotipo, junto
com símbolos gráficos que mostram quais recursos estão sendo
utilizados em determinado site, para que uma pessoa, ao visitá-lo possa identificar, como por exemplo: CSS3 e multimídia.
Segundo o site oficial da W3C, o logotipo é “forte e confiável, universal como a linguagem de marcação que você escreve” (W3C, 2011).
Figura 1.1 – Logotipo HTML5
Na página http://www.w3.org/html/logo/ é possível fazer o
download das imagens do logotipo e dos recursos utilizados
com HTML 5. Também, é possível gerar a imagem mostrada na
figura 1.2 configurando os recursos que devem aparecer nela.
Capítulo 1: HTML 5 – Uma Introdução | 7
Figura 1.2 – Recursos com HTML5
Um site que venha a utilizar o HTML na versão 5 poderá
apresentar uma imagem, conforme ilustra a figura 1.2 mostrando os ícones que identificam os recursos empregados pelo site
junto com o HTML.
1.2. O Tipo de Documento no HTML 5
O Doctype deve ser a primeira linha de código do documento antes da tag HTML. A identificação do documento
HTML através da tag <doctype> ficou bastante simplificada, se
comparada com as versões anteriores. Agora basta informar
que o documento é do tipo HTML, conforme exemplo que
segue:
<!DOCTYPE html>
8 | Aplicações na Nuvem
Nas versões anteriores, o número de identificação da versão deveria estar declarada, como nos exemplos que seguem:
; html – versão 4.01
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”>
; html – versão 2.0
<!DOCTYPE html PUBLIC “-//IETF//DTD HTML 2.0//EN”>
; html – versão 1.0
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//
EN”>
Nos exemplos apresentados a tag <doctype> informa:
“este documento é escrito em HTML 4.01” ou “Este documento está escrito em XHTML 1.0”. Para HTML 5 a tag <doctype>
não informa a versão em lugar algum, só informa que o documento é do tipo HTML.
A especificação completa nos exemplos mostrados devem
obedecer três parâmetros, conforme segue:
; Identificação Inicial <!DOCTYPE HTML
; A identificação pública
PUBLIC “-//W3C//DTD HTML 4.01//EN”
Capítulo 1: HTML 5 – Uma Introdução | 9
; Identificador do sistema
“http://www.w3.org/TR/html4/strict.dtd”>
Por dar suporte ao conteúdo escrito em versões anteriores, o novo <doctype> pode ser aplicado a qualquer tipo de documento HTML. Da mesma forma, qualquer versão futura do
HTML deverá suportar o conteúdo existente na versão 5.
Se um documento HTML5 incluir um elemento de versões anteriores o navegador tentará renderizar o elemento. Os
navegadores suportam recursos e não ligam para tipos de documentos, exceto em situações de doctype switching9.
Os navegadores atuais estão aptos a apresentar um arquivo HTML tanto no modo standards como no modo quirks. Isto
significa que diferentes regras são aplicadas para apresentar
um mesmo documento, umas para comportamento segundo
as recomendações do W3C e outras para comportamentos não
standards para versões antigas de navegadores.
Nas versões mais recentes da maioria dos navegadores,
o modo standards é acionado pela presença da declaração do
doctype. A ausência de um doctype pode resultar em diferentes
renderizações de um navegador para outro.
9
Nos navegadores, há duas opções para a renderização: modo standards ou quirks. No modo
standards, o navegador irá renderizar de acordo com as recomendações W3C. No modo
quirks, fará a tentativa de interpretação e renderização de acordo com as especificações
dos navegadores do final dos anos 90. O navegador decidirá qual modo de renderização
empregar através da tag doctype. Sua ausência implica, automaticamente, no modo quirks.
10 | Aplicações na Nuvem
Figura 1.3 – Modos de Renderização10
A figura 1.3 mostra a renderização de duas páginas com
marcação HTML e estilização CSS exatamente iguais. A única
diferença entre elas é que a página mostrada à esquerda tem
no início da sua especificação uma declaração doctype e a da
direita não tem a declaração.
Um arquivo marcado com uma declaração de doctype
apropriada normalmente é renderizado em modo standards
pela maioria dos navegadores mais recentes. A falta de um
doctype na marcação causa renderização em modo quirks.
10
Adaptado de: http://www.w3.org/International/articles/serving-xhtml/
Capítulo 1: HTML 5 – Uma Introdução | 11
1.3. Definição do Conjunto de Caracteres no
Documento
Para os padrões da Web, um conjunto de caracteres define uma variedade de letras e símbolos usados em um sistema
de escrita. Por exemplo, o conjunto de caracteres ISO-8859-6
abrange letras e símbolos necessários para muitas línguas com
base na caligrafia árabe, o conjunto de caracteres ISO-8859-1
utilizável pela maioria das Línguas Ocidentais Europeias.
O conteúdo da página deve mencionar qual o conjunto
de caracteres que foi utilizado no documento. Esta especificação também ficou bastante simplificada na versão 5, como
pode ser visto a seguir:
<meta charset=utf-8>
Nas versões anteriores, a especificação do conjunto de caracteres deve ser escrita conforme o exemplo:
<meta http-equiv=”Content-Type” content=”text/
html;charset=utf-8”>
Em função da internacionalização da Web, do direito
de acesso a todos, sem distinção da cultura, etc, sempre que
possível utilize o conjunto de caracteres utf-8. Uma codificação
Unicode,11 tal como utf-8 provê suporte para muitos idiomas,
inclusive para qualquer mistura de idiomas em uma página ou
formulários. O uso de UTF-8 elimina a necessidade de lógica
11 Conjunto de caracteres com mais de 107 mil caracteres que busca transcender as diferenças, barreiras e limite de grafias tornando-se um padrão na Web. O Unicode possui subconjuntos, como o utf-8.
12 | Aplicações na Nuvem
no lado do servidor para determinar a codificação de caracteres
individualizada para as diferentes páginas servidas ou dados
recebidos de formulários. Assim, fica bastante reduzida a
complexidade de criação de sites ou aplicações multi-língua.
Na versão 5, qualquer um dos formatos apresentados a
seguir é considerado válido para a especificação do conjunto
de caracteres.
<META CHARSET=UTF-8>
<META CHARSET=UTF-8 />
<META CHARSET=”UTF-8”>
<META CHARSET=”UTF-8” />
<meta charset=utf-8>
<meta charset=utf-8 />
<meta charset=”utf-8”>
<meta charset=”utf-8” />
<MeTa CHARset=utF-8>
1.4. Estrutura Básica Geral com HTML 5
A tag <html> deve ser empregada para marcar o início
do documento HTML, pois é a raiz na qual todos os demais
componentes da página estão agregados. A tag <html> possui o
atributo lang, que deve ser definida conforme segue:
<html lang=”pt-br”>
Capítulo 1: HTML 5 – Uma Introdução | 13
O atributo lang define em qual linguagem a página foi escrita. É importante para a interoperabilidade sistêmica, como,
por exemplo, sistemas de tradução.
A seguir, é apresentado um exemplo com o código básico
de uma página, utilizando a sintaxe html na versão 5.
O código básico apresentado irá produzir uma saída simples, conforme mostra a figura 1.4.
Figura 1.4 – Exemplo de uma página simples, com HTML 5.
14 | Aplicações na Nuvem
A nova versão HTML mantém a mesma interoperabilidade que já existia nas versões anteriores com relação às folhas
de estilos e Java Script. O exemplo apresentado a seguir mostra
como fica a construção de uma página utilizando folhas de estilo (que será abordada com maior detalhe nos próximos capítulos).
O conteúdo do arquivo estilo01.css utilizado no exemplo
pode ser visto a seguir.
Capítulo 1: HTML 5 – Uma Introdução | 15
Figura 1.5 – Exemplo mais elaborado com uso de folhas de estilo.
Download

como construir com html5, javascript, css, php e mysql