Ich habe vor kurzem eine Google Chrome-Erweiterung entwickelt, die ein NPAPI-Plugin verwendet mit dem FireBreath-Framework verwendet. Ich habe gerade herausgefunden, dass Google diese Arten von Plugins in Kürze beenden wird und schließlich alle vorhandenen Erweiterungen, die sie verwenden, verbieten. Also würde ich gerne zur NaCl/PPAPI-Architektur wechseln, aber ich bin mir nicht sicher, ob diese Architektur sogar das unterstützen kann, was ich gerade im NPAPI-Plugin mache.Google Chrome Erweiterung mit NPAPI Umzug nach NaCl
In meinem aktuellen NPAPI-Plugin unterstütze ich OSX und Windows. In der OSX-Version führt das Plugin die Funktion system() aus, die ein kleines 1-zeiliges Applescript ausführt. Es sieht so aus:
osascript -e 'tell app ...
In der Windows-Version führt es Funktionen in einer COM-Bibliothek aus. Beide Versionen machen genau das Gleiche. Eine andere Option, die ich habe, ist ein Python-Skript auszuführen. Wenn ich diesen Weg gehen würde, würde ich höchstwahrscheinlich Python in die native Komponente einbetten wollen.
Ist das mit NaCl/PPAPI überhaupt noch möglich?
Natives Messaging funktioniert nicht, da der Prozess, mit dem ich interagiere, es nicht unterstützt. –
Sie sagten, Sie haben ein NPAPI-Plugin entwickelt; Im nativen Messaging-Modell ist der Prozess, mit dem Ihre Erweiterung kommuniziert, eine von Ihnen erstellte Binärdatei, die denselben Code wie Ihr NPAPI-Plug-in ohne den gesamten NPAPI-Kleber und stattdessen die systemeigene native Nachrichtenbehandlung aufweist.Der Prozess, mit dem Sie letztendlich sprechen, unterstützt vermutlich auch das Laden als ein NPAPI-Plugin, aber das bedeutet nicht, dass NPAPI nicht als Vermittler arbeitet. – smorgan
Ja, ich weiß, dass ich eine Brücke bauen kann, aber das wird mein letzter Ausweg sein. Mir gefällt, dass die NPAPI-Komponente in einem einfach zu installierenden Bundle aus dem Extension Store kommt. Die Browsererweiterung zu installieren und dann eine separate native Komponente zu installieren ist etwas, was ich nicht tun möchte, wenn ich es helfen kann. –