Mi experiencia: hace unos años, trabajé en un plugin multiplataforma, navegador cruzado NPAPI que usaba OpenGL para hacer renderizado de imágenes. He prestado algo de atención al espacio desde entonces, pero no es lo que hago hoy en día. He escrito extensiones que no son complementos para Firefox, pero no para Safari o Chrome.
Mucho depende de exactamente lo que usted quiere que su extensión a hacer, y qué tipo de interfaz de usuario que desea presentar. Los diferentes navegadores tienen diferentes ideas de lo que las extensiones pueden y no pueden hacer.
Si solo desea mostrar imágenes o videos en un formato personalizado, NPAPI es probablemente su mejor opción. NPAPI es fundamentalmente una capa delgada alrededor de las API de la plataforma nativa. Como tal, el código NPAPI multiplataforma tiene que lidiar con las peculiaridades de la plataforma individual, así como con los diferentes niveles de soporte para NPAPI de los navegadores. Google tiene un proyecto llamado Pepper para solucionar algunos de los problemas de NPAPI, pero Pepper aún no tiene soporte de ningún navegador además de Chrome.
El proyecto de Native Client de Google proporciona una alternativa a NPAPI para ejecutar código nativo, pero impone restricciones en el código nativo. Por ejemplo, pthreads están permitidos, pero el acceso a la red no lo es. Hay un subproyecto de NaCL llamado c_salt que parece abordar el tipo de integración de código nativo HTML/JS UI + que busca. Lamentablemente, todavía está en la fase de diseño y, por lo tanto, no es muy útil para escribir extensiones hoy.
Según tengo entendido, por ahora, una extensión de navegador cruzado que se integra con la interfaz de usuario del navegador y también se integra con el código nativo no es factible. Tanto Safari como Chrome restringen las extensiones mucho más que Firefox, y solo permiten extensiones escritas en JavaScript. No sé si es posible tener una extensión en Safari o Chrome interactuar con un complemento de navegador escrito en NPAPI. Supongo que es imposible o increíblemente doloroso.
En general, encontrará la vida mucho, mucho más fácil si restringe cuidadosamente a qué navegadores y plataformas apuntar. Exactamente qué navegadores y plataformas elegir es algo que solo usted puede decidir.
foro correcto. Buena pregunta. – sje397
¡Pero no hay respuesta hasta el momento! – user220201