Sitegui - APIs (Versão 3.0 - 18/11/2012)

1. Introdução

1.1. Pra que serve uma API?

APIs são usadas para facilitar o desenvolvimento de um projeto, usando, para certas tarefas, um código já pronto e testado (as APIs).
Elas permitem ao desenvolvedor mais liberdade para pensar em como seu projeto vai funcionar, em vez de perder tempo com detalhes mais operacionais.

1.2. O que é uma API?

Uma API é uma interface entre o programdor e uma determinada aplicação. Geralmente se trata de um conjunto de funções que o programdor pode usar para realizar determinda tarefa.
Uma API é um ótimo exemplo de abstração, já que quem a usar não precisará saber exatamente como ela trabalha internamente, somente como se comunicar com ela (sua interface).

1.3. Qual a intensão desse projeto?

Esse projeto objetiva reunir todas as APIs desenvolvidas e usadas em outros projetos desse site.
Todos os códigos são livres e podem ser utilizados por qualquer um, em qualquer lugar que for necessário.
Boa parte da documentação e da explicação de como usar cada API está presente no próprio código fonte, na forma de comentários iniciais.

1.4. Como usar?

Praticamente todas as APIs daqui são feitas para o ambiente Web, abrangendo várias linguagens (JS, AS, PHP), portanto o modo de usar varia de acordo com a linguagem.
Em JavaScript, inclua o arquivo na página HTML com <script src="arquivoApi.js"></script>
Em ActionScript, inclua o arquivo no primeiro quadro com include "arquivoApi.as";
Em PHP, inclua o arquivo no código com require_once "arquivoApi.php";
Por favor, não inclua arquivos em JavaScript direto desse site, não é garantido que os nomes serão mantidos por muito tempo. Baixe a API para seu computador e, se necessário, depois faça o upload para seu servidor.

2. APIs disponíveis

2.1. Ajax

2.1.1. Resumo

Ajax é uma ferramenta muito interessante para se usar em páginas de sites, já que permitem que a página envie dados para o servidor sem que seja necessário atualizar toda a página. Um exemplo clássico é sua aplicação em formulários onde se deve escolher um nome de usuário: quando o usuário completar esse campo, a página, por meio do Ajax, envia ao servidor essa informação para ver se o nome escolhido já está em uso ou não. Toda a comunicação é feita sem que a página tenha de ser recarregada.
Saiba mais sobre Ajax na Wiki da Mozilla.

Atualmente na versão 2.1 disponível em JavaScript.

2.1.2. Uso

Chame a função Ajax com um único parâmetro, um objeto com várias propriedades (veja todas no código em si). Um exemplo para a situação acima seria:
Ajax({url: "ajax.php", dados: {nome: "sitegui"}, funcao: trataRespostaServidor});

Além da função Ajax, também há o construtor CanalAjax que permite enfileirar as requisições para serem executadas em ordem, uma após a outra:

var canal = new CanalAjax, nomes = ["sitegui", "ajax", "api", "canal"], i
for (i in nomes)
	canal.enviar({url: "ajax.php", dados: {nome: nomes[i]}, funcao: tratarResposta})

2.1.3. Código

Acesse o projeto no GitHub

2.2. Bandeco

2.2.1. Resumo

Essa é uma API baseada em requisições HTTP para interagir com o cardápio do bandeco, permitindo votar nos pratos e ver a opnião dos outros usuários.
Todas as informações da API estão na página dela

2.2.2. Código

Acesse o projeto no GitHub

2.3. Conexão

2.3.1. Resumo

Essa API permite conectar vários usuários por meio de um servidor central e se divide em duas partes: o código no lado do servidor e no lado do clente. O lado do servidor é feito em PHP em conjunto com o banco de dados MySql. O lado do cliente deve ser feito em JavaScript. A comunicação é feita por meio de "pacotes", que podem ser enviados pelos clientes e pelo servidor.

A versão 2.0 foi totalmente reescrita, baseada nas experiências com as primeiras versões (1.0 e 1.1), porém não são compatíveis e mudaram bastante. O suporte para ActionScript (Flash) foi descontinuado.

Atualmente na versão 2.1

2.3.2. Uso

Crie um banco de dados no servidor e crie as tabelas como especificado no arquivo SQL. Toda a estrutura da API está esquematizada no arquivo UML: três classes no cliente, três no servidor. Consulte a documentação em cada arquivo. No lado do cliente é necessário a API Ajax versão 1.2 (ou maior)

2.3.3. Código

Acesse o projeto no GitHub

2.4. Query

2.4.1. Resumo

Essa API fornece uma camada de abstração para fazer consultas (queries) ao banco de dados.

2.4.2. Uso

A API consiste de uma classe com várias propriedades e métodos úteis.

A descrição detalhada do funcionamento de cada uma está no código fonte e no leia-me do projeto do GitHub

2.4.3. Código

Acesse o projeto no GitHub

Fale Conosco

Qualquer dúvida, sugestão ou bug, Fale Conosco