Anuncios

Bienvenidos sean a este post, hoy veremos un par de consejos sobre los plug-in.

Anuncios

Antes de hablar sobre como publicar y distribuir un plug-in para poder compartirlo y este pueda ser utilizando por otras personas, vamos a ver y/o repasar algunas recomendaciones para evitar conflictos con otros plug-in.

Anuncios

Proteger al alias del selector ($)

Esto debemos hacerlo ante potenciales interferencias de otras librerias y para ello podemos usar en su lugar a jQuery o pasando a $ a una expresion de funcion invocada inmediatamente (IIFE por sus siglas en ingles) para que pueda usarse como una variable local, de esto hablamos en este post.

Anuncios

Extendiendo el objeto jQuery

Ya sea si lo extendemos con $.miPlugin o a traves del prototipo de jQuery $.fn.miPlugin no agreguemos mas de una propiedad al namespace $ y tanto los metodos como las propiedades publicas adicionales deberian ser agregados al namespace, por ejemplo:

$.miPlugin.metodoPublico()
$.fn.miPlugin.propiedadPublica
Anuncios

Opciones predeterminadas

Siempre debes proveer unas opciones predeterminadas para el plug-in, por ejemplo:

$.fn.miPlugin.predeterminadas = {size: 'large'};
Anuncios

Permitir sobreescribir valores predeterminados

Con proveerlas no alcanza sino tambien debemos dar la posibilidad de poder sobreescribirlas o anularlas y que el usuario pueda ingresar sus valores al momento de llamar al plug-in, por ejemplo:

$.fn.miPlugin.predeterminadas.size = 'large';
Anuncios

O al momento de hacer el llamado:

$('div').miPlugin({size: 'small'});
Anuncios

El retorno del this

Cuando estemos extendiendo alguna libreria de jQuery mediante el prototipo ($.fn.miPlugin) demos la devolucion del this lo cual permitira al usuario encadenar otros metodos a este, por ejemplo:

$('div').miPlugin().find('p').addClass('foo');
Anuncios
Nota:
Sobre esto hablamos en este post.
Anuncios

Forzar iteracion implicita

Forzar la iteracion implicita por medio de this.each nos trae un monton de beneficios de los cuales hemos debatido en este post.

Anuncios

Funciones callback

Implementen funciones callback cuando sea apropiado para permitir modificaciones mas flexibles de la conduucta del plug-in sin necesidad de cambiar el codigo.

Anuncios

La fabrica de jQuery UI

Esta es necesaria si necesitamos trabajar con elementos de la interfaz del usuario o necesitamos llevar un control de los estados de estos y tambien nos facilita la creacion de estos como vimos en este post.

Anuncios

Test de unidad automatizado

Una buena idea es mantener un conjunto de test de unidad automatizados para el plug-in en un framework de test para asegurarnos de que todo funciona perfectamente, un ejemplo puede ser QUnit, sobre este tema hablaremos mas adelante.

Anuncios

Github

En realidad es un consejo para llevar un mejor control de las revisiones de versiones del codigo, porque no solamente podras compartilo publicammente sino que pueden recibir colaboraciones de otras personas.

Anuncios

Licencias

Si van a compartir publicamennte lo que hagan siempre es recomendable que pueden hacer y no con el producto, un buen consejo es el uso de la licencia MIT la cual utiliza tambien jQuery.

Anuncios

Distribuyendo el plug-in

Despues de los consejos anteriores si pudiste aplicarlos a todos o en su mayoria, esto producira que tengas un plug-in totalmente limpio, mantenible y con todas las convenciones de tiempo de testeo seguidas, y si este es reutilizable y util para las tareas quizas sea hora de compartirlo a la comunidad de jQuery.

Anuncios

Algo que no mencionamos anteriormente pero que siempre es fundamental es realizar una buena documentacion de la operacion del mismo antes de su distribucion, existen varios formatos para este motivo pero el mas estandar es JSDoc:

https://jsdoc.app/

Anuncios
Anuncios

Tambien disponemos de generadores de documentacion automatizados tales como docco o dox pero en ambos casos debemos implementar antes node.js lo cual puede complicar esto un poco mas, pero sin importar el tipo de documentacion debemos contemplar cada parametro y opcion disponible de nuestro plug-in, para hostearlo podemos hacerlo donde queramos, recuerden que para las librerias hemos ido a paginas propias del autor, pero como mencionamos en los consejos otra gran alternativa es hacerlo enn Github ya que es gratuita y puedes recibir colaboracion de otras personas para su mantenimiento, y para publicitarlo debemos registrarlo en el registro oficial de plug-in de jQuery:

https://plugins.jquery.com/

Anuncios

Las instrucciones para proveer informacion sobre el plug-in y publicacion en el registro pueden ser encontradas en:

https://plugins.jquery.com/docs/publish/

Anuncios

No se preocupen si les resulta desalentador al comienzo, dado que deberan agregar un enlace de esta al repositorio Github de jQuery, crear un archivo de manifiesto de tipo JSON y enviar un version etiquetada de plug-in al respositorio remoto, pero no se preocupen las instrucciones son detalladas, para mayor informacion pueden contactarse mediante:

Anuncios

En resumen, hoy hemos visto como distribuir nuestros plug-in, pero antes una serie de consejos para presentar un plug-in saludable y libre de inconvenientes, despues vimos lo que debemos crear junto a este para poder subirlo al registro de plug-in, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50