Академический Документы
Профессиональный Документы
Культура Документы
QualadiferenadeAPI,bibliotecaeFramework?StackOverflowemPortugus
Sparacomplementar,ajudarouconfundirumpoucomais:)eserligeiramentedissonante.ostermos
podemserdefinidosdiferentementedependendodocontexto.
FuiolharadefinioencontradanaWikipediaeminglsparaostermosAPI,LibraryeFramework."S
paravariar"umadefiniomelhor.
API
LficaclaroqueumaAPIumconceitomaisabstratoquedefineformasdeexecutarumatarefa
especfica.amaneiraqueoseucdigoserelacionacomumabiblioteca.Algumasrespostaspassam
aimpresso(nonecessariamenteafirmam)queAPIparaacessarserviosexternosaaplicao,e
frequentementeistoverdade.Seistofossesempreverdadeiro,comomanipularumastringnoseria
umaAPI.
DeumacertaformapodemosdizerqueaAPIadocumentaoquedeterminacomoum
programadorpoderealizarumatarefaatravsdeumabiblioteca.Claroquenohumarelao
obrigatriacomadocumentao.possvelterumaAPI(porca)semdocumentao.Ea
documentaoefetivadeumabibliotecaserprximamasnonecessariamenteigualaAPI.AAPI
umconjuntoderegraspararealizarumatarefa.Elatratadecomportamentos.
UmaAPIcostumaserestvel,especialmentequandoeladelivreusopublicamente.Apesarde
incomumelapodeterpartesdocumentadascomoinstveis(mutveis),oqueexigemuitocuidadono
seuuso.
EmalgunscasosumaAPIpodedocumentaralgunsdetalhesdecomodeveseraimplementaopara
garantirquealgunsobjetivossejamalcanados.
Biblioteca
AbibliotecanormalmenteumaimplementaorealdasregrasdeumaAPI.Portantoelamais
concreta.AssimcomoaAPI,vocnoprecisasaberosdetalhesdaimplementaoparausla.A
bibliotecaprecisarespeitarasregrasdaAPIsempremasnoprecisatersuaimplementaoestvel.A
bibliotecacostumaserautosuficiente.
UmabibliotecapodeconterimplementaespblicasquenofazempartedaAPI.Uslaspodem
trazerrisco.
Vocchamaumabiblioteca.umaferramenta.Vocusaoqueprecisa.
Atomomentonenhumarespostatratoudotermobibliotecacomoformadeorganizaodecdigos
binriosparaousocomaplicaes.Umabibliotecatambmumarquivoexecutvelcomumconjunto
defunesparaexecutardiversastarefas. .dll ou .so soarquivosdebibliotecaparaligao
dinmicanaaplicao. .lib ou .a soarquivosdebibliotecaparaligaoestticanaaplicao.
Vocpodeterumabibliotecadestrings,deexpressesregulares,decoleesdedados,de
manipulaodearquivos,acessoaumbancodedados,manipulaodeimagens,etc.
Framework
Umframeworknormalmenteumconjuntodebibliotecasparaconseguirexecutarumaoperao
maior.comumumframeworkencapsularoscomportamentosdaAPIemimplementaesmais
complexaspermitindooseuusodeformamaisflexvel,frequentementeatravsdeextenses,
configuraeseinversesdecontrole.ComopodeserconsideradaumacamadaemcimadaAPI
eventualmentepodesimplificlaemcertosentido.Elecostumadarconsistnciaaumconjuntode
bibliotecas(penaqueaconteceoopostoemalgunscasos).
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22posttext%22%20itemprop%3D%22text%22%20style%3D%22margin%3A%200px%205px%205px
1/3
23/01/2015
QualadiferenadeAPI,bibliotecaeFramework?StackOverflowemPortugus
Oframeworkcostuma"tomarconta"dasuaaplicaodeixando"portas"paravocacessaroque
importanteparaoseuobjetivo.comumterumagrandeinterdependnciaentreseuscomponentes.
Porestasduasrazes,oframeworkpodesetornarumfardoquandoelenobemfeito,no
adequadoaoqueoprogramadorprecisaouquandooprogramadornosabebemcomouslo.
Umframeworkchamavoc.umestilodevida.Seuprojetosecomprometecomele.
Frameworkspodemserentendidoscomoplataformasdedesenvolvimento.Elespossuemlacunasque
devemserpreenchidaspeloprogramadorparafuncionarconformesuanecessidade.Podeservisto
comoumesqueletodeumaaplicao.Frequentementesoconfundidos,deformacertaouerrada,
comoumconjuntodeclasses.
Algumasvezesotermousadoparadeterminarumconjuntosdearquivosdebibliotecasdecdigos
binrios,oufontesouatoutrosrecursosparaaaplicaoquesorelacionados.
ExemplossoossistemasdeGUI,deoperaesweb,algunsORMs,umconjuntodebibliotecas
padrodeumalinguagemdeprogramao,implementaodeumpadroMVC,etc.
Algumasvezesumabibliotecaousetornatocomplexaqueacabavirandoumframework.Seisto
bomouruimdeixoparavocdecidir.
ToolkitseSDKs
Vocnoperguntoumasaindapodeterostoolkitsquepodemserconfundidoscomframeworksmas
funcionamdeformamaislivre,elessomaiscomobibliotecasfuncionandoemconjuntomasdeuma
maneiratradicionalondevocchamaoqueprecisa.
ExistemaindaosSDKs.SoftwareDevelopmentKitspodemassumiraformadedetoolkitsou
deframeworksefornecemtudooqueprecisaparaprogramaremcimadeumaplataforma(sistema
operacional,bancodedados,aplicao,etc.).Esteskitscostumamenglobarferramentasadicionais
almdasbibliotecasalmdedocumentaoeexemplosdecdigosqueajudamausarabiblioteca
adequadamente.
Concluso
Namaiorpartedostempoostermospodemserintercambiveissemcausargrandeproblema.Todo
mundoentendeessastrscoisascomoumconjuntodecdigosprontosparaalcanaralgumobjetivo
(mesmoquenosejaexatamentebemistoemnostrscasos).
Masquandovocestdefinindoalgomaisformal,quandoexplicaparaalgumdetalhesdeumprojeto,
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22posttext%22%20itemprop%3D%22text%22%20style%3D%22margin%3A%200px%205px%205px
2/3
23/01/2015
QualadiferenadeAPI,bibliotecaeFramework?StackOverflowemPortugus
melhorusarostermoscorretosparadarmelhorentendimento.Claroqueseointerlocutornosabe
ostermoscorretos,aconversaficatruncadadequalquerjeito.Avocmandaosujeitoviraquileristo
:)
AlgumasdefinieseimagenseutireidestasrespostasnoSO.
compartilhar
melhorarestaresposta
editada2/06/14s11:46
respondida29/05/14s16:13
bigown
35.2k 3 72 173
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22posttext%22%20itemprop%3D%22text%22%20style%3D%22margin%3A%200px%205px%205px
3/3