Web postupně přebírá další a další úkoly, přičemž se z něj stává téměř univerzální nástroj, který by časem mohl nahradit a zřejmě nahradí značnou část současných desktopových aplikací. Leaderem vývoje není v tomto ohledu kupodivu nikdo jiný než Google se svým prohlížečem Chrome a právě on se již před několika lety např. mohl chlubit nejrychlejším zpracováním JavaScriptu, kterýžto jako interpretovaný jazyk by byl ještě nedávno pro běh dnešních webových aplikací těžko použitelný. Pakliže by nedošlo k razantnímu zlepšení JS enginů, zásadní problémy s výkonem web aplikací by měly i dnešní nejmodernější stroje. Proto engine V8 od Googlu přišel s něčím, jako je v podstatě kompilace JavaScriptu do nativníko kódu, na němž je založena naprostá většina desktopových „plnohodnotných“ aplikací.
Google Chrome 31.0.1650.48
Google však jde nyní zřejmě ještě o dál a připravil tzv. Portable Native Client (PNaCl). Podpora je zahrnuta v právě vydaném Google Chrome 31 a jedná se o věc, umožňující vývojářům psát kód pro webové aplikace v jazyce C++ či C, přičemž prohlížeč dokáže tento kód zkompilovat do nativního kódu jakékoli podporované platformy. Přesná specifikace je o něco složitější:
- Under the hood, PNaCl works by compiling native C and C++ code to an intermediate representation, rather than architecture-specific representations as in Native Client. The LLVM-style bytecode is wrapped into a portable executable, which can be hosted on a web server like any other website asset. When the site is accessed, Chrome fetches and translates the portable executable into an architecture-specific machine code optimized directly for the underlying device. This translation approach means developers don?t need to recompile their applications multiple times to run across x86, ARM or MIPS devices.
Každopádně se jedná o velmi zajímavou věc, která má potenciál k posunutí možností prohlížečů o kus dál. I nejmodernější běžné webové technologie jako HTML5, CSS3 nebo JavaScript totiž mají své limity a Portable Native Code má za cíl vytlačení „pomůcek“ typu Flashe, Silverlightu či Javy. Ve všech případech se jedná o zásuvné moduly, avšak PNaCl umožní používat nativní kód bez instalace jakýchkoli doplňků.
Zdroj: blogspot.com