Existe alguma maneira de usar c ++ em cromo extensão?
-
13-09-2019 - |
Pergunta
É possível usar c ++ binário na extensão do Chrome?
Solução
Sim, como com outros navegadores, você pode escrever um plugin NPAPI que irá comunicar com a sua extensão.
Veja a página do Google relacionado em code.google.com
E uma descrição mais genérica na wikipedia
Outras dicas
NPAPI foi depreciado do Chrome / Opera para preocupações de segurança.
Você ainda pode usar NPAPI se você está direcionando firefox, mas se o Firefox segue a tendência pode desativá-lo em algum momento também.
As melhores opções que você tem hoje são
Use NaCl se você está visando apenas Chrome
Você pode usar em vez NativeClient (AKA NaCl, AKA PPAPI - Pimenta Plugin API)
Tudo correu código dentro NaCl é sandboxed por isso é tão seguro quanto um extensões de JavaScript.
Use asm.js se você como alvo todas as plataformas
Usando Emscripten você pode compilar o código C / C ++ em altamente otimizados formato javascript chamados asm.js. Ele é projetado para ter um desempenho nativo próximo e agora tem suporte decente de grau-A navegadores, exceto Safari . Embora o desempenho é melhor no Firefox que o Chrome no momento.
Os principais fabricantes de navegadores também estão trabalhando em um novo padrão chamado WebAssembly que é parcialmente inspirado por asm.js, mas não está pronto para uso nobre a partir deste artigo
Atualização 2018/05/14
Native Client está sendo preterido e asm.js está sendo substituída pela WebAssembly que está se tornando o novo padrão para compilar código C ++ para a web.
Como dito superior, você pode usar NaCl para cromo e asm.js com Emscripten para todas as plataformas, mas é a engenharia reversa é mais simples, do que binário. Agora há uma solução média: webassembly - bytecode LLVM embeded no navegador é suportado pela maioria dos navegadores modernos https: // caniuse .com / # façanha = WASM . Então Emscripten pode compilar C ++ para WASM, na maior parte é mais rápido do que asm.js.