Plugins

 

 

Lista de Plugins para Sites

Plugins para sitesLista de plugins úteis para incluir nos web sites. Procuramos escolher excelentes plugins, mas que sejam gratuitos.

Nós aqui na 360 Graus, não tentamos reinventar a roda, quando existem soluções excelente, testatas e gratuitas.

Mas atenção, o uso de plugins nos sites deve ser feito com peso e medida. Não devemos usar apenas porque  nos parece interessante e porque transmite um ar de sofisticação tecnolgógica.

O  uso inadequado, para além de trazer problemas graves de usabilidade, torna os sites pesados e transmite  uma sensação de amadorismo tecnológico.

A tecnologia deve ter um objectivo, e não ser um fim em si mesmo!


Upload de Ficheiros

FancyUpload: componente que permite fazer o upload de ficheiros baseado em MooTools.

Bookmarks online

Aconselhamos o seu uso em praticamente em todos os sites. Permite aumentar oPage Ranking das páginas e tornar o site muito mais social. No fundo permite criar um rede de links a apontar para o site / página.

Addthis.com: botão de bookmark da página de partilha em sites sociais. Talvez o mais conhecido e utilizado.

sharethis.com : parecido com o Addthis.com , mas em termos de desenvolvimento permite ter acesso ao serviço via API's.

Sistema de Comentários

Em sites com um grande envolvimento da comunidade de utilizadores, o sistema de comentários é uma peça fundamental.

Já aconteceu a todos estar a ler um artigo, e achar os comentários desse mesmo artigo tão ou mais interessantes, que o respectivo artigo.

Disqus.com : Sistema de comentários para adicionar aos sites. A sua implementação é muito simpes e rápida. É o sistema de comentário usada no site da 360 Graus.

Chat - mensagens

Este tipo de plugin, quando bem utilizado, pode permiter captar um potencial cliente de uma forma imediata. Mas atenção, este plugin, "obriga" a que do outro lado esteja uma pessoa sempre disponível e com know-how para responder de forma acertiva às questões colocadas.  Para não retirar credibilidade, essa mesma pessoa tem que saber-se exprimir de forma clara.

Google Talk Chatback Badge: plugin da Goolge que permite adicionar a funcionalidade de chat.
Porque achamos importante ter esta funcionalidade no site da 360 Graus - para estimular a acção por parte dos potenciais clientes - escolhemos este plugin

cbox.ws:
Adicionar chat ao site.
Esta ferramenta duas versões:

  • Basic Cbox : gratuita
  • Premium Cbox : versão paga

Ver a página de features do Cbox.

Formulários Online

wufoo.com : formulários online
Permite criar formulário sofisticadas e com validação dos campos, para inserir nos sites. Uma solução interessante,  para criar formulários ad-hoc, sem recorrer a programação. A versão básica é gratuita

docs.google.com:  é possível criar formulários a partir das folhas de cálculo do Google. Opção muito interessante, e com algum grau de customização.

Motores de Busca internos aos Sites

Normalmente a implementação de um motor de busca interna ao site, é sempre  um processo complicado e requer valências técnicas apreciáveis. Tanto assim é, que na maior parte dos sites os motores de busca são uma experiência pouco aconselhável, muitas vezes frustrante.

Só faz sentido integrar um motor de busca num site, se este tiver dimensão em termos de conteúdo (texto) que o justifique, caso contrário, o universo de pesquisas é muito curto, resultante numa má experiência por parte dos utilizadores.  Assim , em sites pequenos devemos apostar, isso sim, na usabilidade do mesmo.

Google Site Search
Permite que os sites tenham um motor de busca interno, utilizando a tecnologia da Google.
Toda a infraestrutura  é alojado nos motores de busca, isto é,  on demand indexing
 
A comunicação com o Google Site Search é feita via XMl, o que permite construir um motor de busca integrado com o design ( branding) do site.

Preços: para sites até 5000 páginas, o que é mais que suficiente para a grande maioria dos sites, custa 100 dólares por ano. Nada mau.

jrank.org : integrar nos sites um motor de busca interno. Para uma integração total,  é necessário utilizar a tecnologia XML ou JSon.
O problema com esta ferramenta online, é a pouca documentação existente na internet.

Inquéritos

Nos casos de sites com grande tráfego, pode ser interessante, criar inquéritos online.

polldaddy.com

Mapas

Loki : permite  e adicionar a localização exacta num website, com algumas linhas de JavaScript. Vale a pena ver a galeria do Loki,

uma montra de sites parceiros, que se baseiam na utilização desta ferramenta.

Comércio electrónico

Neste momento existem opções gratuitas que permitem com grande facilidade, dotar um site com funcionalides de loja online.

simpleCart(js) + PayPal
Cesto de compras em JavaScript com possibilidade de ligação a PayPal.

É uma excelente ferramenta para criar um loja online, sem grande complicações e programação.

