Diferencia entre revisiones de «Mozilla Firefox/Configuración/Crear una extensión para Firefox 3»

Contenido eliminado Contenido añadido
DSan (discusión | contribs.)
m →‎¿Que son las extensiones?: elimino parte porque existe en el capítulo "Utilización"
DSan (discusión | contribs.)
Adapto de libro a capítulo
Línea 1:
En elesta siguienteparte tutorialte se explicaráexplicaremos paso a paso como llevar a cabo el desarrollo de una extensión personalizada para [[Wikipedia:Mozilla Firefox|Firefox]] 3. De esta forma el lector podrá generar de forma fácil extensiones que le permitan personalizar su [[Wikipedia:Mozilla Firefox|Firefox]], teniendo en cuenta que serán compatibles a partir de [[Wikipedia:Mozilla Firefox|Firefox]]3.0 en adelante.
= Introducción =
 
En el siguiente tutorial se explicará paso a paso como llevar a cabo el desarrollo de una extensión personalizada para [[Wikipedia:Mozilla Firefox|Firefox]] 3. De esta forma el lector podrá generar de forma fácil extensiones que le permitan personalizar su [[Wikipedia:Mozilla Firefox|Firefox]], teniendo en cuenta que serán compatibles a partir de [[Wikipedia:Mozilla Firefox|Firefox]]3.0 en adelante.
 
 
En el primer capítulo se dará una breve introducción a las extensiones para [[Wikipedia:Mozilla Firefox|Firefox]]. A continuación se discutirán algunos temas a tener en cuenta respecto a la compatibilidad entre distinas versiones de [[Wikipedia:Mozilla Firefox|Firefox]]. En el seguno capítulo se comenzará a describir paso a paso como desarrollar una extensión. Por último, se explicará como generar el instalador de la extensión y los pasos a seguir para su instalación.
 
== La compatibilidad ==
 
=Extensiones para Firefox 3.0.*=
En el siguiente capítulo se dará una breve introducción de que son las extensiones y las funcionalidades que las mismas brindan. También se tratrá el tema de la compatibilidad.
 
{{wikipedia|Características de Mozilla Firefox}}
 
En ella siguiente capítulosección sete darádaremos una breve introducción de que son las extensiones y las funcionalidades que las mismas brindan. También se tratrá el tema de la compatibilidad.
 
===Cómo verificarlo===
 
Dado el rápido avance que ha tenido [[Wikipedia:Mozilla Firefox|Firefox]] en los últimos meses, algunas funciones de JavaScript han dejado de ser compatibles con [[Wikipedia:Mozilla Firefox|Firefox]]. A su vez, se han modificado las estructuras que los archivos ''manifiest'' han de tener. Las referencias al browser.xul también se ha modificado. Es importante que el lector se encuentre al tanto de dichos cambios, de lo contrario su extensión no será compatible con las últimas versiones de [[Wikipedia:Mozilla Firefox|Firefox]].
 
Otro punto que se debe considerar, es el tema de los Managers que [[Wikipedia:Mozilla Firefox|Firefox]] posee (ejemplo: loginManager). Los mismos también han sido modificados para las versiones 3.0.*.
 
 
 
