InfoQ

InfoQ

Notícias

Meus Favoritos

Faça oLogin ou Cadastre-se para ativar o recurso de favoritos por tempo ilimitado.

O conteúdo foi adicionado aos favoritos!

Houve um erro ao adicionar aos favoritos! Por favor, tente novamente.

Google Libera o SDK para o Google Native Client

Postado por Pedro Mariano em 13 Mai 2010

Seções
Desenvolvimento
Tópicos
Ruby ,
Linguagens Dinâmicas ,
Java ,
.NET ,
Linguagens ,
Programação ,
Arquitetura ,
Novidades ,
SDK ,
Web 2.0 ,
Google Native Client

Depois de adicionar suporte a mais processadores em Março, o projeto Google's Native Client (NaCl) foi movido da versão de pesquisa e foi lançado um SDK ainda em versão preview, com esse lançamento já é possível escrever aplicações NaCl de forma rápida e já ter algumas impressões sobre esse novo conceito.

Lançado a cerca de um ano atrás como versão de pesquisa, o Google NaCl possui uma proposta interessante: rodar código nativo direto no browser através de uma sandbox que faz com que o código rode diretamente no cliente. O objetivo segundo o Google é manter a neutralidade do browser, portabilidade entre OS's, e a segurança que as pessoas esperam de uma aplicação web. Para os desenvolvedores o Native Client irá ajudar a criar clientes mais ricos e aplicações mais dinâmicas no browser.

Para aqueles que têm dúvidas sobre a segurança fique traquilo, o Google possui um scanner de código dentro da sandbox que, antes de executar qualquer código, verifica se existe alguma operação maliciosa e a mesma é bloqueada. De acordo com o Google, o NaCl compartilha os mesmos problemas de segurança que o Javascript.

Uma outra parte interessante do projeto Native Client é o Portable Native Client (PNaCl) (PDF). O PNaCl quebra a execução de um programa NaCl em duas partes fazendo com a a mesma funcione em diversos processadores de processadores. Ele possibilita que o browser converta o código em binário nativo para qualquer tipo de processador, sem a necessidade de acessar o código fonte. Bem, para entendermos melhor vamos entender veja o que ele faz.

Origem: Google

 

O primeiro passo é converter o código em um bytecode LLVM, que é um estado intermediário. Depois disso os módulos NaCl específicos para uma cada arquitetura de processador são detectados pelo PNaCl. Esses modulos então traduzem o bytecode em código de máquina para a arquitetura correspondente (é nesse momento que o módulo de segurança é ativado verificando se existe algum código malicioso). Claro que todo esse processamento leva um tempo considerável, porém o Google pretende otimizar o mesmo.

Com certeza o NaCl vêm para trazer um grande poder para as aplicações web, com ele será possível utilizar recursos de hardware nativo sem a necessidade de se instalar nenhum plugin, utilizando recursos que já estão instalados, nativamente na máquina.. Alguns exemplos do poder do NaCl já estão disponíveis na web, como por exemplo rodar o jogo Quake diretamente no browser, siga as instruções para instalar o Native Client e conseguir ver os exemplos.

Para aqueles que desejam escrever aplicações NaCl é necessário fazer o download do último build do Chromium e do NaCl SDK (é necessário iniciar o chromium com a flag --enable-nacl). Para mais informações sobre o NaCl assista o vídeo oficial do google ou acesse o site oficial do projeto.