Tavez a solução para sites, que a determinada altura pretendem ter uma loja online, e tenham um orçamento baixo.
Ver um exemplo prático de uma  loja online  que usa o simpleCart(js).

fatfreecart.com
Mais um cesto de compras em Javascript, que pode ser integrado em qualquer tipo de site.

Editores HTML

fckeditor.net : um editor de texto muito sofisticado, ideal para sistemas de CMS.
Este foi o editor html que escolhido para editar conteúdos no CMS SiteBuilderdesenvolvido pela 360 Graus.

wmd-editor.com : editor de texto muito simples, mas com uma boa imagem. 
Excelente, para utilizar num sistema de comentário de sites.

Para saber o que é que neste momento existe ao nível de editores html, ver esteartigo.

Ferramentas Várias

DesignFTP.com
Permite fazer uploads de ficheiros, para servidores ftp,  através de uma página web.
Add-on muito útil, para áreas privadas que necessitem de fazer upload de ficheiros.
A sua utilização é extremamente fácil, basta colocar num página html, o códifgo em JavasSript, fornecido pelo site.

Outros Plugins

MP3 Player Streaming MP3 com Playlist
MP3 Player construido em flash com um design moderno, para colocar nos sites.

Dipity.com 
Widget tipo TimeLine. Permite mostrar numa linha do tempos eventos,  com possibilidade de integração de vídeo e imagens. Este plugin tem um visual absolutamente fantástico.
Permite também a  integração com Feed RSS. 

Sites de Plugins em Flash

Os sites em flash têm grande problemas de usabilidade e são incapazes de atrair utilizadores a partir dos motores de busca. O nosso conselho vai no sentido de evitar ao máximo a construção de sites em flash.

No entanto existem muitos plugins criados em flash, que em muitas situações, faz  todo o sentido integrar em páginas html. Por  exemplo, players de vídeo.

Videohive.net : site com muitos plugins em flash. O preço de cada plugin é normalmente muito baixo.

flashden: site com plugins em flash ( mp3 player, video player, etc)

Catálogos Online

wobook.com : em vez dos tradicionais PDF online, este site permite criar catálogos online  verdadeiramente fantásticos.

https://sites.360graus.pt/

 

 

 

https://digifilia.com/dhttps://digifilia.com/Desenvolvendo plugins com jQuery

Criar um plugin para jQuery pode ser uma ótima forma de reaproveitar suas funções e torná-las acessíveis para qualquer elemento, em qualquer projeto. Neste tutorial, vou mostrar alguns conceitos sobre o desenvolvimento de plugins e ensinarei como fazer um plugin simples, que iguala alturas de divs tendo como parâmetro o tamanho da maior.

Plugins jQuery: funções vs. métodos

Os plugins jQuery podem pertencer a duas categorias: funções personalizadas e métodos personalizados. A diferença entre elas é simples: enquanto uma função personalizada é uma simples função anexada ao código, um método pode ser aplicado a diversos tipos de seletores e encadeados com outros métodos. Na prática:

$.fn.olaMundo = function() {
   return this.each(function(){
      this.append("<h1>Olá Mundo!</h1>>");
   });
});

Esse é um método personalizado. Ele pode ser aplicado a elementos da seguinte forma:

$("div").olaMundo();

Já este é o código de uma função personalizada:

$.olaMundo = function() {
$("body").append("<h1>Olá Mundo!</h1>")
};

Ela não pode ser aplicada a nenhum seletor específico e deve ser chamada diretamente para ser executada:

$.olaMundo();

A decisão de fazer um plugin em forma de função ou método fica por conta do freguês e de suas necessidades. Porém, um método possui muito mais possibilidades que uma função personalizada, e a maioria dos plugins jQuery é desenvolvida como método. Nesse tutorial, optei por desenvolver o plugin em forma de método para mostrar suas diferentes funcionalidades: encadeamento, configurações, aplicação em seletores, etc.

Desenvolvendo um método personalizado: a estrutura.

Antes de mais nada, é preciso criar um arquivo externo tipo Javascript para o plugin. A nomenclatura deve ter o seguinte padrão: jquery.nomedoplugin.js . Como mencionado anteriormente, o plugin igualará a altura de elementos de um mesmo seletor, então, o arquivo do plugin se chamará jquery.igualaraltura.js . Não se esqueça de chamar o arquivo do plugin no documento html em que ele será utilizado.

A estrutura básica de um plugin jQuery é bem simples:

jQuery.fn.nomedafuncao = function() {
     // código que executa a função
};

No exemplo acima, o habitual atalho “$” foi substituído pela nomenclatura “jQuery”, evitando assim conflitos com outras bibliotecas de Javascript que também usam o “$” como atalho para seletores. Porém, desenvolver um plugin inteiro utilizando “jQuery”, além de ser trabalhoso, vai contra os hábitos de muitos desenvolvedores já tão acostumados a chamar elementos via “$”. Para poder utilizar o símbolo “$” à vontade dentro do plugin sem entrar em conflito com outras bibliotecas, o segredo é encapsular essa função inicial dentro de outra função anônima, que permitirá ao atalho $ se restringir ao plugin. Com essa nova função, o código fica assim:

