precio - ¿Cuáles son las ventajas/desventajas de usar Add-on SDK para desarrollar mi extensión de Firefox?
piercing para la ansiedad (1)
Estoy desarrollando (otra más) complemento de administrador de contraseñas para Firefox. Mi complemento necesita:
- Agregue dos elementos del menú contextual a cada campo de contraseña.
- Abra un cuadro de diálogo o panel flotante cuando se selecciona el elemento del menú.
- Acceda a un método específico de un componente XPCOM específico.
- Rellena el campo de contraseña
- Incluye una ventana de preferencias.
- Ser compatible con Firefox 4.0.
Preferiblemente, también:
- Ejecutar en Firefox 3.5 y 3.6.
- Algunos usuarios no actualizan a la última versión.
- Firefox 4.0 no se ejecutará en un Mac PowerPC.
- Instalar sin reiniciar en Firefox 4.0.
- Permitir la localización
He probado Add-on SDK (anteriormente conocido como Jetpack), y hace que sea muy fácil comenzar a desarrollar. Sin embargo, creo que HTML no puede crear fácilmente cuadros de diálogo de "aspecto nativo" y que el SDK es bastante pesado. (Se necesitan muchos kilobytes para construir una extensión simple, ¡eso incluye un componente XPCOM!)
¿Cuáles son las ventajas y desventajas de usar Add-on SDK para desarrollar mi extensión de Firefox? ¿Está listo para un desarrollo de extensión "serio"?
Ventajas:
La API de Jetpack expone API de alto nivel para la mayoría de las cosas que mencionas:
- Agregar dos elementos del menú contextual
- panel flotante
- API para el administrador de contraseñas
Los complementos basados en Jetpack son sin reinicio.
Los complementos basados en Jetpack son a prueba de futuro en un sentido que las API de alto nivel se mantendrán sin cambios para las próximas versiones de FF.
Es posible que pueda utilizar algunos módulos desarrollados por la comunidad para API que no están expuestos por SDK.
Si esta no es la última extensión que planea construir, existe la posibilidad de que se vuelva a utilizar el código creando módulos de terceros como los mencionados en 4 (consulte los documentos para obtener más información).
El soporte para FF móvil viene en la versión 1.0 posterior de Addon-SDK, lo que puede significar que su extensión puede hacerse compatible con la versión móvil de FF con un esfuerzo de mínimo a cero.
Jetpack viene con un marco de prueba de la unidad incorporada.
Tiene un mejor modelo de seguridad, lo que facilitará el proceso de revisión de complementos.
Jetpack soporta los módulos / paquetes de commonjs, lo que significa que parte del código puede tomarse prestado de otros proyectos como nodejs, por ejemplo.
Desventajas:
- Jetpack ya no es compatible con FF <4.
- Aún no tiene soporte para localización.
- No tiene API para construir paneles de preferencias, pero puede desarrollarse como un módulo de terceros y compartirse con el resto de la comunidad.
- El complemento contendrá el código con capas de abstracciones, que aumentará el tamaño del complemento (hay un trabajo en curso que reducirá el tamaño de xpi al excluir los archivos que no son utilizados por el add-on).