Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Gecko SDK

El Gecko SDK, también conocido como el XULRunner SDK, es un conjunto de archivos XPIDL, cabeceras y herramientas para desarrollar componentes XPCOM que a su vez pueden por ejemplo ser accedidos desde XUL usando JavaScript.

Debe tenerse en cuenta que para desarrollar estos componentes, no es necesario todo el codigo fuente de por ejemplo Firefox, puesto que no es requerido el acceso a los elementos de la capa visual creando un componente. Por otra parte, ya que un componente solo contiene funcionalidades básicas, debería poder ejecutarse en cualquier producto  de la plataforma Mozilla. Por tanto no es necesario contar con un producto particular para construir las funcionalidades generales. Esta es la premisa sobre la que el Gecko SDK fue ideado.

No debe confundirse el Gecko/XULRunner SDK con el XULRunner en sí mismo. El Gecko SDK es una colección de archivos de cabeceras (headers) y herramientas usadas para el desarrollo general de componentes XPCOM que agregan funcionalidades a la plataforma existente, mientras que el XULRunner es un esquema de funcionalidades (framework) donde puede ser utilizado para ejecutarse independientemente (standalone) o embebido en aplicaciones basadas en el framework Mozilla.

El Gecko SDK contiene todas las herramientas y cabeceras necesarias para crear plugins scripts NPAPI incluyendo el compilador/enlazador xpidl y el último npapi.h.

Obteniendo el SDK

Actualizaciones

No es necesario descargar o recompilar el Gecko SDK por las actualizaciones de seguridad de Mozilla (por ejemplo, Mozilla 1.7.3) ya que las cabeceras y las librerías enlazadas en el Gecko SDK usualmente no sufren cambios como resultados de las actualizaciones de seguridad. Sin embargo, uno debe obtener y distribuir siempre los más nuevos componentes Gecko (como: gklayout.dll, etc.).

Descargas

Para versiones de Gecko anteriores a 2.0, deberá elegir la versión del Gecko SDK para la versión de Mozilla más cercana al utilizado. Para versiones de Gecko 2.0 o superior, deberá recompilar el componente para cada versión pues ya no está soportada la compatibilidad entre versiones.

Además de la continuidad de las versiones, aquí se pueden encontrar otras versiones (incluyendo Beta): Versiones de Xulrunner (archivos incluyen "sdk" en el nombre). El SDK sigue el mismo calendario de liberaciones que Firefox/Thunderbird. Una vez que el SDK se vuelve Beta, está listo para la construir las extensiones, tu componente debe trabajar con las versiones de lanzamiento del SDK sin ninguna modificación. Debido al proceso de Liberación Rapida lanzamiento rápido, puede ser una buena idea agregar el SDK en los Beta.

Enlace de Descarga Gecko 20.0 (Firefox 20.0) Gecko 1.9.2 (Firefox 3.6) Gecko 1.9.1 (Firefox 3.5) Gecko 1.9 (Firefox 3.0) Gecko 1.8 (Firefox 1.5 and 2.0)
Windows Descargar Descargar Descargar Descargar Descargar
Mac x86_64 Descargar N/A N/A N/A N/A
Mac i386 Descargar Descargar Descargar Descargar N/A
Mac ppc N/A Descargar Descargar Descargar Descargar
Linux x86_64 Descargar N/A N/A N/A N/A
Linux i686 Descargar Descargar Descargar Descargar Descargar

El SDK no está oficialmente lanzado para otras plataformas; si lo necesitas, probablemente deberás adaptarlo para la tuya.

Nota: Puedes subscribirte a un calendario de fechas de lanzamiento de Firefox. Como también, puedes ver las fechas en la Web.

Desempaquetar el tarball del SDK en algún directorio adecuado.

Situaciones con el OS X SDK

Si tu necesitas usar la utilidad xpidl para compilar archivos IDL en OS X, y lo más probable es que observes cuando ejecutes la herramienta un extraño error similar al de las siguientes líneas:

dyld: Library not loaded: /opt/local/lib/libintl.3.dylib
  Referenced from: /Users/varmaa/xulrunner-sdk/bin/./xpidl
  Reason: image not found
Trace/BPT trap

Desafortunadamente, esto es causado pro un problema con el proceso de construcción del SDK que aún no se logró resolver (ver Bugzilla bug #430274). Para solucionarlo, necesitarás instalar primero MacPorts como se indica en los Prerequisitos de Construcción de Mac OS X e instalar con él libidl. En versiones 64-bit de Mac OS X, necesitarás instalar libidl con la opción +universal.

Una vez concluido, deberás ejecutar el siguiente comando:

ln -s /opt/local/lib/libintl.8.dylib /opt/local/lib/libintl.3.dylib

Esto debería corregir el problema.

Construyendo el SDK

Para construstruir el SDK, deberías construir el XULRunner (el Gecko SDK se forma como parte del proceso de contrucción del, por lo que suele llamarse también XULRunner SDK). Ver la  Documentación para la Compilación para mayores detalles. Después la contrucción del XULRunner se concluye corriendo make sdk desde el directorio objeto se creará un paquete del sdk en dist.

Contenidos del SDK

El SDK contiene lo siguiente:

  • 1.9.2
  • Archivos IDL para interfaces estables (bajo idl/)
  • Archivos cabecera para interfaces estables, funciones XPCOM, y funciones NSPR (bajo include/)
  • Importar librerías o librerías compartidas (bajo lib/)
  • Librerías estática de utilitarios (bajo lib/)
  • Varias herramientas (bajo bin/)

Para más información sobre enlazado seguro de componentes XPCOM usando la librería XPCOM "glue", ver XPCOM Glue.

Utilizando el Sistema de Compilación Mozilla con el SDK

Es posible usar el Sistema de Compilación Mozilla con el SDK. Se puede hacer descargando el código fuente para Firefox y usando --with-libxul-sdk como opcion para el configure.

Recursos

  • xpidl.exe estático (no-oficial) Si buscas un xpidl.exe enlazado estáticamente, puedes descargarlo aquí.
  • Mac Intel Gecko 1.8 SDK El Mac 1.8 SDK oficial es una version ppc. Esta es una compilación intel no oficial.

 

 

Etiquetas y colaboradores del documento

 Colaboradores en esta página: kseltar
 Última actualización por: kseltar,