Emscripten

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Emscripten - kompilator kodu LLVM do Javascriptu[1]. Skompilowane programy działają na każdym silniku JavaScriptu kompatybilnym z specyfikacja EcmaScript 5, z szybkością dochodzącą do 2/3 szybkości programów natywnych[2]. Kompilacja odbywa się przez skompilowanie kodu źródłowego do kodu bajtowego LLVM (zwykle kodu C lub C++ z użyciem Clanga), a następnie do kodu asm.js z wykorzystaniem HTML5 do obsługi multimediów. Emscripten stworzono do przenoszenia gier (implementuje SDL, OpenGL i inne popularne API) i przeniesiono nań silnik Unreal Engine 4[3]. Działają w nim jednak praktycznie dowolne aplikacje, czego przykładem jest środowisko Qt[4]. Licencja Emscripten umożliwia bezpłatne wykorzystanie komercyjne[5].

Zastosowanie i rozwiązania alternatywne[edytuj | edytuj kod]

Mniej więcej od 2010 r. znacznie poprawiono wydajność maszyn wirtualnych Javascript, dodano optymalizację języka (asm.js i jego rozszerzenia SIMD), a w przeglądarkach ustandaryzowano obsługę nowoczesnych multimediów (HTML5). W związku z tym pojawiła się możliwość tworzenia dużych aplikacji w całości lub w znacznym stopniu działających po stronie przeglądarki, a także próby przenoszenia istniejących programów (głównie gier) i wynikające z tego zapotrzebowanie na kompilatory różnych języków do Javascriptu.

Przypisy[edytuj | edytuj kod]

  1. Main — Emscripten 1.37.22 documentation, kripken.github.io [dostęp 2017-11-17] (ang.).
  2. Gap between asm.js and native performance gets even narrower with float32 optimizations – Mozilla Hacks – the Web developer blog, hacks.mozilla.org [dostęp 2017-11-17] (ang.).
  3. Mozilla and Epic Preview Unreal Engine 4 Running in Firefox.
  4. Wiki - emscripten-qt - Redmine, vps2.etotheipiplusone.com:30176 [dostęp 2017-11-17] (ang.).
  5. Open Source License — Emscripten 1.37.22 documentation, kripken.github.io [dostęp 2017-11-17] (ang.).