Desde o primeiro semestre deste ano, o Google vem investindo no padrão HTML5, o principal rival do Flash. Tanto é que, na última atualização do Chrome, a empresa praticamente concluiu a transição dos formatos. Agora, a empresa norte-americana se prepara para dar o golpe final no Flash
Isso pelo motivo que o navegador agora vai passar a utilizar o HTML5 em todos os sites, com exceção nos que rodam somente em Flash. Tal mudança vai permitir que os sites carreguem de forma mais rápida e ofereçam mais segurança ao internauta.
Além disso, a atualização mais recente do Chrome, a 55, inclui hifenização automática para otimizar a aparência de blocos de textos.
Por enquanto, a atualização está disponível para usuários Windows, Mac e Linux.
Saber uma (ou mais) linguagens de programação pode ser fundamental para seu futuro profissional. Caso queira aprender a codificar, há boas ferramentas online para se aventurar por conta própria e sem gastar nada. Compilamos oito sites com cursos infalíveis para quem busca ampliar horizontes tecnológicos.
Criado em 2011, o foco principal do serviço é ensinar a codificar de forma que isso transforme sua carreira. O site contabiliza diversas histórias de sucesso, convertendo pessoas que sabiam pouco ou quase nada sobre programação e alcançaram uma carreira frutífera em TI. Graças a isso, tornou-se bastante conhecido e respeitado. A ferramenta cobre um amplo espectro de linguagens em aulas interativas: Rails, Angularjs, Rails Auth, The Command Line, HTML & CSS, JavaScript, iQuery, PHP, Python e Ruby. Novos programas são adicionados constantemente, o que vale manter o Code Academy sempre no radar. Inicie criando uma conta gratuita e navegando pelos tutoriais, fóruns e sandboxes, onde é possível testar seus códigos.
A Kahn Academy oferece mais do que apenas a programação, afinal, seu slogan é: “você pode aprender qualquer coisa”. Além de matemática, ciências, história, arte e economia (para citar algumas disciplinas), os interessados também podem acessar cursos sobre codificação. O serviço é levado bastante a sério no mundo da educação, mantendo parcerias com instituições como a Nasa e MIT.
Depois de selecionar um dos cursos, o serviço orienta o usuário através de uma série de exercícios, vídeos, jogos e muitos outros recursos que ajudam o participante a dominar as habilidades nas disciplinas.
Entre os cursos focados em programação há possibilidades em SQL, HTML / CSS, JavaScript e muito mais. É um serviço totalmente gratuito, com cursos em cerca de 40 idiomas. Os criadores afirmam que ele será sempre aberto, livre de anúncios, e sem fins lucrativos.
O site pode ser mais indicado para aqueles que têm pelo menos um conhecimento básico de codificação, mas oferece opções únicas para quem quer aprender HTML5, CSS3 e JavaScript. Você pode fazer login e ver pessoas desenvolvendo sistemas a partir do zero, e ver como eles funcionam através de processos próprios. O serviço oferece uma tática diferente em comparação com sites de mesmo propósito que oferecem cursos em moldes mais tradicionais com tutoriais, exercícios e vídeos.
Depois de escolher um passo a passo, você pode alternar as configurações para tornar seus avanços mais rápidos ou mais lentos, dependendo de suas necessidades. Também é possível pausar os tutoriais, bem como alternar entre HTML5, CSS e JavaScript. A maioria dos tutoriais são gratuitos, e se você se inscrever com seu e-mail, pode desbloquear mais orientações e tutoriais sobre o site.
A ferramenta quer ensinar programação na prática. Em outras palavras: os interessados colocarão a mão na massa para dominar a arte do desenvolvimento de software. O método é ótimo para quem gosta de aprender com erros e acertos ao invés de acessar uma bagagem conceitual antes de ir para a prática. Existem diferentes “caminhos” disponíveis e os interessados podem escolher o que segue por Ruby, JavaScript, HTML/CSS, iOS e Git. Há também um caminho “Electives”, que se concentra mais em estratégias de desenvolvimento.
Os cursos tem a intenção de serem divertidos e são projetados de maneira semelhante a um jogo - com um enredo - para ajudar a mantê-lo interessado no curso. Os módulos introdutórios são tipicamente livre, mas quem quiser se aprofundar, precisará assinar o serviço.
O HTML5 Rocks é um projeto do Google, por isso, se você quer aprender HTML5 a partir da visão de uma das maiores empresas de tecnologia, eis sua oportunidade. O novo padrão de desenvolvimento Web (HTML5, no caso) é uma linguagem valiosa para adicionar ao seu repertório de codificação. Se seu foco o universo móvel, jogos ou negócios, há um curso que irá atender as suas necessidades na ferramenta.
Você pode pesquisar através de tutoriais, conferir as oportunidades e módulos mais recentes e navegar através de uma série de recursos, que lhe ajudarão a começar. A seção de recursos inclui livros, demonstrações, tutoriais, vídeos e muito mais para melhorar a sua experiência de aprendizagem. O site é gratuito, o que significa que não há taxas de assinatura ou conteúdo bloqueado, para que possa começar imediatamente.
Programmr é outro grande recurso para aprender fazendo. Enquanto os novatos podem se dirigir ao site para dar os primeiros passos, quem for mais experiente pode usar a ferramenta para praticar habilidades e participar de competições. O site oferece simuladores, que permitem escrever códigos e rodar testes em ambientes móveis, bancos de dados, web e apps.
Os cursos levam os participantes através de um passo a passo no estilo “mão na massa” de maneira gratuita. Trata-se de uma ótima opção para aqueles que têm um conhecimento básico de diferentes linguagens de programação e que quer aprimorar suas habilidades ou pegar um novo idioma. É possível até obter a certificação como especialista em Java, C ++, C #, Python e PHP através de seu progresso em cursos da plataforma.
Caso queria construir páginas da web, aplicativos ou jogos, o Code Avengers é uma ótima ferramenta para desenvolver suas habilidades. Projetado para iniciantes, cada curso leva apenas 12 horas para ser concluído. A medida que aprende, pode criar app, games e até sites, avançando para além de simples leituras e testando seus conhecimentos na prática. Os cursos de introdução são todos gratuitos, mas obter certo aprofundamento, será preciso pagar uma taxa.
Quer um carimbo do MIT no currículo? É possível chegar bem perto disso com o curso no Open Courseware, serviço educacional gratuito da universidade com sede em Massachusetts. A instituição decidiu recentemente disponibilizar alguns materiais de seus cursos em plataforma online, permitindo que qualquer pessoa participe de algumas aulas. Há materiais de 2.260 cursos acessíveis.
É possível pesquisar cursos por tópico, e descobrir classes sobre linguagens de programação em níveis de graduação e pós-graduação. As ofertas incluem C++, Java, graphics, animação, fundamentos em ciências da computação e muito mais.
Esse é um dos sites mais populares para os desenvolvedores web, recebendo nada menos que 40 milhões de visitas por mês. O serviço também oferecem um canal no YouTube onde é possível ver diferentes vídeos sobre linguagens de programação – sendo que alguns desses programas permitem interação com professores por meio dos comentários.
W3 Schools se concentra no ensino de HTML / CSS, JavaScript, HTML Graphics, servidores, desenvolvimento web e tutoriais XML. Tudo o que se quer aprender sobre a codificação reunido em um site. De fato, trata-se de um grande recurso para iniciantes, bem como veteranos olhando para as possibilidades de elevar conhecimentos.
Dentro de tutoriais, é possível encontrar exemplos de códigos que podem ser manipulados e testados em navegadores para ver se tem os comandos no lugar certo. A ferramenta é gratuita e é fácil de navegar para encontrar o conteúdo que se está procurando.
Há também um Programa de Certificação que permite estudar em seu próprio tempo, permitindo que o programa seja concluído em poucas semanas. Os certificados incluem HTML, HTML5, CSS, JavaScript, jQuery, PHP, XML e Bootstrap. Cada certificado custa US$ 95.
Olá pessoal, neste artigo irei listar um “guia” para quem está pensando em começar a estudar HTML, este artigo terá diversas apostilas de HTML, além de alguns artigos legais sobre essa linguagem de marcação que é o HTML. HTML (HyperText Markup Language) é uma linguagem de marcação utilizada para produzir páginas na Web.
Cada vez mais a linguagem se atualiza e evolui, a sua versão mais recente é a versão 5, o HTML5.
É uma linguagem muito simples, mas que necessitam de alguns cuidados,
pois um site mal formatado pode perder muita relevância nos buscadores e
se tornar um site desagradável de se visitar também.
Com o crescimento da venda de computadores e com cada vez mais as
pessoas acessando a internet, o mercado de trabalho na área de
desenvolvimento de sites ficará ainda mais aquecido. Portanto, é muito
importante que o profissional da área comece a estudar desde bem cedo,
pois assim ele pode se tornar um profissional mais qualificado cada vez
mais jovem.
Apostilas HTML
As apostilas são uma das formas mais eficazes de se estudar e
aprender muito sem gastar nada. A internet proporciona um acervo muito
grande desse tipo de material na internet, o que ajuda a aumentar cada
vez mais o número de profissionais que conseguem começar seus estudos de
maneira auto-didata em sua própria casa, só com a ajuda das apostilas.
Outra forma de estudo parecido surgiu com o crescimento dos tablet's e
smartphones, que são os e-books, esses funcionam basicamente como uma
apostila, e também podem ser vistas em qualquer smartphone e/ou tablet.
Abaixo vou colocar uma lista de algumas apostilas de html para download: OBS: Existe um material muito grande na internet,
abaixo vou colocar alguns que eu li e achei bem interessante para quem
está começando.
Apostila bem interessante que mescla coisas de HTML e também de
CSS, ótima para começar a aprender os conceitos de tableless e criar
websites modernos.
Muitas pessoas vêem se falar muito sobre CSS, folhas de estilo em
cascata, mas afinal, o que são folhas de estilo? Esta apostila bastante
interessante aborda esse tema de uma maneira interessante.
Material muito bom de HTML5 montado pela equipe do Tableless e disponibilizado gratuitamente.
Obs: O Consórcio World Wide Web (W3C) é um consórcio internacional
no qual organizações filiadas, uma equipe em tempo integral e o público
trabalham juntos para desenvolver padrões para a Web.
Tutoriais Gratuitos de HTML
Além de muita apostila de html, existem muitos tutoriais bem legais
de html que ajudam e MUITO os novos desenvolvedores, aqui mesmo no Linha de Código
existe um material bem legal e 100% gratuito, vou colocar alguns que eu
acho bem interessante(muitos deles escritos inclusive por mim :) ):
Esta é outra forma muito eficaz de se estudar sobre tecnologia sem
gastar nada, os tutoriais gratuitos são muito bons e ajudam 100% dos
desenvolvedores, sejam eles iniciantes ou experts, eles sempre acabam
recorrendo aos tutoriais para tirar algum tipo de dúvida.
Por causa disso que a comunidade de desenvolvimento procura sempre
manter seus sites/blogs atualizados e diariamente postam conteúdo novo.
Infográfico de uma tabela com todos os códigos hexadecimais das
cores utilizadas no desenvolvimento web. Este infográfico pode ser
utilizado como referência para estudos de todos aqueles que desenvolvem
para web.
Tutorial com algumas das novas características que foram
incorporadas ao HTML5, como a possibilidade de de escrever os documentos
incorporando semântica a eles e a criação de jogos em HTML dispensando o
uso de outras tecnologias proprietárias que havia anteriormente.
Tutorial que ensina a como montar um layout de duas colunas dentro
dos padrões de tableless. São utilizadas técnicas de html e css para
estilização das div's(blocos de conteúdo).
Uma dúvida muito comum de quem está iniciando é como salvar um
documento HTML, esse tutorial ensina a fazer isso de maneira simples e
rápida pelo bloco de notas do windows (Notepad).
Tutorial que mostra todos os novos tipos de input's que chegaram juntos com o HTML 5.
Espero que esse guia ajude quem esteja começando a desenvolver em HTML e CSS e que encontra alguma dificuldade em encontrar algum material gratuito na internet.
Nós todos sabíamos que o Flash estava a caminho da porta de saída mas, como o Windows XP, tem sido tremendamente teimoso nessa despedida. Muitos sites ainda utilizam o recurso para apresentar multimídia em versões antigas de browsers, mesmo sabendo que os plug-ins de Flash são reconhecidamente instáveis.
Mas se a Mozilla conseguir executar seus planos, ela poderá matar de vez os plug-ins Flash com uma tecnologia que é onipresente na web e impossível de matar: o JavaScript. Desde 2012, a fundação trabalha num projeto chamado Shumway que permitirá executar arquivos SWF (Shockwave Flash) numa página web usando puro JavaScript sem precisar de plug-ins.
Sua implementação original foi na forma de um add-on para o navegador Firefox (claro), mas segundo seus seguidores mais próximos, o Shumway está para ser incluído formalmente no Firefox como padrão. Na página de demonstração do site há vários exemplos, que para funcionar precisam da extensão instalada na versão atual do Firefox.
Por hora ainda não é possível livrar-se arbitrariamente do velho plug-in Flash com o Shumway. Segundo a documentação de desenvolvimento, muitos recursos do SWF não foram incluídos ainda, mas levando em conta as evoluções recentes do JavaScript, é possível esperar que todos os recursos do Flash possam ser refeitos como HTML5 puro e JavaScript.
Os demos do Shumway podem ser vistos tanto no Firefox quanto no Chrome, mas espere algumas variações de performance e pequenas falhas. Mas a evidência é clara de que quando finalmente polido, o Shumway será totalmente cross-platform e não apenas um recurso único do motor de JavaScript do Firefox.
A Mozilla já fez algo semelhante para leitura e apresentação de arquivos PDFs usando JavaScript puro, e já embutiu o recurso no browser como padrão desde a versão 19. Ela funciona também nos dois browsers, Firefox e Chrome, com uma pequena diferença visível de velocidade se comparada com os plug-ins nativos de PDF para os dois browsers - embora alguns PDFs ainda se materializem de forma incoerente, particularmente aqueles que têm fontes embutidas.
De qualquer forma, se uma das metas da Mozilla é livrar-nos de vez de todos os plug-ins de browsers, ela ganhou um amigo para a vida toda.
Com o HTML 5 estamos vendo uma mudança na forma como os navegadores lidam com conteúdo. Há uma corrida pelo fim da dependência de plugins. As especificações do HTML ficaram mais potentes, suportam mais recursos e todos os fabricantes de navegadores as implementam corretamente - ao menos em teoria. Com isso um mesmo site pode funcionar em toda sorte de dispositivos: nos mais variados navegadores de PCs, smartphones, tablets, TVs e qualquer outro tipo de aparelho que possa surgir no futuro.
O Flash, extremamente popular na web há alguns anos, já teve seu fim decretado oficialmente no ramo mobile. Ele nunca foi liberado para iOS por pressão da Apple, e a Adobe descontinuou o plugin do mesmo para Android há algum tempo (não confunda o plugin do Flash Player no navegador com a ferramenta de criação Flash, que pode servir para criar apps). Um site que quer atingir todos os públicos com uma mesma base de código definitivamente não pode depender do plugin do Flash.
Um outro plugin para vídeos e conteúdo dinâmico tentou ganhar espaço há alguns anos: o Silverlight, da Microsoft. Seu uso nunca chegou aos pés do Flash, mas ele tinha alguns méritos e grandes clientes corporativos. Só que foi sendo abandonado também a favor do HTML 5.
Hoje um dos grandes grupos que ainda trabalham com o Silverlight é a Netflix, serviço de streaming de filmes. O plugin da Microsoft oferece um bom desempenho, pegando a melhor fonte do vídeo para oferecer a melhor qualidade sem interrupções. Mas um fator crítico que a Netflix e tantos outros distribuidores de conteúdo querem é DRM: um sistema de proteção de conteúdo, para evitar (ou dificultar) que o streaming seja capturado e redistribuído. Isso o Silverlight também domina.
Com o aparente abandono do Silverlight e falta de suporte a mais plataformas, a Netflix está apostando no HTML 5, mas ainda há muitos problemas. Na sua forma atual o HTML 5 não oferece nenhum tipo de proteção DRM. Há rascunhos em desenvolvimento para suportar a proteção, por meio de extensões (HTML5 Premium Video Extensions). A ideia é criar um padrão com APIs comuns, que possam ser usadas por todos os navegadores.
Uma primeira implementação dos recursos está sendo feita no Chrome OS, sistema que a Netflix pretende suportar nativamente. Os três grandes responsáveis pelo suporte são as "extensões" do HTML 5: Media Source Extensions (MSE), Encrypted Media Extensions (EME) e Web Cryptography API (WebCrypto).
Como provavelmente serão dadas como padrões da web, não deve demorar muito para serem inclusas nos outros navegadores assim que finalizadas. Aí a Netflix largará de vez o Silverlight, podendo rodar seus vídeos diretamente nos navegadores. Fica aí também uma esperança (sem confirmação) de que o serviço funcionará no Linux.
Há alguns detalhes no blog da Netflix. Uma vez desenvolvidas as extensões do HTML 5 poderão ser usadas por qualquer um, não é algo exclusivo de uma empresa ou outra.
Os produtores de conteúdo exigem DRM, mas na prática nem é tão difícil assim obter os vídeos transmitidos via streaming. Diversos aplicativos capturam regiões da tela, podendo pegar perfeitamente o que é visível no monitor a uma taxa de quadros aceitável . Pode não ser a mesma da fonte, mas quem quer mesmo salvar o vídeo normalmente não se preocupa com isso. Nesse sentido o esforço para colocar DRM em streamings parece bastante ineficiente, o que não deve mudar com a implementação da proteção no HTML 5.
Um bug curioso na implementação do HTML 5 pode fazer com que uma página trave seu navegador e/ou acabe com o espaço em disco disponível na partição principal, onde provavelmente ficam os dados do navegador.
Basicamente os sites da web podem guardar dados no navegador para uso posterior. São dados maiores, indo bem além dos tradicionais cookies. Podem ser arquivos diversos, fotos, vídeos, dados de contatos, etc. Cada navegador normalmente oferece meios para visualizar o espaço gasto por site, permitindo limpar esse cache quando necessário. O problema não está na especificação do localStorage do HTML 5 em si, mas na forma como a maioria dos navegadores a implementa. Algum produtor de página maliciosa pode aproveitar uma brecha para entupir o HD de dados inúteis.
Atualmente o Chrome limita a 2,5 MB a "caixinha" que determinado domínio tem para guardar dados usando as funções do localStorage. O Firefox e Opera permitem 5 MB, e o IE permite generosos 10 MB.
O problema aparece em todos eles, com exceção do Firefox: um site que usa vários subdomínios pode explorar o recurso, armazenando imensas quantidades de dados no computador do visitante. Isso não deve trazer problemas de privacidade nem roubo de dados, mas pode ser uma "pegadinha" bastante indesejável. Em navegadores de 32-bit, como o Chrome, o navegador completo pode travar bem antes do disco ficar cheio.
Como prova do conceito foi criado o site http://www.filldisk.com/ (cuidado ao entrar, mas é reversível, claro).
Feross Aboukhadijeh, o cara que comentou publicamente a brecha, notificou os fabricantes dos principais navegadores. Dos maiores, o único que lida bem com o limite é o Firefox. Ele possui uma implementação mais "inteligente", que já pensa nessa possibilidade e limita o abuso no uso do espaço de armazenamento.
Confira detalhes do caso, que pode ser considerado um bug, em:
Demorou menos do que muitos esperavam, mas enfim: o padrão HTML 5 finalmente está mais perto de ser considerado um padrão de fato, embora ainda não tenha recebido este título. O W3C finalizou as especificações desta versão, uma das mais promissoras de toda a história desta linguagem de marcação.
HTML é essencial para a web como a conhecemos: todas as estruturas das páginas da web lidas nos navegadores são baseadas em HTML. Com alguns complementos as páginas ficam como são, já que o HTML entrega o conteúdo mínimo e a estrutura. Entre os complementos que não fazem parte direta das especificações do HTML estão programas no lado do servidor, CSS para controlar os estilos, Javascript para programação no cliente, etc.
O HTML 5 trouxe várias inovações que no HTML 4.x só eram possíveis com gambiarras ou plugins proprietários, como Java ou Flash. Uma das grandes vantagens é ser um padrão aberto e multiplataforma. A interpretação de códigos HTML 5 pode ser implementada em qualquer plataforma ou sistema, independente de um grupo controlador do padrão (diferente do Flash, que depende diretamente da Adobe, por exemplo).
Mesmo não sendo um padrão ainda, vários navegadores passaram a adotar as especificações, o que levou diversos desenvolvedores de sites a considerar os recursos como prontos para uso... Isso já tem alguns anos, e a adoção precoce beneficiou imensamente o resultado final, já que muita gente teve tempo para testar na prática as novidades. Isso sem nem mesmo saber que são parte do HTML 5.
Gráficos mais suaves, melhorias na formatação, novos tipos de dados, inúmeras formas de manipulação de gráficos... Tudo isso com um desempenho cada vez mais interessante, dada a corrida pela otimização dos motores dos navegadores.
Com a finalização das especificações, nada radical vai entrar ou sair do HTML 5 no estado atual. Agora a corrida do W3C é para finalizar os testes e ajudar a proporcionar uma estabilização, quando então será formalizado o padrão.
Junto com as especificações do HTML 5 foram finalizadas as do Canvas2D. O pessoal não fica parado: agora começaram a preparar os rascunhos do HTML 5.1 e Canvas 2D Level 2, com mudanças que não ficaram prontas a tempo para a inclusão imediata - caso contrário o padrão nunca seria "finalizado", dificultando a adoção por parte dos fabricantes de navegadores e produtores de sites.
Chame de acqui-hire [aquisição com finalidade de absorver talentos de uma empresa].
A Apple abocanhou a Particle,
uma empresa de consultoria criativa sediada em San Francisco,
especializada em aplicações web e projetos de marketing usando HTML5.
A empresa já realizou trabalhos em HTML5 para Google, Motorola,
Amazon, Yahoo!, Sony e, é claro, Apple. Diversos empregados da Particle
vieram do Yahoo! e os que ficaram para trabalhar na Maçã estão listados
no LinkedIn como criativos tecnológicos, sendo um deles engenheiro de
interface de usuários. O valor da aquisição não foi divulgado.
A Atari e a Microsoft estão anunciando o lançamento do Atari Arcade, um site criado para demonstrar o poder do HTML5 como plataforma de jogos quando combinado a um navegador moderno como o IE 10.
No site é possível jogar versões de oito clássicos da Atari: Super Breakout, Yar's Revenge, Asteroids, Centipede, Combat, Lunar Lander, Missile Command e Pong. Todos com novos gráficos e sons e recursos modernos como o suporte a partidas multijogador, mas a mesma jogabilidade dos originais.
Yar's Revenge: clássico do Atari 2600, em nova versão
Os jogos foram desenvolvidos por Grant Skinner e sua equipe na GSkinner, especializada na criação de experiências interativas. E além de se divertir, é possível aprender: desenvolvedores irão encontrar no site o CreateJS, um framework para desenvolvimento de jogos usando HTML5 e JavaScript, e documentação explicando como usá-lo.
Jogos criados com esta ferramenta irão rodar em qualquer navegador moderno (incluindo Chrome e Firefox, em sistemas como Mac OS X, Linux e Windows 7), sem a necessidade de plugins, e podem ser publicados no site Atari Arcade. A Atari promete compartilhar com os desenvolvedores parte da renda dos jogos, seja proveniente de anúncios ou venda de itens (IAP - In-App Purchase).
Segundo a Microsoft nos próximos meses novos jogos, parte do catálogo de mais de 100 títulos da Atari, serão lançados no Atari Arcade.
O HTML 5 e seus diversos componentes ainda estão um pouco longe da
finalização das especificações. Até lá algumas coisas precisam ser
decididas, como por exemplo o codec de vídeo a ser utilizado pelo
WebRTC.
O WebRTC oferece um sistema de comunicação em tempo real para os
aplicativos web, facilitando imensamente a comunicação cliente-servidor
dentro do navegador, sem depender de plugins ou soluções proprietárias.
Ele é perfeito para transmissão de vídeo e áudio e também arquivos, algo
que poderia possibilitar por exemplo um sistema de videoconferência sem dependência de plugins.
No estado atual o WebRTC não especifica o codec de vídeo. Ele trata
apenas das taxas de quadros e resolução. Boa parte das implementações
optam pelo codec proprietário H.264, mas o Google quer levar o VP8 para o
padrão.
Como todos sabem, o H.264 é comercial e exige licenciamento para
aplicações comerciais (onde se encaixa praticamente qualquer site com
anúncios ou mantido por empresas). O VP8 também tem lá suas patentes
envolvidas, mas nas mãos do Google - que o conseguiu com a compra da On2
- a coisa é um pouco diferente. A empresa se comprometeu a garantir o
uso livre do formato para sempre sem exigir o pagamento de licenças,
além de deixar o código aberto.
O VP8 é usado em alguns aplicativos open source e também pelo Skype,
oferecendo uma qualidade de vídeo satisfatória para o que se propõe. O
desenvolvimento do formato continua ativo, possibilitando melhorias de
várias características dele ao longo do tempo.
A MPEG-LA, grupo que representa os detentores de direitos autorais e
patentes do H.264 e vários outros formatos proprietários, tenta a todo
custo encontrar violações de patentes no VP8 para impedir o uso do
formato e/ou exigir pagamentos. Embora ela tenha ações bem claras nesse sentido, parece que está falhando até agora em mostrar onde o VP8 infringe as patentes do H.264.
Além do VP8 para vídeo está em discussão o uso do codec Opus para som
no WebRTC, algo que ainda depende de alguns acertos de licenciamento.
Muita gente não vê problema em usar o H.264 no padrão do HTML, mas aí
entra uma grande questão: como é proprietário e exige pagamentos para
uso comercial, nem todo mundo poderia utilizá-lo "de graça". Os padrões
web são tratados como padrões mundialmente aceitos sem precisar pagar
nada, algo parecido com o conceito de domínio público. Numa comparação
simples: se você faz um blog e usa a tag <b> para negrito
(presente há muito tempo no HTML), provavelmente você não quer pagar
nada a ninguém que tenha criado ou especificado essa tag. O mesmo valerá
para o <video>. Ao embutir um vídeo usando H.264 num site
comercial ou relativamente popular você poderia enfrentar problemas
jurídicos (ao menos nos EUA, mercado onde está grande parte do público
alvo de inúmeros serviços online).
Os votos a favor de um codec livre - seja ele o VP8 ou qualquer outro
que existe ou que venha a ser inventado - pensam nesse sentido. Para a
maioria a web deve ser livre, acessível a todos, sem incluir tecnologias
proprietárias que exigem pagamentos nos seus padrões. A escolha de um
padrão (um ou outro, mas um só) se faz necessário para evitar dores de
cabeça aos desenvolvedores, já que o desenvolvimento de um sistema que
utilize tanto H.264 como VP8 seria mais caro, demorado e complicado.
Para complicar ainda mais, não há um consenso entre fabricantes de
navegadores e dispositivos mobile sobre o pagamento dos royalties, o que
leva a crer que alguns reconhecerão apenas H.264, outros apenas VP8, e
outros ambos.
Já faz algum tempo que a Adobe jogou a toalha no desenvolvimento da
versão móvel do plug-in Flash, que mesmo nos desktops parece estar com
seus dias contados. Apesar disso, a empresa vinha mantendo um trabalho
mínimo de atualização, oferecendo correções de bugs graves de segurança
para dispositivos anteriormente certificados, além de fazer vistas
grossas para o uso do plug-in em novos aparelhos.
Entretanto, mesmo esta última linha de suporte está sendo eliminada. O
plug-in não serão suportado a partir do Android 4.1, e mesmo os
downloads a partir do Google Play serão bloqueados a partir do dia 15 de
agosto, dificultando a vida de qualquer um que queira insistir no
plug-in, já que ele precisará ser baixado de algum endereço alternativo e
instalado manualmente, e ainda assim sem nenhuma garantia de que vá
realmente funcionar.
Embora o suporte a Flash venha se tornando cada vez menos importante,
na medida em que mais e mais sites adotam o HTML 5, especialmente para
os vídeos, ainda existem muitas situações em que o plugin Flash pode ser
útil. Mantê-lo ativado o tempo todo é um brutal desperdício de
desempenho e bateria, mas ao configurar o navegador para carregá-lo sob
demanda ele fica inativo até que você precise dele, sem atrapalhar
ninguém. Sem dúvidas deixar de ter o plugin à disposição vai limitar um
pouco o conteúdo visualizável no Android. Escolhas são sempre uma coisa
boa.
Para demonstrar o que está sendo atingido com a evolução do HTML 5, a
Mozilla lançou junto com o pessoal da Little Workshop o game
BrowserQuest, um massively multiplayer. Ele é baseado num mundo 2D com
estilo antigo, mas o objetivo é mostrar como tudo é possível sem usar
plugins nem ficar preso a uma determinada plataforma.
O jogo pode ser acessado em browserquest.mozilla.org.
O destaque do aplicativo web se dá no uso de WebSockets, que permitem
interagir com servidores usando uma comunicação bidirecional sem
complicações, oferecendo tempo de resposta ágil o suficiente para um
multiplayer. O código do servidor roda no Node.js. Interessados podem
verificar o código fonte no Github. Os status dos servidores podem ser conferidos nesta página.
Além dos WebSockets muitas outras coisas do HTML 5 são exploradas
ativamente, como o elemento Canvas para desenhar o mundo 2D; Web
workers, que permitem iniciar o mapa grande e exibir só o que for
necessário, evitando deixar a página lenta; localStorage para salvar o
personagem; Media Queries do CSS3 para permitir redimensionamento da
tela sem afetar o jogo, além de facilitar o uso em várias plataformas e
navegadores; e as funções de áudio do HTML 5.
Como é baseado em projetos de padrões web já largamente adotados
pelos navegadores, o BrowserQuest deve funcionar no Firefox, Chrome e
Safari. ele também é compatível com o navegador do iOS e o Firefox for
Android. Confira um pouco mais sobre o projeto no blog da Mozilla.
O potencial do HTML 5 é muito grande. Se tudo isso é possível fazer
com o que já temos em mãos, daqui alguns meses e anos muitas coisas
melhores poderão surgir, já que vários grupos desenvolvem continuamente
as especificações. Para os usuários e desenvolvedores só há pontos
positivos, uma vez que o código é exatamente o mesmo para todas as
plataformas.
O plugin Flash, que esteve em evidência há 2 semanas com o anúncio de sua descontinuidade nas plataformas móveis, é para mim – que cubro diariamente os posicionamentos e realizações de grande variedade de empresas e organizações com pontos de vista às vezes radicalmente diferentes – uma fonte quase inesgotável de controvérsias nos anos recentes.
A mais inesperada de todas foi a atitude que observei em certos setores (restritos, felizmente) de usuários de software livre após o recente anúncio da Adobe de que iria descontinuar (em prol do HTML 5) o desenvolvimento do Flash nas plataformas móveis: em vários casos vi com surpresa esta vitória de um padrão aberto contra uma tecnologia proprietária ser lamentada, e até mesmo atribuída a uma influência indevida da Apple, que de certa forma foi a precursora na rejeição ao Flash no mercado móvel.
E alguma influência a favor deste desfecho houve, afinal o fato de o HTML5 ser suportado em todas as plataformas móveis, inclusive de forma exclusiva em parte delas (leia-se iOS) foi apresentado no anúncio da Adobe como justificativa para ela agora considerá-lo como a melhor alternativa para criação e disponibilização de conteúdo nessas plataformas.
Mas esta não foi a primeira polêmica associada ao Flash que me surpreendeu, e provavelmente não será a última. Assim, agora que já decorreram algumas semanas desde o fato, quero fazer uma breve retrospectiva das polêmicas do Flash que me chamaram a atenção, conduzindo à minha opinião sobre o seu desvanecer.
Vou começar pela Free Software Foundation, berço do (…)
Cada vez mais é necessária a criação de documentos HTML que ofereçam mais recursos e interfaces mais responsivas.
Com o HTML5, é possível criar experiências maravilhosas com a conveniência de recursos que antes eram encontrados apenas em plataformas ricas para Desktop ou plug-ins como Flash e Silverlight.
A quantidade de novos recursos disponíveis é muito grande, e a necessidade de utilizar muitos desses recursos simultaneamente também é crescente.
E, como todos sabemos, quanto mais scripts sendo executados “ao mesmo tempo”, maior é a carga de processamento para a Thread de UI, na qual acontecem as atualizações da interface com o usuário. Mesmo com os esforços para a melhoria no modelo de execução de scripts nos navegadores mais modernos, em algum momento, fatalmente esbarraremos nos limites de processamento físicos da Thread principal, seja em falta de resposta ou na interrupção de scripts de longa duração por interações do usuário.
Para evitar esse tipo de situação, existe uma especificação nova que acrescenta bastante poder ao HTML5: Web Workers.
Com Web Workers, é possível executar scripts em threads distintas da thread de UI, o que permite muito mais eficiência na execução e fluidez na interface, principalmente por se tratar de um modelo que utiliza os núcleos (cores) do processador disponível.
Até então, esse tipo de execução só era acessível para plataformas não HTML através de APIs não tão amigáveis para o desenvolvedor.
Uma das características mais interessantes das especificações do W3C é a simplicidade de utilização dos recursos, e isso se aplica a Web Workers, o que torna o trabalho muito simples para o desenvolvedor.
A maneira mais simples para se utilizar um WebWorker é utilizar um arquivo de script separado. Poderia também ser utilizado um script inline e outras modalidades como DedicatedWorkers e SharedWorkers, porém, para este artigo de introdução, vamos focar na maneira mais prática.
Declarando o Worker na thread da UI:
Default.htm
var worker = new Worker("myscript.js");
Isso faz com que o Worker instancie o script para atuar como o Worker em background.
É importante adicionar eventhandlers aos eventos do Workerna thread de UI, onmessage e onerror
Agora que o Worker já está pronto, é necessário utilizar o método postMessage() para que ele comece a ser executado:
worker.postMessage("start");
É possível enviar objetos mais complexos via postMessage e utilizar esses objetos para uma comunicação mais precisa entre as Threads UI e o Background.
Também é importante adicionar o eventhandler de mensagens ao script que será executado como o Worker para efetuar a troca de mensagens/comandos.
Basicamente, esse loop avisa à thread de UI o valor atual à cada atualização e que, por sua vez, exibe o valor para o usuário.
Existem duas formas de parar a execução de um Workers. Podemos utilizar o método terminate() na thread da UI ou o método close() na thread em background.
Neste caso, podemos utilizar a interface para enviar mensagens para parar o processamento do worker e então terminá-lo:
<buttononclick="stop();">Parar Worker</button>
function stop()
{
worker.postMessage("stop");
}
A mensagem “stop” já foi tratada pelo script do nosso Worker customizado, porém como tudo acontece muito rápido, as mensagens não chegam a ser exibidas devido ao fato de o Worker já ter sido fechado. A dica aqui é utilizar mais mensagens e só terminar o Worker ao final de todo o processamento necessário.
Abaixo o código completo da página HTML e do Script: Default.htm
Vejam abaixo a variação de utilização do processamento da minha máquina (que possui quatro núcleos) ao utilizar o Web Worker.
Antes de acionar a página do Worker:
Durante o processamento do Woker:
Como vocês puderam notar, a API de Workers define automaticamente a afinidade entre threads e núcleos do meu processador e garante um processamento muito rápido sem interferir na thread de UI.
Vale a pena conferir este comparativo entre o processamento de um script no modelo baseado na thread de UI e utilizando o Workers que é baseado no test262 do Ecmascript.
Essas implementações funcionam nas versões mais atuais dos navegadores. Por se tratar de um Draft de especificação e implementação por parte dos navegadores, você encontrará diferença na performance e falhas na execução dos testes, mas é perfeitamente viável para iniciar o desenvolvimento.