== Compatibilidad con Firefox 3.0.* ==
Dado el rápido avance que ha tenido [[Wikipedia:Mozilla Firefox|Firefox]] en los últimos meses, algunas funciones de JavaScript han dejado de ser compatibles con [[Wikipedia:Mozilla Firefox|Firefox]]. A su vez, se han modificado las estructuras que los archivos ''manifiest'' han de tener. Las referencias al browser.xul también se ha modificado. Es importante que el lector se encuentre al tanto de dichos cambios, de lo contrario su extensión no será compatible con las últimas versiones de [[Wikipedia:Mozilla Firefox|Firefox]].
Otro punto que se debe considerar, es el tema de los Managers que [[Wikipedia:Mozilla Firefox|Firefox]] posee (ejemplo: loginManager). Los mismos también han sido modificados para las versiones 3.0.*.
Por mas información se puede visitar la siguiente página:
[https://developer.mozilla.org/En/Updating_extensions_for_Firefox_3 Updating extensions for Firefox 3]
 
 
=Comenzar= Comenzando a crear una extensión ==
En elEL siguiente capítulopaso sete describirá pasoayudaremos a pasoinciar comotu crearcreación unade extensión básica. Se indicarán los archivos que se deberán crear, la estructura de las carpetas y el directorio raíz donde las mismas deben ser guardadas.
 
En el siguiente capítulo se describirá paso a paso como crear una extensión básica. Se indicarán los archivos que se deberán crear, la estructura de las carpetas y el directorio raíz donde las mismas deben ser guardadas.
 
 
=== Estructura de las carpetas ===
Existe una estructura obligatoria definida que las extensiones deberán cumplir. Dicha estructura define el nombre de las carpetas, la estructura jerárquica, el tipo de archivos que contendrá cada una y el lugar donde se deberán almacenar para que sean reconocidas por [[Wikipedia:Mozilla Firefox|Firefox]].
 
 
=== La ''carpeta raíz'' ===
===Carpeta Raíz===
Al comenzar se deberá crear una carpeta con el nombre identificador de la extensión. Dicho nombre deberá ser único y corresponder con el nombre definido en el archivo de instalación.
Existen dos formas de nombrar la carpeta raíz de la extensón. Como se mencionó, este nombre debe de ser único, por lo tanto la primera alternativa es generar un identificador [https://developer.mozilla.org/En/Generating_GUIDs GUID] para la misma. Para poder generar un identificador único en Windows existe el comando ''guidgen'' y en Linux ''uuidgen''.
Línea 42 ⟶ 30:
Dentro de la carpeta raíz se creará toda la estructura correspondiente a la extensión.
 
===CarpetaLa carpeta ''Chrome''===
La siguiente carpeta que crearemos será '''''chrome'''''. El chrome se utiliza para cargar los archivos XUL del navegador. El objetivo que se buscó al crear chrome es que los archivos XUL se almacenen bajo un path que no varíe de plataforma en plataforma sino que sea estándar para todas las implementaciones, independientemente del sistema operativo subyacente. Por ejemplo el '''browser''' del navegador [[Wikipedia:Mozilla Firefox|Firefox]] lo podemos encontrar en chrome://browser/content/browser.xul.
 
Línea 74 ⟶ 62:
* ''miextension@undominio''/chrome/skin/
 
===CarpetaLa carpeta Default===
La carpeta default permite definir los textos y mensajes que serán utilizados en la extensión. La carpeta en cuestión no es obligatoria, ya que los textos y mensajes pueden ser embebidos dentro del código js. La idea detrás de tener un archivo de propiedades, es facilitar el mantenimiento y la actualización de los mensajes, textos e imágenes.
 
=== Carpeta libs ===
La carpeta donde se guardarán las librerías utilizadas por la extensión será '''''libs'''''. No existe una ubicación determinada para la misma, pero es recomendable colocarla al mismo nivel de la carpeta ''chrome'' o al mismo nivel de las carpetas content'' y ''locale''
 
==Carpeta= La carpeta ''Profile'' ===
 
En carpeta '''''[http://kb.mozillazine.org/Profile_folder profile]''''', [[Wikipedia:Mozilla Firefox|Firefox]] almacena todos los datos referente al usuario, ya sea información personal, marcadores, extensiones y configuración general del usuario. Dentro de la carpeta profile del usuario, se encuentra la carpeta '''extensions''', bajo la cual se guardan las extensiones.
 
Para que [[Wikipedia:Mozilla Firefox|Firefox]] vea la extensión en desarrollo, la estructura de carpetas que recién se mencionó, se deberá colocar debajo de la carpeta '''''extensions'''''. Cuando se instala una extensión, [[Wikipedia:Mozilla Firefox|Firefox]] la coloca debajo de la dicha carpeta de forma automática, pero para poder ir probando la extensión en desarrollo, se deberá colocar de forma manual.
 
 
En windows la carpeta profile se encuentra en ''Documents and Settings/myuser/Aplication Data/Mozilla/Firefox/Profiles''.
Línea 92 ⟶ 79:
 
Dentro de la capeta profile deberemos navegar hasta encontrar la carpeta ''extensions''. Debajo ''de extensions'' guardaremos la extensión en desarrollo: ''.../Profiles/'''<carpeta profile del usuario>'''/extensions/miextension@undominio''
 
 
 
En Ubuntu encontramos la carpeta en el siguiente path: ''/home/myuser/.mozilla/firefox/defaults/'''<carpeta profile del usuario>'''/extensions/miextension@undominio''. En Ubuntu se deberán tener en cuenta los permisos de los archivos a ejecutar.
Línea 193 ⟶ 178:
 
 
=Interfaz=La interfaz de usuario y Comportamientoel comportamiento==
 
En el siguiente capítulo se hablará de los lengujes para la implementación de las interfaces de usuarios y la implementación del comportamiento. En el mismo no se extenderá sobre los lenguajes a mencionar dado a que en wikibooks existen tutoriales que hablan y detallan sobre los mismos.
 
EnAhora elte siguienteexplicaremos capítulo se hablará desobre los lengujeslenguajes para la implementación de las interfaces de usuarios y la implementación del comportamiento. En el mismo no se extenderá sobre los lenguajes a mencionar dado a que en wikibooks existen tutoriales que hablan y detallan sobre los mismos.
'''Interfaz de Usuario: '''
Línea 205 ⟶ 189:
 
* Màs Información en: [[XUL]]
 
 
'''JavaScript: '''
Línea 211 ⟶ 194:
 
* Màs Información en: [[Programación en JavaScript]]
 
 
 
A su vez, para poder realizar una integración óptima y consumir servicios web, podemos implementar Ajax en nuestra lógica.
Ajax, Asynchronus Javascript and XML, es una técnica de desarrollo para crear aplicaciones interactivas. Comunmente se utiliza para realizar cambios sobre las páginas web sin necesidad de recargarlas aumentando la interactibidad, velocidad y usabilidad de las aplicaciones.
 
 
{{wikipedia|Ajax}}
 
 
 
 
 
 
Ajax a su vez brinda un objeto especial para la comunicación asincrónica con un servidor Web. Dicho objeto es XMLHttpRequest. A través del mismo se lleva a cabo una petición HTTP o HTTPS al servidor web, permitiendo crear contenido dinámico y actualizaciones asincrónicas. A su vez dicho objeto provee métodos para verificar el estado de la petición y redireccionar comportamientos en función del mismo.
 
 
{{wikipedia|XMLHttpRequest}}
 
==Generar el instalador==
EnUna elvez siguientealistado capítuloel seproceso explicaráde archivo, comodebes generar elun instalador de la extensión e instalarlo en el navegador [[Wikipedia:Mozilla Firefox|Firefox]].
 
En un principio existe la opción de generar un archivo .jar que contenga todo el material bajo la carpeta ''chrome''. Queda a decisión del desarrollador dejar los archivos tal cual o generar un jar.
Línea 274 ⟶ 248:
 
 
==Más información==
A continuación se mencionarán algunos enlaces que tratan el mismo tema y bajo los cuales se puede obtener más información.
 
Línea 286 ⟶ 260:
*[https://developer.mozilla.org/en/AJAX Ajax MDC]
*[https://developer.mozilla.org/Es/Extensiones Extensiones]
 
[[Categoría:Mozilla Firefox]]