Felietony

Google wprowadza w Chrome Native Client dla procesorów ARM - nowe możliwości, czy zagrożenie dla standardów?

Jan Rybczyński
Google wprowadza w Chrome Native Client dla procesorów ARM - nowe możliwości, czy zagrożenie dla standardów?
5

Native Client, czy w skrócie NaCl, to technologia dotąd dostępna tylko dla procesorów x86 PC, która przeglądarce Google Chrome pozwala uruchomić natywny kod C bądź C++ w stosunkowo bezpiecznym środowisku zamkniętej piaskownicy. W praktyce ma to pozwolić na tworzenie bardziej złożonych i bardziej wy...

Native Client, czy w skrócie NaCl, to technologia dotąd dostępna tylko dla procesorów x86 PC, która przeglądarce Google Chrome pozwala uruchomić natywny kod C bądź C++ w stosunkowo bezpiecznym środowisku zamkniętej piaskownicy. W praktyce ma to pozwolić na tworzenie bardziej złożonych i bardziej wydajnych webaplikacji, taki jak np. gry z zaawansowanym silnikiem graficznym i fizycznym. Celem Google jest dostarczenie NaCl na wszystkie platformy, dlatego wraz z następną wersją Chrome NaCl będzie dostępny również dla procesorów ARM. Co to w praktyce dla nas oznacza?

Procesory ARM napędzają niemal wszystkie urządzenia mobilne takie jak smartfony czy tablety, ale również niewielką liczbę małych laptopów. Ciężko dziś myśleć poważnie o jakiejkolwiek technologii powiązanej z przeglądarką i webaplikacjami, która nie będzie dostępna na platformy mobilne. Celem Google jest, aby Chrome był dostępny na wszystkich platformach. Obecnie dostępny jest na Windowsa, Maca, Linuksa, Androida i iOS oraz jako samodzielny system ChromeOS, za to dotychczasowa wersja NaCl działała tylko na dużych systemach operacyjnych, uruchomionych na procesorach x86 PC. Nic dziwnego, że Google chce, aby technologia NaCl była dostępna również na platformach mobilnych. Tuż za rogiem jest przygotowana nowa wersja obsługująca procesory ARM.

Jeżeli już cieszycie się, że gry pokroju Quake Live uruchomicie bez dodatkowych pluginów na swoich smartofnach, to będziecie musieli jeszcze zaczekać. Jak zwraca uwagę serwis CNET, tak naprawdę nowa wersja NaCl stworzona została przede wszystkim z myślą o Chromebooku Samsunga z procesorem ARM, który jest wyjątkowo udanym produktem, jak na Chromebooka. Za stosunkowo niewielką cenę oferuje wydajność przewyższającą procesory znane z netbooków - Atom, jednocześnie działa znacznie dłużej na baterii niż komputery z procesorami i3 - i7.

Z pełnym wsparciem dla całej gamy procesorów ARM i urządzeń mobilnych trzeba będzie jeszcze zaczekać, ale Google zapowiedział powstanie Portable Native Client, czyli PNaCl, który będzie działał na wszystkich procesorach ARM. Dzięki LLVM będzie on adaptował natywny kod do danego procesora, na którym zostanie uruchomiony.

Jakie zalety niesie NaCl i PNaCl? Przede wszystkim, jeżeli jakaś program został już napisany w C lub C++, to będzie go można w całości lub w częściach wykorzystać bez ponownego przepisywania od zera w innym języku programowania i innej technologii. Tego rodzaju kod wykonywany powinien być szybciej, a więc powinien zaoferować lepszą wydajność i pozwolić uruchomić w przeglądarce bardziej rozbudowane programy. Dodatkowo LLVM pozwoli uruchomić dzisiejsze aplikacje na architekturach przyszłości, których dzisiaj jeszcze po prostu nie ma. Różne przykłady wykorzystania NaCl w praktyce można znaleźć w sklepie z aplikacjami Chrome Web Store. Jest tam na przykład gra The Battle for Wesnoth.

Są jednak pewne zastrzeżenia do tej technologii. Przede wszystkim jest dostępna tylko i wyłącznie w Google Chrome, nie ma więc nic wspólnego z powszechnym standardem. Nie wystarczy mieć przeglądarkę, żeby z aplikacji NaCl korzystać. Nie zanosi się również na to, żeby pozostałe przeglądarki miały NaCl wspierać. Może to doprowadzić do podziałów i komplikacji znanych z czasów dominacji IE 6. Zobaczymy czy wprowadzenie PNaCl coś z mieni w tej kwestii.

Więcej informacji na oficjalnym blogu Chromium.

Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu