JavaScript
API, Framework ou Biblioteca
Você sabe a diferença entre API, Framework e Biblioteca? Você sabe quando está usando uma biblioteca e quando esta usando um framework? Por exemplo, quando você diz usar o JQuery no projeto, você diz usar a biblioteca JQuery ou o Framework JQuery?
Se você souber a diferença e discordar do que for exposto aqui, nos envie suas criticas ou sugestões de melhoria, desde que embasadas em fontes e explicações sólidas.
É importante para os profissionais de TI dominar alguns conceitos, ao menos aqueles que são comuns no dia a dia do desenvolvedor. Determinada definição pode ser interpretada de forma diferente, por pessoas diferentes. Por esse motivo, tentarei abranger ao Máximo possível na hora de passar as definições.
API
Uma API segundo a definição do Wikipédia é a sigla de Application Programming Interface (ou Interface de Programação de Aplicativos) e representa um conjunto de rotinas e padrões estabelecidos por um software para a utilização de suas funcionalidades por programas aplicativos que não querer envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.
Basicamente a API criada é baseada em determinado software, por exemplo, a API do Facebook disponibiliza as informações para que o desenvolvedor possa aplica-las em uma página web, ou seja, o Facebook disponibiliza o meio para que as pessoas possam usufruir de seus recursos, sem que haja a necessidade de modificações na implementação do Facebook nem no seu software. A API faz isso para você.
Vantagens
- Os criadores de software podem acelerar o processo de desenvolvimento ao integrar facilmente ferramentas e sistemas remotos.
- As empresas não precisam pagar por diferentes aplicativos de software e por hardware separado para fazê-los funcionar.
- Ao integrar as funções aos aplicativos existentes, as empresas evitam a necessidade de treinar pessoal de informática e funcionários no uso e administração de novo software.
- A empresa que abre sua API permite que os consumidores acessem seus serviços de maneiras mais novas e eficientes, o que reforça o reconhecimento de marca e a fidelidade dos usuários.
Framework
De acordo com a Wikipédia “em desenvolvimento de software, um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Um framework pode atingir uma funcionalidade especifica, por configuração, durante a programação de uma aplicação. Ao contrario das bibliotecas, é o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle”.
Os Frameworks facilitam o desenvolvimento de software, permitindo que os desenvolvedores se ocupem mais com os requerimentos do software do que com os detalhes tediosos, de baixo nível do sistema. Com o uso do Framework, os desenvolvedores voltam a ter o controle de seu tempo e de seus códigos-fontes, as tarefas repetitivas são minimizadas, os projetos são concluídos em menos tempo, os padrões são seguidos e a programação volta a ser uma arte (claro, se bem seguidos).
Um Framework é composto por classes/métodos que são um conjunto de instruções pré-preparadas para realizar determinadas tarefas. Um Framework dita as regras, por exemplo, no caso de um Framework JavaScript, para selecionar um elemento, delegar um evento etc. Ou seja, o Framework é o carro chefe. Seu uso é opcional e requer estudo, pois existem vários Frameworks cada um com sua peculiaridade particular. Há bons motivos para você utilizar um Framework:
Benefícios
- Encapsulamento da complexidade.
- Agilidade.
- Código elegante.
- Trabalho setorizado.
Bibliotecas
Conceito de bibliotecas pela Wikipédia “Na ciência da computação, biblioteca é uma coleção de subprogramas utilizados no desenvolvimento de software. Bibliotecas contêm código e dados auxiliares, que provém serviços a programas independentes, o que permite o compartilhamento e a alteração de códigos e dados de forma modular”.
Ou seja, ao utilizar uma biblioteca você está no controle da situação, diferente do que ocorre em um Framework, por exemplo, que dita às regras do jogo.
Vantagems
- As classes são instanciadas pelo cliente.
- O cliente chama as funções.
- Não tem fluxo de controle pré-definido.
- Não tem interação pré-definida.
- Não tem comportamento padrão.
Um exemplo muito bom para uma dessas definições é o JQuery, você obteve a definição de API, Framework e Biblioteca. Agora, você pergunta, em qual categoria o JQuery pertence, o que é JQuery?
No próprio site do desenvolvedor do JQuery, obtém-se esta resposta, o JQuery é uma Biblioteca JavaScript rápida, pequena e rica em recursos, ainda restam dúvidas?
Na verdade esse é um assunto muito polêmico. Até algum tempo atrás, no próprio site oficial, o JQuery era definido como um Framework, atualmente, está bem explicito que é uma biblioteca. Mas, por que tanta dúvida da comunidade e dos próprios desenvolvedores?
O JQuery simplifica diversas coisas, oferecendo um desenvolvimento mais rápido. JQuery é projetado para mudar a maneira com que se escreve JavaScript, mas ele não dita a estrutura e nem o fluxo em que a aplicação deve ser montada, consequentemente, por esses motivos, não deve ser considerado um Framework.
Dúvidas, criticas os sugestões comentem abaixo que teremos o prazer em ajuda-los. =)
Gigasystems Login:
Informe seu e-mail abaixo para continuar!
XVeja Também:
Artigos Relacionados a categoria: JavaScript
Criando Gráficos com Chart.js com legenda
22 June de 2015
Combine dados de POST serializados com um Objeto usando jQuery
11 March de 2015
Envio de Formulário com Ajax
03 February de 2015
Alert em Javascript
30 January de 2015
Olá, deixe seu comentário para API, Framework ou Biblioteca