O que muda com HTML5 e CSS3?

Thiago Prado de Campos
UTFPR Londrina | Agência ICOMP

@thiagotpc | thiagotpc.com
Londrina , PR , 86036370 Brasil

thiagotpc.com/entech

Aviso

Atenção alunos PROUNI: a direção/coordenação do curso pede que se encaminhem para acertar detalhes de documentação nos próximos dias. Não precisa abandonar a palestra! Por favor!! ;-)

Use a hashtag #ENTECH se for twittar durante a palestra!

Conteúdo

A Web e suas Tecnologias

A Web é apenas mais um dos serviços existentes na INTERNET. Assim como existe o e-mail, transferência de arquivos, acesso remoto, chat, etc.

Em "computês": o protocolo HTTP é mais um do conjunto que tem o SMTP/POP/IMAP, FTP, Telnet, IRC, dentre outros sobre o TCP/IP.

Mas o HTTP é apenas um protocolo de transferência (leva e trás de pacotes com uma "aplicação"). O que tem dentro deste pacote?

O que tem dentro de um pacote HTTP?

Dentro deste pacote tem:

Todos estes tipos de "arquivos" representam uma aplicação, na Web mais conhecido por sites ou páginas.

Padrões

Padrão é um documento aprovado por um organismo reconhecido que provê, pelo uso comum e repetitivo, regras, diretrizes ou características de produtos, processos ou serviços cuja obediência não é obrigatória.

Padrões Abertos costumam se referir àqueles que são disponibilizados publicamente para acesso e implementação e que costumam ser definidos por ampla participação de empresas, instituições e profissionais do mercado.

Padrão Fechado possuem aceitação pública generalizada mas não cumpre os requisitos para ser aberto. Também são conhecidos por "proprietários".

Padrões na Web

Importância dos Padrões Abertos

os padrões abertos são importantes para ajudar a criar soluções interoperáveis e acessíveis para todos. Eles também promovem concorrência sadia através do campo técnico ao nível de todos os players de mercado. Isto significa baixo custo para as empresas e, finalmente, para o consumidor.

Erkki Liikanen, União Européia

O que é a HTML?

HTML é a linguagem para descrever a estrutura de páginas web. Possibilita aos autores:

Com a HTML, os autores descrevem a estrutura das páginas usando a marcação. Os elementos da linguagem são rótulo de conteúdo, tais como “parágrafo", "lista", “tabela", e assim por diante.

A origem da HTML

O que é a CSS?

É uma linguagem cuja principal função é separar apresentação de conteúdo

É possível, mantendo-se o mesmo conteúdo, obter apresentações diferentes, bastando para isso utilizar de regras de CSS diferentes para os mesmo elementos do documento HTML.

Quando dizemos apresentação, nos referimos a como o conteúdo será transmitido ao usuário: visual, oral ou impresso;

A CSS pode ser usada pra qualquer linguagem de marcação, e não só para HTML;

A origem da CSS

Em meio a briga para se definir a HTML 3, quando muitos queria incluir recursos gráficos na linguagem, Håkon Wium Lie sugeriu em 1994 uma solução que separava o conteúdo (HTML) da apresentação (CSS). Outros (Bert Bos) gostaram da idéia e em 1996 foi publicada a primeira versão, mas com pouca adoção dos navegadores da época.

Os trabalhos continuaram e perto de publicar a HTML 4, em 1998 o W3C publicou a versão 2 da CSS, revisada e atualizada em 2004, como CSS 2.1

E o Javascript?

É uma linguagem de programação criada pela Netscape em 1995 (e hoje padrão Ecma), para atender, principalmente, as seguintes necessidades:

Os pilares de uma página Web

Juntas, HTML, CSS e Javascript formam as três camadas que podem compor uma página web: Conteúdo, Apresentação e Comportamento. conteúdo, apresentação e comportamento

É interessantíssimo que essas camadas sejam criadas com padrões abertos.

Onde paramos?

A última versão da HTML tinha sido publicada em 1999 (ou 2000 pra XHTML 1) e em 2002 o W3C começava a trabalhar na XHTML 2, onde pretendia demandar esforços para melhor a web semântica.

Isso não agradou alguns players do mercado (Opera, Apple e Mozilla) e em 2004 eles fundaram o Web Hypertext Application Technology (WHAT) Working Group. Depois teve adesão da Google.

O objetivo do grupo era tornar os navegadores capazes de rodar aplicativos sob plataforma web e resolver também alguns outros problemas:

Tchau XHTML2, e bem vindo HTML 5!

Os esforços do WHATWG tiveram e efeitos e após encaminharem suas especificações em andamento pro W3C este as acatou e chamou de HTML 5.

Uma vez a HTML5 apoiada pelo W3C, esta suspendeu os trabalhos da XHTML 2 e intensificou também as atividades sobre a CSS 3.

Os navegadores passaram então frenéticamente a implementar os recursos da HTML 5 a fim de sair na frente com a oferta destes novos recursos para ganhar a preferência dos usuários e desenvolvedores.

