Framework Vs. API
e tomemos por exemplo que a Microsoft chama a. NET um Framework enquanto a Sun chama-lhes plataforma ... então poderia ser também uma decisão de negócio / marketing sobre como chamar uma " coleção de bibliotecas."?
13 answers
Os padrões de Projecto fornecem as seguintes definições:
- toolkits: "muitas vezes uma aplicação irá incorporar classes de uma ou mais bibliotecas de classes predefinidas chamadas toolkits. Toolkit é um conjunto de classes relacionadas e reutilizáveis projetado para fornecer funcionalidade útil, de propósito geral". Frameworks: "um framework é um conjunto de classes cooperantes que constituem um design reutilizável para uma classe específica de software".
Além disso, e talvez mais importante, "o quadro dita a arquitectura da sua aplicação": a inversão do controlo é uma das características dos quadros (ver Martin Fowler sobre isto); em vez de ter a sua aplicação chame APIs específicos para implementar um comportamento específico, é a estrutura que chama o seu código.
Eu sempre pensei que o framework era a coisa toda, código interno, API's, etc.
Enquanto a API é apenas o bit que você usa quando quer fazer uso do framework.
Em outras palavras, o framework. net consiste nas bibliotecas. Net, Todas as línguas e assim por diante. A API é a forma como você chama as funções.
(isto é, o fluxo de controle do programa global não é ditado pelo chamador, mas pelo framework)
Quando se refere aos frameworks da linguagem (como o Java Framework ou o. NET Framework), você na verdade inclui mais do que apenas bibliotecas e suas APIs (o que seria mais limitado a Framework de Software se essas bibliotecas fornecerem uma inversão de controle).
Uma estrutura linguística inclui os ambientes de desenvolvimento e execução que irão chamar ao seu código (para compilá-lo ou executá-lo).
É por isso que o Framework.Net é um "Framework".
Java pode referir-se aos seus Frameworks (JDK, JRE) como um "plataforma Java" a fim de enfatizar o seu recurso" plataforma independente " linguagem de programação.
Uma plataforma é o hardware ou ambiente de software no qual um programa é executado. (incluindo Microsoft Windows, Linux, Solaris OS e Mac OS).
a maioria das plataformas pode ser descrita como uma combinação do sistema operacional e hardware subjacente.
A plataforma Java difere da maioria das outras plataformas na medida em que é uma plataforma somente de software que funciona em cima de outras plataformas baseadas em hardware.A Plataforma Java tem dois componentes:
- A Máquina Virtual Java
A Java Interface de programação de aplicações (API)
Como o seu nome sugere (interface de programação de aplicações) a API é apenas a interface do framework.
A Library é um pedaço de código que você pode chamar a partir de seu próprio código, para ajudá-lo a fazer as coisas mais rapidamente/facilmente. Por exemplo, uma biblioteca de processamento de Bitmap irá fornecer facilidades para carregar e manipular imagens de bitmap, poupando-o a ter de escrever todo esse código para si mesmo.
Uma API (interface de programação de aplicações) é um termo que significa as funções / métodos numa biblioteca a que pode chamar para lhe pedir para fazer coisas por si - a interface para o biblioteca.
A framework é uma grande biblioteca que fornece muitos serviços (em vez de talvez apenas uma capacidade focada como a maioria das bibliotecas). Por exemplo, o.Net fornece um framework de Aplicação - Ele fornece a maioria (se não todos) dos serviços que você precisa para escrever uma vasta gama de aplicações - então uma "biblioteca" fornece suporte para praticamente tudo o que você precisa fazer. Muitas vezes, um framework fornece uma base sobre a qual você constrói seu próprio código, em vez de construir uma aplicação que consome código da biblioteca.
Software Framework: é um projeto reutilizável para um sistema de software (ou subsistema). Um framework de software pode incluir programas, bibliotecas de Código, uma linguagem de script, outros softwares para ajudar a desenvolver e colar os diferentes componentes de um projeto de software. Várias partes do framework talvez expostas através de uma API.
-
API (interface de programação de aplicações): é um conjunto de rotinas( AKA methods, functions), estruturas de dados, objecto classes e/ou protocolos fornecidos por bibliotecas e / ou serviços de sistemas operacionais para apoiar a construção de aplicações.
mais detalhes junto com outros O Link para este tópico em particular é http://aprogrammersday.blogspot.com/2009/02/difference-between-framework-and-api.html
API (interface de programação de aplicações): tal como o seu nome significa, é uma interface para os programas externe interagirem com o seu programa inter ou biblioteca sem ter acesso directo. por exemplo, a API do google map e a API do Facebook lhe dão a interface para interagir com seu programa e biblioteca sem ter acesso direto.
Por outro lado:
Framework : é uma coleção de bibliotecas que podem ajudá-lo a construir uma aplicação. você pode imaginar o framework como um " esqueleto "onde a aplicação define a" carne", então você não pode levar um esqueleto humano para construir um corpo de Mors, então você tem que escolher o bom framework antes de começar a programar. foi por isso que dissemos: O Framework chama-te.
Na minha experiência, um quadro muitas vezes inclui duas coisas (pelo menos) que uma API simples não faz:
Extensibilidade: você pode compor ou subclass componentes de framework para estender ou personalizar sua funcionalidade.
Ferramentas para geração de código, administração ou tarefas de diagnóstico relacionadas com o desenvolvimento de aplicações.
Um framework é basicamente uma coleção de classes que abstraem o processo de desenvolvimento e promovem a reutilização de código, por exemplo, você pode ter classes de banco de dados, sessão e paginação que são independentes da aplicação que você está construindo. Mas uma API é uma interface de código fonte que permite que dois ou mais componentes de diferentes sistemas interajam, por exemplo, adicionando a API do Google Maps ao seu site, você e o Google são dois sistemas diferentes, o Google codificou a interface subjacente para incorporando seus produtos ao seu site/Aplicação. Em suma, basta ir com um trabalho de framework ao construir o seu sistema, em seguida, desenvolver uma API quando você oferece extensões para outras pessoas como Facebook e Google.
Um framework implementa uma opção muito importante chamada IoC (inversão do controlo) o que significa, em poucas palavras, que o seu código tem, não mais, coisas à mão.
Enquanto em uma API seu código chama outros códigos (bibliotecas ), quando você usa um framework específico, é o framework que está no controle dos fluxos da aplicação.