2009 NativeClient

(some notes)

Links:
Native Client: A Technology for Running Native Code on the Web
Google-Code: Native Client
Discussion Group

My comment on google-code-updates blog:

Great Thing !
I am so happy, Google has released it and - what more - as OpenSource ! :D

I think NativeClient might be a good idea not only as substitute for Flash or JavaApplets, but act in other cases… example:

  • "NativeClient WebStart" as alternative for Java Web Start ;)

It would be interesting to let people to run app with one click, run demo of application natively to test, whether we like to install it. Or just.. make some programs running in such way.

My comment on [http://pl.engadget.com/2008/12/10/google-native-client-paris-hilton-pluginow/]

Uwielbiam aż tak sceptyczne głosy ;).

Zgadzam sie w zupełności że w chwili obecnej NaCl ma dość ubogą ofertę WBUDOWANYCH bibliotek, ale pamiętajmy iż jest od samego początku otwartym projektem - opensource - i platformą. A pamiętajmy, że można korzystać z morza istniejących bibliotek (o tym za chwile).

NaCl miał wnieść najtrudniejsze : bezpieczne uruchamianie kodu natywnego.
I to wniósł.
Teraz dorobienie biliotek i modółów to robota… można powiedzieć mechaniczna, tymbardziej że kompilacja pod NaCl to tylko kwestia użycia spatchowanego gcc. (Przypominam że gcc może kompilować do kodu natywnego różne języki… w tym Jave ! O zgrozo ! Można skompilować przy użyciu javę przy użyciu gcj na NaCl i będzie w przypadku kodów obliczeniowych działać szybciej ! (sam tak robiłem nie raz) )

Co do bajtkodu Javy i samej javy… jest to Cobol nowych czasów. Java nie osiągnęła wielu założonych celów, a bajtkodowi daleko do kodu binarnego. A zarządzanie pamięcią w Javie pozostawia wiele do rzyczenia. (np. Przetwarzanie grafów…. np. siatki połączeń autobusowych w miescie za pomocą kodu w Javie jest dziesiątki razy wolniejsze od kodu w C).

Poza tym sama technologia NaCl może zostać użyta na wiele innych sposobów. Można zrobić np. zamiennik "Java Web Start" jako "NativeClient WebStart" i …. programiści bez dużych dodatkowych obciążeń będą mogli kompilować swoje kody w C,C++,Pythonie,OCamlu…. i czym tam jeszcze, do restrykcyjnego kodu NaCl.
W przypadku technologii Javy, wymagałoby to przepisania całości.

I jeszcze odnośnie dostępnych biliotek ….
W NaCl MOŻNA UŻYWAĆ WSZYSTKICH NORMALNYCH BIBLIOTEK PROGRAMISTYCZNYCH,
wystarczy je po prostu przekompilować jak sam program.
Okienka w GTK ? No problem… dokompilować GTK.
Kompresja 7-zip ? … No problem… przekompilować 7-zipa.
Chcemy mieć w programie Jpeg-2000 ? No problem… bierzemy źródełka Jpeg-2000 i kompilujemy.
Czy mam dalej mnożyć przykłady?

Zachęcam wszystkich programistów do zapoznania się z technologią, jest rewolucyjna :).

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License