Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.
Emscripten — это транслятор LLVM в JavaScript. Он берёт LLVM байткод (полученный, к примеру, из исходного кода на C++ с помощью Clang) и преобразует его в JavaScript, который можно в дальнейшем использовать в интернете.
Важное замечание: Эта страница содержит краткое описание того, что такое Emscripten. Для этого, чтобы начать работу с Emscripten, воспользуйтесь официальной Emscripten WIki.
С помощью Emscripten можно:
- Преобразовывать код на C и C++ в код на JavaScript.
- Преобразовать в JavaScript код на любом другом языке, который может быть транслирован в LLVM-байткод.
- Преобразовать среды исполнения других языков, написанные на C/C++, и запустить код, написанный на этих языках (это уже делалось для Python и Lua)!
Emscripten позволяет сделать нативный код доступным для использования в Web: платформа, базирующаяся на стандартах, имеет независимые совместимые реализации и запускается везде, с персональных компьютеров до iPad.
Используя Emscripten, разработчики C/C++ могут избежать портирования кода вручную на JavaScript - и даже избежать изучения JavaScript вовсе. Web-разработчики тоже выигрывают, так как они могут использовать много тысяч существующих нативных утилит и библиотек на своих сайтах.
Практически любой переносимый код на C и C++ может быть скомпилирован в JavaScript c использованием Emscripten, начиная с высокопроизводительных игр, которые требуют прорисовки графики, проигрывают звуки и загружают и обрабатывают файлы, и заканчивая фреймворками для создания приложений, например, Qt.
Emscripten генерирует быстрый код, его формат по-умолчанию — asm.js, высокооптимизируемое подмножество JavaScript, которое во многих случаях может исполняться со скоростью, близкой к нативной.
Заметка: Звучит интересно? Прочитайте больше о Emscripten и посмотртите некоторые примеры, или начните использовать его прямо сейчас.
Other articles of interest on MDN
- Our Games zone contains some useful content related to games development, which is a common area of use for Emscripten.
- Our Emscripten techniques page is a place to store useful Emscripten-related ideas that haven't made it onto the Emscripten Wiki.