r   e   k   l   a   m   a
r   e   k   l   a   m   a

Aplikacje natywne Chrome można już uruchomić w każdej przeglądarce i na każdej stronie WWW

Strona główna AktualnościOPROGRAMOWANIE

W Sieci pojawiła się już stabilna wersja Google Chrome 31. To wydanie, którego zignorować nie można, przynosi bowiem zmiany, które mogą w poważnym stopniu wpłynąć na to, co w przyszłości spotykać będziemy na stronach WWW. Debiutuje w nim środowisko uruchomieniowe PNaCl, (Portable Native Client), które pozwala na uruchamianie w przeglądarce modułów webowych aplikacji, które pisane są w C i C++, bez względu na architekturę sprzętową komputera.

Zademonstrowane po raz pierwszy na tegorocznej konferencji Google I/O PNaCl rozwiązuje problem niekompatybilności kodu binarnego między architekturami, kompilując kod do formatu pośredniczącego (kodu bajtowego LLVM), który jest dopiero konwertowany przez przeglądarkę do kodu maszynowego adekwatnego do procesora, na którym system działa. W ten sposób Google Chrome staje się środowiskiem uruchomieniowym dla aplikacji webowych działających z wydajnością praktycznie taką samą, jak w wypadku tradycyjnych aplikacji desktopowych, tyle że aplikacje takie można uruchomić na dowolnym systemie operacyjnym, na którym Chrome (oraz wtyczka Chrome Frame dla Internet Explorera) działa, nie przejmując się tym, czy „pod maską” mamy procesor x86, x86-64, ARM czy MIPS.

Wraz z umieszczeniem PNaCl w stabilnej wersji Chrome, Google zniosło wszystkie restrykcje dotyczące uruchamiania takich aplikacji. Uruchamialne moduły pexe mogą być ładowane w kontekście dowolnej strony internetowej – do tej pory były ładowane jedynie wtedy, gdy ich źródłem był sklep z aplikacjami Chrome Web Store. Co prawda demonstracyjna strona z takimi aplikacjami, dostępna pod adresem trypepperjs.appspot.com/examples.html, przypomina nieco galerie webowych apletów Javy z początków minionego dziesię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 jest dostępne tylko dla Chrome (i pewnie to się nigdy nie zmieni, patrząc na stosunek Mozilli do przeglądarkowych wtyczek). Dlatego też Google stworzyło bibliotekę pepper.js, która umożliwia przetworzenie aplikacji pisanych z myślą o Native Cliencie na czysty JavaScript, za pomocą rozwijanego przez Mozillę kompilatora Emscripten. W ten sposób aplikacje PNaCl będzie można uruchamiać 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 Internet Explorera czy Firefoksa.

Z perspektywy programistów taka sytuacja wygląda całkiem nieźle. Wystarczy że pobiorą SDK Native 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 do podzbioru JavaScriptu asm.js, uruchamianego na nowym silniku skryptowym Firefoksa OdinMonkey, wciąż nie może zapewnić porównywalnej wydajności: testowe aplikacje skompilowane dla PNaCl są obecnie około 1,5 raza szybsze, niż te, które skompilowano do asm.js.

Wyścig o to, czyja recepta na uruchamianie natywnych aplikacji na stronach WWW się przyjmie, rozstrzygnie się zapewne jednak dopiero na urządzeniach mobilnych. Do tej pory ani Google ani Mozilla nie zdołały swoich rozwiązań uruchomić w androidowych wersjach Chrome i Firefoksa.

Chrome 31 możecie tymczasem pobrać z naszego repozytorium oprogramowania.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.