Plugin experimental do Google permite rodar código nativo diretamente no navegador
… mas de uma forma menos dependente de plataforma, e inerentemente mais segura que o ActiveX, iniciativa da Microsoft com propósito similar.
O Google lançou um novo plugin para navegadores que permite a aplicações web rodar com segurança código nativo da plataforma local (por exemplo, código x86). Chamado de Native Client (NaCl), o plugin está sob licença livre/aberta BSD e é projetado para rodar nas principais plataformas e navegadores.
A imagem acima mostra o Quake compilado para rodar no NaCl. Embora o NaCl esteja em suas versões iniciais, o Google já disponibilizou até mesmo um kit de compilação/build baseado nas ferramentas livres associadas ao GCC para facilitar o port de softwares existentes para rodar nativamente (e multiplataforma, para as plataformas que compartilhem uma mesma arquitetura de processador) no navegador, associado a aplicações web.
O artigo do Ars Technica, do link abaixo, apresenta mais detalhes sobre o funcionamento e o modelo de segurança, comparando-o ao do ActiveX, e informa até mesmo sobre o port de componentes típicos de sistemas GNU para o NaCl. (via arstechnica.com)
Saiba mais (arstechnica.com).
Faltava algo do género que funcionasse de maneira aberta.
Se você tivesse uma empresa bilionária cujos negócios são baseados em internet, gostaria que qualquer um soubesse que SO você roda internamente, facilitando ataques? Eu não. Eu acho q
Cool =D Achei interessante.
Não sei se não li algo direito mas algo não ficou muito claro pra mim: um programa pra windows, compilado pra NaCl, rodaria bem então no linux?
Isso seria o fim do Wine! heAEHheahEAhea
Que fosse livre, ao menos. Concordo com o Xtian Xultz, nesse caso, a segurança DEVE ser algo muito bom, caso contrário, poderíamos ter vírus ou roubo de informações online.
Abraços.
NaCl? Cloreto de Sódio??? Hehehehe
Será o ActiveX do linux ?
wagnerluis1982 em 15/12/2008 às 2:37 pm
NaCl? Cloreto de Sódio??? Hehehehe
Fiquei imaginando que é algo relacionado a sal :)
Mas, falando sério é uma iniciativa boa. Desde de que seja seguro.
Curioso,
Quando a Microsoft criou o ActiveX todo mundo meteu o pau nela… agora o google cria algo identico… e tudo “eh valido e melhor do mundo”
tsc…tsc..
@Dyego
Na verdade não.. Se você ver o post do /. sobre isso vai ver que as tags marcam “badidea”, “screwthat” e “whatcouldpossiblygowrong”.
Os comentários valem a leitura.
[]‘s
“Curioso,
Quando a Microsoft criou o ActiveX todo mundo meteu o pau nela… agora o google cria algo identico… e tudo “eh valido e melhor do mundo”
tsc…tsc..”
Como a história provou, todos os que criticaram tinham razão. Foi bom que você tenha nos lembrado disto, é bom lembrar-nos dos nossos acertos no passado.
Lembra também porque emteram pau ? Por Que windows + qq inovação = insegurança. Infelizmente. Esperamos que esta proposta (NaCl) não seja mais do mesmo.
Dyego, quando o ActiveX foi lançado a internet era acessada por modems de no máximo 14.400kpbs. Você tem idéia da praticidade de se rodar uma aplicação nativa no browser nunca conexão como aquela? Numa época em que a internet era visto como um amontoado de páginas HTML indexadas pelo Yahoo e email era um sirviço pago. Dá pra imaginar a inutilidade do ActiveX?
Outra coisa, você por acaso já desenvolveu para ActiveX? Sabe o parto que é fazer algo em ActiveX?
Well,
O tamanho da aplicação nada tem a ver com a aceitação do activex… bem porque a applet era um sucesso antes… e era igual ou superior em tamanho…
Quanto a desenvolver ActiveX não tem nada demais… você rpecisa apenas observar algumas coisas… até ai… normal…
Desenvolvi alguns controles activex na minha vida…
Não estou defendendo o ActiveX… apenas acho que essa ideia do google alem de “mais do mesmo” (alguem conhece uma empresa que faz isso ?) , é uma tremenda furada, mas como é fo google , nego não tem coragem de admitir.
E lembre-se ,activex é proprietário e mal tinha documentação abreta pra implementar em outros navegadores.
Mas não gosto dessas iniciativas do google não.Servem somente pra captar inocentes para o mundo nuvem e perderem suas informações nela.
Dyego, então chegamos a um ponto em comum. Também não acho que um ActiveX4Google seja uma boa coisa. Quando respondi seu comentário, o fiz por eu mesmo ter sido um crítico do ActiveX e também do Applet Java. Acho que browser e aplicações nativas não combinam. Eu só me limitei a comentar com base no que você disse sobre ActiveX no passado.
Então, em resumo, o que eu tentei dizer é:
No passado, ou no presente, ActiveX/Applet/NaCL, são inúteis.
Plugin experimental do Google permite rodar código nativo diretamente no navegador
Isso quer dizer que todos os grandes desenvolvedores de software, que amarram as pessoas ao Windows, vão ajudar o Google a derrotar a Microsoft?
Agora um fabricante de multifuncional pode baratear ainda mais o seu hardware, cobrando somente pelo real uso que a pessoa faz do equipamento, vendendo o driver por partes?
O objetivo do NaCl não é ser um ActiveX. O ActiveX depende de decisões do usuário sobre confiança de componentes, e isso sempre foi largamente explorado, aliás, já está provado que isso não funciona.
Os módulos executados no NaCl têm restrições de execução gerenciadas pelo NaCl (uma espécie de “sandboxing”), coisa que o ActiveX nunca fez direito, já que este depende de decisões do próprio usuário. Depois de uma decisão erraba, pimba!, o ActiveX está livre para executar.
Pense em “policies” do Active Directory. Um usuário com restrições na policy do AD não pode fazer muita coisa, mesmo que seja um usuário malvadão. O NaCl tem um objetivo similar.
Joao Marcus,
Tudo que voce descreveu já existe e funciona SIM via activeX bem como via applets…
Decisoes de usuario sao requeridas SE voce deixar o police aberto para tal… senao podem ser automaticas.
Para mim o obejtivo do google é acabar com o software legado, com este projeto você precisaria apenas do chrome para executar todas as atividades do seu PC, o S.O seria desnecessário ou opcicional, para usuários linux seria otimo pois acabaria com aquele lance de software xxx for windows
Isso mesmo rá-tim-bum, concordo. Quem disse que os aplicativos online não ajudaram a tirar a dependência de somente um sistema operacional!
Se isso pegar realmente vejo uma popularização muito grande de Linux, Mac e outros que surgirão.
Quake também, esse dai já rodou até na secretaria eletronica aqui de casa. rs
Mas lembre-se rodar aplicativos on line é estupidez e nos deixa presos a inimigos piores.
@santo
Creio que não seja exatamente isso, pois mesmo que você construa um software usando o Sal do Google ainda terá dependencia de arquitetura, no caso 8086, então seu software fica muito mais dependente do que seria feito em Java por exemplo.
@cristo
Mas aí comparar portabilidade com aplicativos java tbm já é sacanagem!!!
cristo
Concordo é mais restrito que o java mas ainda assim melhor que o activex que alem de restrito ao 8086 é restrito a api do windows, mas continuo achando que pode ser sim uma otima alternativa para aplicativos que utilizam o maximo do computador como ou editores de imagens, imaginem o por exemplo o photoshop rodando assim, o requisito seria apenas o webbrowser com o plugin do google ao invés de exigir win xxxx
Nada contra a iniciativa do Google, sendo software livre/aberto, tudo bem.
Aos que acham que quando se fala de MS têm-se uma postura e do Google outra, vale lembrar que a MS fez/faz por merecer (vejam “Os piratas do vale do silício” para ver o começo da história) e sendo seu software seguindo o modelo fechado, não podemos auferir se ele faz o que realmente se propõe, se faz mais (coisas escondidas), se faz de maneira segura, etc.
Antes que digam que ter acesso ao código fonte não faz diferença para o público em geral, eu digo: e daí? Faz diferença para mim e para muitos outros e é bom que saibamos tirar proveito dessa vantagem de ter acesso ao código, para realmente entender como é ruim não tê-lo.
Quanto a idéia do Google, usando código binário numa sandbox deve dar mais desempenho que uma JVM, mesmo ela tendo JIT. É importante um modelo construído já pensando na segurança, do que começar de qualquer jeito e depois ir remendando. A JVM teve seus problemas de segurança, mas a idéia era inerentemente segura, assim consertando os bugs não há que falar.
Já achava que estava na hora de evoluirem esse modelo da JVM. Ainda acho que há mais espaço para evoluir, de início fazendo que o NaCl suporte mais processadores, por exemplo.
85 MB??? Chamar isso de plug-in é forçar muito a barra.
Não entendo a necessidade de rodar código nativo dentro de um navegador. Se eu quiser rodar código nativo, baixo e rodo.
@Vinícius, acho que vc não leu a notícia.
Por dois motivos:
- portabilidade, vai rodar softwares de x86 em qualquer SO; e
- segurança, pois impede que o programa faça coisas indesejadas no SO hospedeiro.
Devido a semelhança com Activex (inseguro por construção) o pessoal está temendo que esse NaCL tenha o mesmo problema. Mas ele se assemelha mais a Java e sua JVM, que têm uma sandbox para impedir os Applets Java de acessarem no SO hospedeiro mais do que deveriam. O sandbox é conceitualmente seguro, do meu ponto de vista. É semelhante a uma máquina virtual.
Resta torcer para que o Google implemente o conceito direito para que não haja brechas exploráveis, elas seriam multiplataforma e afetariam todos os SOs onde rodar o NaCl.
É claro que erros todos cometem e haverá bugs, só para comparar os processadores Intel com instruções de virtualização de hardware têm bugs que permitem um sistema virtualizado acesse o SO hospedeiro, mas acho que é mais fácil consertar o software do NaCl.
Bem, não temos Chrome para Linux mas será que dá pra rodar Linux no Chrome? ;P
@EmanuelSan eu já sabia do que se tratava antes dessa notícia aqui. É só um sandbox pra rodar aplicação, não é o primeiro, nem o último, ‘a diferença’ é que roda como um plugin dentro do navegador.
Continuo achando que não tem nada demais rodar um código nativo qualquer através de um navegador. Até vejo utilidade em sandbox assim, uso o VX32 pra rodar o Plan 9 sem ter que instalar e sem alguma máquina virtual gorda.
Os 85MB não são apenas do plugin, tem também exemplos e códigos fonte.
Mas o efeito que a Google quer é deixar a interface nativa estrangeira e a interface estrangeira como nativa.
Isso é péssimo.E trambolhos gigantes como a google não é bom que as coisas sejam dessa magnitude.
Todas as empresas são iguais.
Uma versão aberta do ActiveX. Ainda não consegui ver a diferença.