Aplikacje natywne Chrome można już uruchomić w każdej przeglądarce i na każdej stronie WWW
W Sieci pojawiła się już stabilna wersja Google Chrome 31. Towydanie, którego zignorować nie można, przynosi bowiem zmiany, któremogą w poważnym stopniu wpłynąć na to, co w przyszłości spotykaćbędziemy na stronach WWW. Debiutuje w nim środowiskouruchomieniowe PNaCl, (Portable Native Client), które pozwala nauruchamianie w przeglądarce modułów webowych aplikacji, które pisanesą w C i C++, bez względu na architekturę sprzętową komputera.Zademonstrowane po raz pierwszy na tegorocznej konferencji GoogleI/O PNaCl rozwiązuje problem niekompatybilności kodu binarnego międzyarchitekturami, kompilując kod do formatu pośredniczącego (kodubajtowego LLVM), który jest dopiero konwertowany przez przeglądarkędo kodu maszynowego adekwatnego do procesora, na którym systemdziała. W ten sposób Google Chrome staje się środowiskiemuruchomieniowym dla aplikacji webowych działających z wydajnościąpraktycznie taką samą, jak w wypadku tradycyjnych aplikacjidesktopowych, tyle że aplikacje takie można uruchomić na dowolnymsystemie operacyjnym, na którym Chrome (oraz wtyczka Chrome Frame dlaInternet Explorera) działa, nie przejmując się tym, czy „podmaską” mamy procesor x86, x86-64, ARM czy MIPS.[img=01]Wraz z umieszczeniem PNaCl w stabilnej wersji Chrome, Googlezniosło wszystkie restrykcje dotyczące uruchamiania takich aplikacji.Uruchamialne moduły pexe mogą być ładowane w kontekście dowolnejstrony internetowej – do tej pory były ładowane jedynie wtedy,gdy ich źródłem był sklep z aplikacjami Chrome Web Store. Co prawdademonstracyjna strona z takimi aplikacjami, dostępna pod adresemtrypepperjs.appspot.com/examples.html,przypomina nieco galerie webowych apletów Javy z początków minionegodziesięciolecia, ale to tylko wierzchołek góry lodowej –dostępne w sklepie Chrome gry, zbudowane na platformę Native Client,daleko wykraczają poza wszystko, co widzieliśmy w tamtych czasach,porównywać je można np. z tytułami wydawanymi na Nintendo Wii.Mimo że PNaCl jest technologią opensource'ową, to w praktyce jestdostępne tylko dla Chrome (i pewnie to się nigdy nie zmieni, patrzącna stosunek Mozilli do przeglądarkowych wtyczek). Dlatego też Googlestworzyło bibliotekę pepper.js,która umożliwia przetworzenie aplikacji pisanych z myślą o NativeCliencie na czysty JavaScript, za pomocą rozwijanego przez Mozillękompilatora Emscripten. W ten sposób aplikacje PNaCl będzie możnauruchamiać na każdej nowoczesnej przeglądarce, choć ich wydajnośćbędzie oczywiście odczuwalnie niższa, niż w wypadku kodu maszynowego:tu ograniczeniem są możliwości silników JavaScriptu InternetExplorera czy Firefoksa.Z perspektywy programistów taka sytuacja wygląda całkiem nieźle.Wystarczy że pobiorą SDKNative Clienta ze stron Google'a, a będą mogli pisaćoprogramowanie do przeglądarek w „normalniejszych”językach programowania, takich jak C czy C++, które uruchomi siępraktycznie wszędzie, na Chrome działając po prostu z większąwydajnością. Mozilla, nawołująca do kompilowania takich aplikacji dopodzbioruJavaScriptu asm.js, uruchamianego na nowym silniku skryptowymFirefoksa OdinMonkey, wciąż nie może zapewnić porównywalnejwydajności: testowe aplikacje skompilowane dla PNaCl są obecnie około1,5 raza szybsze, niż te, które skompilowano do asm.js.[img=pepperjs]Wyścig o to, czyja recepta na uruchamianie natywnych aplikacji nastronach WWW się przyjmie, rozstrzygnie się zapewne jednak dopiero naurządzeniach mobilnych. Do tej pory ani Google ani Mozilla niezdołały swoich rozwiązań uruchomić w androidowych wersjach Chrome iFirefoksa.Chrome 31 możecie tymczasem pobrać z naszego repozytoriumoprogramowania.
13.11.2013 11:47