No post anterior falei de asm.js é citei um compilador chamado Emscripten. Uma coisa leva a outra, e agora quero mostar o que é este compilador e o quanto ele é impressionante.
Emscripten é um compilador LLVM para Javascript. O projeto LLVM é uma coleção de compiladores modulares e reutilizáveis e de tecnologias de toolchain. O Emscripten é capaz de pegar o bitcode LLVM (que pode ser gerado a partir de C/C++ usando o Clang ou qualquer outra linguagem que possa ser convertida para bitcode LLVM) e compila-lo em Javascript. O código gerado pode ser executado em um browser ou em qualquer outra coisa que execute Javascript.
Usando Emscripten é possível:
- compilar C e C++ em Javascript e executa-lo na web
- executar código de linguagens como Python através da compilação do CPython de C para Javascript e a interpretação do código na web.
Um tutorial de como rodar este compilador é encontrado neste link.
Várias ferramentas/bibliotecas foram portadora para javascript com Emscripten. Vale destacar:
- Qt - este vale destacar muito. Imagine você rodar os seus programas Qt direto no browser. Dê uma olhada nos exemplos http://vps2.etotheipiplusone.com:30176/redmine/projects/emscripten-qt/wiki/Demos.
- BananaBread e Dune II - dois exemplos de jogos. O BananaBread é tiro em primeira pessoa, e o Dune II o clássico precurssor do RTS.
- LaTeX e BibTeX, SQLite, Graphviz e gnuplot - Acho que nem precisa comentar.
- Python, Ruby, Lua
Nenhum comentário:
Postar um comentário