Quina és la relació entre SDK i API?
En el desenvolupament de programari, a mesura que l'escala del sistema augmenta contínuament, és crucial descompondre sistemes complexos en components més petits, on el disseny d'interfícies és especialment important. La tasca principal del disseny d'interfícies és assignar raonablement les responsabilitats del sistema de programari. Un bon disseny d'interfícies pot reduir la dependència entre les diferents parts del sistema, millorar la cohesió dels mòduls i, alhora, reduir l'acoblament entre els mòduls, millorant així la mantenibilitat i l'escalabilitat del sistema. L'API, com una forma d'interfície, juga un paper important en la interacció entre programes, i hi ha una estreta relació entre SDK i API.
01 API
(1) El concepte d'API
API, que significa "Interfície de Programació d'Aplicacions", és un conjunt de funcions predefinides dissenyades per actuar com a "interfície" per connectar dues coses diferents. Proporciona una manera perquè les aplicacions i els desenvolupadors accedeixin a les rutines d'un programari o maquinari, sense haver d'accedir al codi font ni entendre els detalls del seu funcionament intern.
En realitat, l'API són funcions pre-escrites per altres que poden aconseguir funcions específiques. Només cal que crideu els seus mètodes seguint la interfície proporcionada i passeu els paràmetres especificats, i la funció us ajudarà a aconseguir aquestes funcions.

Des del concepte d'"interfície", en el camp de la informàtica, es refereix al lloc on interactuen dues entitats diferents, que poden ser dos sistemes completament diferents o dos segments de programa. Per tant, la "I" de la interfície es pot entendre d'aquesta manera. A partir d'això, el lloc on la persona interactua amb el programa es coneix com a UI (Interfície d'Usuari), que inclou totes les formes d'entrada, com ara ratolí, teclat, pantalla tàctil i entrada de veu, etc. La interacció entre programes es coneix com a API, i totes les interaccions no humanes es realitzen a través de l'API, i l'essència de la interacció és la transmissió de dades i l'activació de funcions.
(2) Classificació de les API
Les API es divideixen en API de nivell de sistema (com Windows, Linux, Unix, etc.) i API personalitzades que no són de nivell de sistema operatiu. Com a un mode eficaç d'encapsulament de codi, el mode de desenvolupament d'API de Microsoft Windows ha estat adoptat per moltes empreses de desenvolupament d'aplicacions comercials, i han desenvolupat algunes funcions d'API de sistemes d'aplicacions comercials per publicar-les, facilitant l'extensió de funcions per tercers. Per exemple, les API desenvolupades per Google, Apple i Nokia, entre d'altres fabricants de telèfons mòbils.
Les API també es divideixen en API obertes i API privades. Com el nom indica, les API obertes són interfícies públiques per a tothom, que permeten a qualsevol trucar-les i obtenir les dades que hi ha al darrere. De vegades, les empreses utilitzen l'API com a sistema obert públic, és a dir, l'empresa estableix els seus propis estàndards d'interfície de sistema, i tots els membres de l'empresa poden trucar al codi font a través d'aquest estàndard d'interfície quan necessiten realitzar integració de sistemes, personalització i aplicacions de programari, i aquest estàndard d'interfície es coneix com a API oberta. Les API privades són interfícies que no estan obertes al públic.
02 SDK
(1) El concepte d'SDK
SDK, que significa "Kit de Desenvolupament de Programari", sol ser un conjunt d'eines de desenvolupament utilitzades per enginyers de programari per construir programari d'aplicació per a un paquet de programari específic, un marc de programari, una plataforma de maquinari, un sistema operatiu, etc. En termes senzills, el SDK és un kit d'eines proporcionat per un proveïdor de tercers per implementar una funció d'un producte de programari.
Normalment, el SDK és un conjunt de serveis professionals proporcionats per empreses professionals, com ara proporcionar eines de desenvolupament d'Android o serveis basats en desenvolupament de maquinari, etc. També hi ha SDK per a una funció de programari específica, com ara tecnologia de notificació push, tecnologia de reconeixement d'imatges, tecnologia de pagament mòbil, tecnologia d'anàlisi de reconeixement de veu, etc. En la tendència oberta d'Internet, alguns SDK funcionals s'han tractat com un producte per operar.
Els desenvolupadors ja no necessiten desenvolupar cada funció del producte, només cal que seleccionin un servei SDK estable i adequat, i puguin integrar una funció en el producte en poc temps.
(2) La diferència entre SDK i API
El SDK és equivalent a un entorn d'eines d'integració de desenvolupament, mentre que l'API és una interfície de dades. Es criden les dades de l'API en l'entorn del SDK.
En realitat, el SDK conté la definició de l'API, l'API defineix una capacitat, una especificació d'interfície, i el SDK pot contenir aquesta capacitat i aquesta especificació. Però el SDK no només conté l'API i la seva implementació, sinó que és un kit d'eines de programari que també conté moltes altres funcions auxiliars.
El SDK conté la documentació necessària per utilitzar l'API, per la qual raó la gent també anomena la manera de desenvolupar aplicacions de Windows només utilitzant l'API com a "programació SDK".





