Portable Native Client: C und C++ im Browser

18.11.2013

Existierende C- und C++-Programme werden mit Portable Native Client (PNaCl) zu Web-Anwendungen.

Googles Web-Browser Chrome und die freie Variante Chromium erlauben Web-Designern mit dem Portable Native Client (PNaCl) hardware- und betriebssystemunabhängig Zugriff auf Ressourcen mittels C und C++. Das PNaCl-Framework basiert auf dem Native Client (NaCl), das den gleichen Ansatz bereits nutzt -- allerdings ohne die nun eingeführte Plattformunabhängigkeit --, um rechenintensive Web-Anwendungen etwa zur Grafik- und Sound-Bearbeitung zu beschleunigen. Auch bereits existierende Desktop-Programme lassen sich damit leicht zu Web-Anwendungen portieren.

PNaCl erstellt aus C- oder C++-Code ein ausführbares Bitcode-Programm (pexe), das sich in eine Web-Anwendung einbinden lässt. Wie bei NaCl läuft dieses auf dem Client aus Sicherheitsgründen in einer Sandbox, also in einem abgeschlossenen Bereich mit eingeschränkten Zugriffsrechten. Anders als NaCl-Programme genügt es dank PNaCl nun, ein einzige pexe-Datei zu erzeugen, die auf allen Architekturen läuft.

Bisher sind die Google-Browser die einzigen, die PNaCl unterstützen. Die Pepper-Plugin-API verwandelt NaCl- und PNaCl-Module aber in Javascript, und damit in Web-Anwendungen, die in jedem Browser funktionieren.

Ähnliche Artikel

comments powered by Disqus
Mehr zum Thema

Go 1.4 erneuert Garbage Collector

Einen neue Version der Programmiersprache Go wurde veröffentlicht, die einen in Go geschrieben Garbage Collector mitbringt.

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019