A Mozilla fejlesztői hálózatán a napokban bukkant fel a Doom egy kvázi a webre portolt változata, ami minden kiegészítő - pl. Flash, Silverlight - nélkül, pusztán a JavaScript és a kapcsolódó technológiák segítségével teszi lehetővé a nagy klasszikus élvezhető sebességű játszását a böngészőben. A port hátterében ugyanakkor nem egy valóban JavaScript-ban megírt alkalmazás, hanem egy olyan technológia áll, ami közvetlenül teszi lehetővé a C, C++ vagy akár Java és számos más nyelven írt program közvetlenül JavaScript-re fordítását.

Az Emscripten ugyanakkor valójában nem közvetlenül fordít JavaScript-re ezekre a nyelvekről, hanem egy másik soknyelves és multiplatformos technológiát, a LLVM-et hívja segítségül. Utóbbi rengeteg nyelven - köztük C-ben, C++-ban, Ada-ban, Python-ban, Ruby-ban és persze Java-ban - írt forrásprogramból képes egy speciális, platformfüggetlen bájtkódot fordítani, az Emscripten pedig ebből a bájtkódból generál egy már valóban JavaScript nyelvű, a böngészőkben közvetlen futtatásra alkalmas programot.

Bár az így létrejövő kód általában jóval lassabb lesz - például a C++ esetében általában alig tized olyan gyors - mint az eredeti, natív fordítóval létrehozott, a legtöbb program azonban ennek ellenére megfelelő sebességű futást képes produkálni, ahogy azt a Doom példája is mutatja. Ugyanakkor a JavaScript "portok" nagy előnye, hogy elvileg bármilyen operációs rendszeren és akármelyik böngészőben futtathatóvá válnak, szemben a klasszikus binárisokkal, amik amúgy mindkét vonatkozásban kötöttek.

További részletek itt.