2009-11-03 11 views

Odpowiedz

15

Tak, podobnie jak w innych przeglądarkach, można napisać wtyczkę NPAPI, która będzie komunikować się z twoim rozszerzeniem.

Zobacz powiązanego Google Page at code.google.com

i bardziej ogólnego opisu at wikipedia

+0

Dlaczego więc nie pisać bezpośrednio jako NPAPI? – Pacerier

36

NPAPI jest potępiany z Chrome/Opera dla względów bezpieczeństwa.

Możesz nadal używać NPAPI, jeśli kierujesz reklamy na Firefox, ale jeśli Firefox podąża za trendem, może go również wyłączyć.

Better opcji masz dzisiaj

Zastosowanie NaCl jeśli są kierowane tylko Chrome

można użyć zamiast NativeClient (AKA NaCl, AKA PPAPI - Pepper Plugin API)

Cały kod ran Wewnątrz NaCl jest piaskownica, więc jest tak samo bezpieczny jak rozszerzenia javascript.

Stosować asm.js jeśli kierowania wszystkie platformy

Korzystanie Emscripten można skompilować kod C/C++ w wysoce zoptymalizowany javascript format o nazwie asm.js. Został zaprojektowany tak, aby mieć prawie wydajność natywną, a teraz ma teraz wartość decent support from grade-A browsers except Safari. Mimo, że w tej chwili wydajność jest lepsza w Firefoksie niż w Chrome.

głównych producentów przeglądarek są również prace nad nowym standardem o nazwie WebAssembly że jest częściowo inspirowany asm.js, ale nie jest gotowy do użycia jako głównego tego artykułu

+0

Jakie jest wsparcie dla przeglądarki dla PPAPI? Czy jest to tylko przeglądarka Chrome i dlatego ma niewielkie szanse na wykorzystanie jej w przyszłości przez inne przeglądarki? – Pacerier

+0

PPAPI jest również obsługiwane przez Operę, ponieważ jest teraz oparte na przeglądarce Chrome. – Eduardo

+0

Należy zauważyć, że NPAPI nie jest o wiele lepsza, w tym momencie obsługuje ją tylko Safari/Firefox, ponieważ ani IE, ani Chrome go już nie obsługują. IE użył ActiveX, który również był przestarzały dla Microsoft Edge. Budowanie rodzimych wtyczek do przeglądarek nie jest chyba łatwym w użyciu przeglądarką. – Eduardo

0

Jak powiedział górny, można użyć NaCl dla Chrome i asm.js z Emscripten dla wszystkich platform, ale jego inżynieria wsteczna jest prostsza niż binarna. Teraz istnieje rozwiązanie pośrednie: tworzenie stron internetowych - kod bajtowy LLVM osadzony w przeglądarce jest obsługiwany przez większość nowoczesnych przeglądarek https://caniuse.com/#feat=wasm. Tak więc Emscripten potrafi kompilować C++ do wasmu, przeważnie jest szybszy niż asm.js.