Categoria: Application Development

Application Development Cloud

Learn: Desenvolvendo (APIs) Application Programming Interface

Veja nesse artigo como desenvolver Application Programming Interface (APIs) e quais são os conceitos fundamentais relacionados com o desenvolvimento de APIs de boa qualidade.Em termos mais simples, podemos dizer que as APIs permitem que um software converse com outro software. Mas o que é API ao pé da letra?API significa “Application Programming Interface ou, em português, Interface de Programação de Aplicativos. Esta interface de programação é um conjunto de padrões de programação que permitem a construção de aplicativos e a sua utilização. API é um conceito relativamente amplo.Na maioria das vezes uma API se comunica com diversos outros códigos interligando diversas funções em um aplicativo. Um exemplo de uma API muito utilizada é a API dos sistemas operacionais que possuem diversos métodos e se comunicam com diversos processos do sistema operacional.Neste artigo, nós passaremos por conceitos fundamentais sobre APIS, como e porque criar uma API, a importância do versionamento, como podemos fazer uma boa API e como verificar a qualidade da API através de conceitos chaves como:- Compreensibilidade- Consistência- Descoberta- Facilidade em tarefas simples- e preservação de investimento.Porque criar uma APICom uma API podemos criar sistemas melhores e minimizar o entendimento deles.Através do reuso também podemos nos concentrar no mais importante: a lógica da aplicação. Desssa forma, podemos reutilizar frameworks e bibliotecas construídos por terceiros. Por exemplo, ninguém escreve um banco de dados do zero, pelo contrário, reutilizamos o que já existe e alteramos o código fonte para evoluir o código e ou adaptá-lo a alguma necessidade especial que temos em nosso projeto.Não é necessário saber tudo de uma API, basta que saibamos aquilo que atenda as nossas necessidades, para isso é sempre interessante possuirmos a documentação em mãos. A API minimiza o entendimento de todos os detalhes de um componente e assim serve como um “alicerce”.VersionamentoO sistema de numeração utilizado para sistemas de software é baseado em números naturais com um ponto os separando. Este ponto é necessário para acomodar “não linearidades” no desenvolvimento do software. Isso ocorre porque não existe uma direção única de desenvolvimento de um software, mas sim muitos ramos representando correções de bugs, correção de um bug que gerou outro bug, e assim por diante.Dessa forma, uma versão 1.1.1 significa que ela contém menos funcionalidades que uma versão 2.0 que foi lançada antes da versão 1.1.1.Abaixo um exemplo de um versionamento de software:Cada parte de uma aplicação modular tem um número de versão, geralmente um conjunto de números naturais separados por pontos, tal como “1.34.8”. quando uma nova versão é lançada, ela deve ter um novo e maior número de versão, como 1.34.10, 1.35.1 ou 2.0.A cada novo lançamento é importante mantermos todos os contratos que funcionavam nas versões anteriores funcionando nas novas também.Outra situação importante é nos mantermos informados das alterações nas dependências externas.Como fazer uma boa APIAlgumas pessoas pensam que as APIs são compostas apenas de classes, métodos e javadoc usado para documentá-los. O javadoc é uma importante ferramenta que fornece uma boa visibilidade da API, porém ainda assim uma API é um termo muito mais amplo do que essa visibilidade poderia indicar. Uma API inclui muitos outros tipos de interfaces.O exemplo mais óbvio e simples de uma API é um conjunto de classes, seus métodos e seus campos. Provavelmente se estivermos produzindo uma biblioteca em Java iremos empacotá-la num arquivo JAR contendo essas classes.Essas classes e seus membros se tornarão uma API da biblioteca.Uma situação muito importante de cuidarmos de uma API é a estrutura das informações de saída. a implementação padrão do toString() em objetos Java que imprime apenas nomes de classe e códigos objeto de hash hexadecimais não é muito útil.Para fins de depuração, muitas vezes substitui-se os métodos toString() para retornar informações mais significativas. Dessa forma, os objetos sempre devem trazer informações úteis. Caso contrário o cliente tentará traduzir as mensagens tentando encontrar algo significativo. Um exemplo disso e que foi concertado na API Java era a antiga Exception.printStackTrace (OutputStream). Não existia uma forma de entender a origem de uma exceção a não ser que pudéssemos traduzir esta saída. na versão Java 1.4 esse problema foi concertado através de um novo método getStackTrace() que retorna as mesmas informações porém num formato muito mais estruturado. Assim, não foi mais necessário uma análise e um parse na informação textual.Exemplos de APIS que usamos todos os dias:Pagamentos online (PayPal, Cielo, PagSeguro, Moip)APIs permitem executar pagamentos e transferências sem sair do site da loja, ou fornecedor do serviço.Dessa forma, usando as APIs das carteiras digitais, o comprador não precisa colocar os dados do cartão de crédito no site da loja, e sim, apenas seu usuário e senha do PayPal, autorizando a compra.As informações já ficam armazenadas com o provedor de pagamento. Muito mais prático!Oferecer soluções de pagamentos confiáveis dentro da loja combate a resistência do cliente, que muitas vezes tem receios de ter sua segurança de dados comprometida e despesas indevidamente geradas no seu nome por cartões clonados, por exemplo.O resultado? Melhores taxas de conversão e clientes mais seguros e satisfeitos!Localização (Google Maps, Foursquare)Através da integração das APIs, é possível criar aplicativos próprios baseados na localização da sua empresa ou que reagem à posição do seu usuário!Elas permitem ainda visualizar dados sobre topografia e geografia e ajudam a determinar previsões de clima.Uma ideia genial é a do aplicativo Zombies, Run!, que se conecta ao GPS do celular (através de uma API do sistema) para traçar sua rota de corrida no Maps, unindo exercício físico a um jogo de sobrevivência (e fuga) em um apocalipse zumbi.Muito criativo!Também é comum que serviços como o Google Maps se conectem a outras APIs, como as de empresas de transporte urbano, para determinar rotas de horários.Uma API, que consulta outra e mais outra API!Curiosidade: você sabia que a API do Google Maps começou a ser usada com engenharia reversa? Logo após o serviço ser lançado, alguns desenvolvedores tiveram várias ideias de aplicações e exploraram o código para colocar suas ideias em prática.Estamos vivendo a nova Economia das APIs e é preciso se adaptar aos tempos. Empresas sem uma estratégia nesta área correm o risco de ficar para trás!Para o usuário final, as APIs podem passar despercebidas mas, para o seu negócio, jamais.Fontes: blog aws / devmedia

LER MAIS ARTIGOS

Siga os canais da Kumulus nas redes sociais:

Facebook

Instagram

Youtube

Envelope

Social media & sharing icons powered by UltimatelySocial