miércoles, 17 de diciembre de 2014

Alias personalizado y ocultar código en plugins jQuery

Cómo crear un alias personalizado a $, para mejorar la compatibilidad en todos los contextos, y ocultar el código privado de los plugins jQuery. 
En principio un plugin jQuery está pensado para que todas las personas lo puedan usar en sus páginas web y de hecho, hemos aprendido muchas convenciones para potenciarlo a lo largo de los capítulos dedicados a la creación de plugins en el Manual de jQuery. En este artículo vamos a aprender otra buena práctica que ayudará a que nuestros plugins funcionen correctamente en todos los sitios web. Se trata de ocultar de una manera sencilla todo el código de nuestros plugins y utilizar un alias para la variable $ que puede dar conflictos con otras librerías. 
Algo que nos ayudará de dos maneras: El símbolo $ se utiliza en muchos otros frameworks y componentes Javascript y si el web donde se coloque el plugin utiliza alguno de ellos, pueden ocurrir conflictos, algo que no ocurrirá en el caso que utilicemos un alias. En el código de los plugins puedes utilizar tus propias variables o funciones, que tendrán el nombre que hayas querido. 
Pero alguno de esos nombres puede que ya los utilicen otros programadores en sus páginas, lo que puede generar conflictos también. Por eso no es mala idea ocultar tu código y hacerlo local a un ámbito propio. Todo esto se consigue colocando todo tu código dentro de una función que se invoca según se declara.

(function() {
//Código de tu plugin
//puedes crear tus variables o funciones
//sólo serán visibles aquí
var loquesea;
function algo(){
}
})(); //la función se ejecuta instantáneamente

Además, a esa función podríamos enviarle la variable "jQuery" que contiene toda la funcionalidad del framework. Esa variable la recibirás en el parámetro con cualquier alias, como se puede ver en el siguiente código:
(function($) {
//código del plugin
})(jQuery);
Como la variable jQuery siempre es una referencia al framework correcta, puedes estar seguro que no tendrá conflictos con otras librerías. Luego la recibimos con el nombre $, pero en ese caso ya estamos en el ámbito de la función, donde las variables locales pueden tener el nombre que nosotros queramos.
Nota: En este caso estamos recibiendo la variable jQuery con el nombre $, pero podríamos utilizar cualquier otro nombre para el alias a
jQuery

No hay comentarios:

Publicar un comentario