Eu estou começando a ouvir rumores sobre este projeto chamado ASM.js . Atualmente, seu site é terrível e confuso. Aqui está o que eu sei da minha pesquisa na web.
- É um subconjunto de JavaScript que pode ser altamente otimizado. Eu estou supondo, porque evita as partes mais dinâmicas da linguagem.
- O desempenho do código compilado no ASM.js é executado aproximadamente à metade da velocidade de C (não é leve).
- A intenção é que os compiladores tornem o idioma alvo ASM.js.
- O Firefox será lançado com a otimização do ASM.js.
- As equipes Mozilla e Unreal transportaram o Unreal Engine para a Web com ele e estão rodando em uma compilação do Firefox em velocidades quase nativas.
Não parece haver nenhuma informação concreta na web sobre o que realmente é, a utilidade ou o objetivo final. É possível compilar minhas bases de códigos do lado do servidor e executá-las no navegador a velocidades próximas da nativa? Quais são as ramificações para os desenvolvedores?
fonte
Imagine o ASM.js como um grande ArrayBuffer binário chamado heap e um conjunto de módulos JavaScript, que começam com uma diretiva de prólogo:
"use asm";
e executam operações rápidas de baixo nível em dados binários brutos, semelhantes às linguagens de montagem. Esses módulos podem ser escritos manualmente ou melhor compilados a partir do código LLVM por scripts como Emscripten. Seu desempenho pode ser aprimorado graças ao mecanismo Mozilla OdinMonkey, mas eles são compatíveis com a maioria dos intérpretes modernos do ECMAScript.O ASM.js não se limita a jogos, você pode até executar aplicativos Qt inteiros no seu navegador, como estes !
fonte