Trata-se de ocultar de uma maneira simples todo o código de nossos plugins e utilizar um alias para a variável $ que pode dar conflitos com outras bibliotecas. Algo que nos ajudará de duas maneiras:
O símbolo $ se utiliza em muitos outros frameworks e componentes Javascript e se a web onde se coloca o plugin utiliza algum deles, podem ocorrer conflitos, algo que não acontecerá caso utilizemos um alias.
No código dos plugins você pode utilizar suas próprias variáveis ou funções, que terão o nome que você tenha querido. Porém, alguns desses nomes podem já ser utilizados por outros programadores em suas páginas, o que pode gerar conflitos, também. Por isso não é má ideia ocultar seu código e fazê-lo local a um âmbito próprio.
Tudo isto é obtido colocando todo seu código dentro de uma função que se invoca segundo se declara.
(function() {
//Código de seu plugin
//você pode criar suas variáveis ou funções
//só serão visíveis aqui
var loquesea;
function algo(){
}
})(); //a função se executa instantaneamente
Além disso, poderíamos enviar a essa função a variável "jQuery" que contém toda a funcionalidade do framework. Você receberá essa variável no parâmetro com qualquer alias, como pode ser visto no seguinte código:
(function($) {
//código do plugin
})(jQuery);
Como variável jQuery sempre é uma referência ao framework correta, você pode estar seguro de que não terá conflitos com outras bibliotecas. Depois a recebemos com o nome $, mas nesse caso já estamos no âmbito da função, onde as variáveis locais podem ter o nome que queiramos.
Como vimos neste artigo, utilizar essa proteção para nossos plugins é uma tarefa simples, não requer muito código e as vantagens são importantes.