Veja: HTML5Test.com

Quais as novidades da HTML 5?

HTML 5 é uma buzzword e envolve não somente uma nova versão da linguagem de marcação (novas tags) mas também uma série de novos recursos que podem ser suportados pelos navegadores e explorados pelos autores de páginas web.

Novas tags estruturais

Estrutura de uma página HTML usando-se muitas divs Estrutura de uma página HTML trocando-se as divs por elementos estruturais da HTML5

Novos elementos e atributos de formulário

Video com Legenda

Este vídeo é fruto de desafio aplicado aos alunos. Saiba mais sobre como foi feito.

SVG e MathML

A renderização de código MathML ainda é precária nos navegadores.
Compare neste site a renderização abaixo com o mesmo código MathML usando como base esta URL: http://www.thiagotpc.com/entech/math.xml

Fórmula de Bhaskara:
x = - b ± b 2 - 4 a c 2 a

Conteúdo Editável

Com apenas um atributo no elemento e um pouco de código javascript, criamos áreas editáveis na página. Isto facilita a criação e melhoramentos de sistemas gerenciadores de conteúdo (CMS).

Possibilidades

Geolocation

Devices Locais - Microfone

E a CSS 3, em que melhorou?

Dividida em módulos, a especificação da CSS 3 inclui uma série de inovações há muto tempo desejada pelos webdesigners de designers de interação

Múltiplos Backgrounds

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis, nisi a sodales convallis, mi enim pharetra neque, a venenatis ante mauris aliquet ipsum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis, nisi a sodales convallis, mi enim pharetra neque, a venenatis ante mauris aliquet ipsum.

Exemplo original

Redimensionar Box, MultiColunas e Grids

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis, nisi a sodales convallis, mi enim pharetra neque, a venenatis ante mauris aliquet ipsum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis, nisi a sodales convallis, mi enim pharetra neque, a venenatis ante mauris aliquet ipsum.

Mais exemplos

Animações com CSS3

Layouts adaptados com Media Queries

Layouts alternativos

Exemplo 1| Exemplo 2

Quem quer HTML5 e CSS3?

Qual a força desses players?

O que vai mudar? - parte 1

As páginas serão mais ricas em experiência de uso, com animações, validações, armazenamento local e elementos de interação (manipulação direta)

Páginas com padrões são transferidas e renderizadas mais rapidamente, economizando banda, disco e recursos de processamento e memória.

O mesmo aplicativo poderá ser portado em diferentes ambientes, independente de SO (Windows, Mac, Linux, Android, iOS, Maemo) ou hardware (smartphone, tablet, desktop, smart tvs)

Jogos e outros aplicativos passarão a rodar no navegador ao invés de disputar janelas na barra de ferramentas ou depender de consoles específicos.

Novas ferramentas surgirão para o desenvolvimento de páginas de interfaces ricas com padrões, como o Sencha, o Edge, Tumult Hype, dentre outros.

O que vai mudar? - parte 2

O Desenvolvedor Front-End precisará desenvolver mais habilidades:

Aprofundar conhecimento de Javascript para manipulação das APIs que darão acesso e controle dos novos recursos.

Conhecer princípios de design de interação, usabilidade e acesibilidade para poder aplicá-los aos elementos de interface codificados.

Entender um pouco mais de semântica e estrutura adequada para proporcionar às páginas e aplicações "encontrabilidade" por ferramentas de busca, interoperabilidade com outros sistemas e melhores desempenho de execução.

Entender de Degradação Graciosa, Melhoria Progressiva e Fallbacks, para que o site desenvolvido seja funcional e agradável em qualquer tipo e versão de navegador e dispositivo.

Como eu me preparo para a mudança?

Estude. E não pare de estudar. Pelo menos até os 45 anos!

Experimente!

HTML 5

CSS 3

Acompanhe as especificações, notícias e artigos!

Especificações

Fontes Recomendadas

Pós-Graduação em Desenvolvimento Web

A UTFPR Londrina, em parceria com o IFPR Londrina lançam a turma 2 da Especialização em Desenvolvimento Web.

Inscrições a partir de novembro e início em março/2012. - http://www.utfpr.edu.br/londrina

Leia livros de bons autores

Participe de Bons Eventos

Minha breve história profissional - parte 1

Minha breve história profissional - parte 2

Porque eu quis falar disso?

Primeiro porque exemplifica a receita de como se preparar. E segundo, por que acredito que nestes quase 16 anos estudando e trabalhando com informática e web aprendi algumas coisas que posso compartilhar:

Créditos e Referências

Esta apresentação foi toda escrita em HTML5 e CSS3 com auxílio de frameworks javascript, como jQuery e Deck.js.

Devido ao pouco tempo para preparo eventuais falhas na codificação podem existir. Se encontrar alguma, relate que farei a correção.

Algumas imagens e conteúdo podem ter sido retirados dos sites indicados nos slides anteriores e todos direitos a eles pertencem.

Obrigado!

Fico à disposição para perguntas e comentários.

thiagotpc.com | @thiagotpc