(function($) {
   $.fn.nomedafuncao = function() {
     // código que executa a função
    };
})(jQuery);

Antes de prosseguir, é importante relembrar os passos:

  • Criar um arquivo externo jquery.nomedoplugin.js
  • Linkar o arquivo externo ao documento via tag script.
  • Inserir a função inicial $.fn.nomedafuncao, de preferência encapsulada na função anônima “($)” que permitirá que o símbolo “$” seja utilizado sem entrar em conflito com outras bibliotecas.

A função igualarAltura()

A atuação da função é bem simples: uma matriz é criada para armazenar a altura de todos os elementos do seletor. Em seguida, o loop .each iterará pelos elementos do seletor e, através do .push, armazenará os valores na matriz. Este é o código:

var Taltura = new Array();
        this.each(function() {
			altura = $(this).height();
			Taltura.push(altura);
				});

Aqui vale uma explicação muito importante sobre os seletores this/$(this). Dentro da função principal, tanto faz utilizar um ou outro, sendo que ambos se referem ao conjunto de elementos sobre o qual será aplicado o método que estamos criando com a função. Porém, na closure que puxa a altura de cada elemento, foi utilizado o seletor $(this) pelo seu valor contextual, que se refere a um único elemento dentro do loop que checa todos os elementos do conjunto sobre o qual o método está sendo aplicado.

Capturada a altura dos elementos, é hora de verificar qual a maior, e aplicá-la aos demais elementos. A comparação dos números da matriz que contém todas as alturas é feita com o método sort() e armazenada na variável “maior” – que por sua vez é definida como a altura dos seletores sobre os quais o método igualarAltura() está sendo aplicado. O código fica assim:

var Taltura = new Array();
        this.each(function() {
			altura = $(this).height();
			Taltura.push(altura);
				});

var maior = Taltura.sort(function(a,b){return a - b}).slice(-1);
 this.css({height: maior + "px"});

Se testado o código, ele já estará funcionando. Porém, para que essa função seja um plugin de fato, ela deve retornar os elementos sobre os quais o método é aplicado, ou seja, o this. Isso permite o encadeamento do método, ou seja, faz com que ele possa ser utilizado junto com outros métodos, como no exemplo a seguir:

$("div").igualarAltura().css({backgroundColor: "#F00"})

Este é o código completo do plugin:

(function($){
    $.fn.igualarAltura = function() {
		var Taltura = new Array();
                this.each(function() {
			altura = $(this).height();
			Taltura.push(altura);
				             });

                var maior = Taltura.sort(function(a,b){return a - b}).slice(-1);
	        this.css({height: maior + "px"});
		return this; 
                }
})(jQuery);

Definindo configurações para o plugin.

Através do método $.extend() é possível definir as configurações editáveis do plugin, bem como pré-definir seus valores. Isso faz com que o desenvolvedor não tenha que passar muitos argumentos ao chamar o plugin, já que seus valores são declarados no próprio código do plugin. Para definir esses valores, primeiro definimos como “options” o parâmetro da função igualarAltura, depois criamos a variável com as configurações que posteriormente seráo mescladas ao parâmetro options com o método extend(). Eis o código:

$.fn.igualarAltura = function(options) {


        config = $.extend({
        color : 'white',
        background : 'blue',
	paddingBottom: '20px'
        }, options);

E, para aplicar essas configurações nos seletores que recebem o método igualarAltura, basta chamá-las no mesmo código em que havíamos definido a altura dos elementos anteriormente:

this.css({
		 height: maior + "px",
                
		 color : config.color,
                 background: config.background,
		 paddingBottom: config.paddingBottom
                
		 });

Lembrando que essas configurações podem ser sobrescritas na hora de chamar o método:

    $("div").igualarAltura({
        color : 'red',
        background : '#0F0',
	paddingBottom: '50px'
});

Esses são os passos essenciais para a construção de um plugin jQuery. As possibilidades de um plugin, porém, são infinitamente maiores que as mostradas nesse post. Caso tenha interesse, vale a pena se aprofundar no assunto. O próprio site da jQuery oferece uma rica documentação sobre plugins, um ótimo ponto de partida para quem quer criar os próprios métodos e compartilhá-los com a comunidade de desenvolvedores.

Bibliografia:

jQuery Cookbook – O’Reilly/Novatec. Ver publicação.

Sobre o autor

Heloisa Biagi é designer e desenvolvedora front-end há 5 anos e pós graduando em Estratégias de Inovação Digital no Senac. Toma XHTML no café, come scripts com jQuery no almoço, adoça seu cafézinho com CSS e à noite faz uma boquinha com HTML5 só pra não ir dormir com fome.
Leia mais posts desse autor!