Qual è la relazione tra SDK e API?
Nello sviluppo software, con la continua crescita della scala dei sistemi, è diventato essenziale scomporre sistemi complessi in componenti più piccoli, dove la progettazione delle interfacce è particolarmente cruciale. Il compito principale della progettazione dell'interfaccia è assegnare in modo ragionevole le responsabilità del sistema software. Una buona progettazione dell'interfaccia può ridurre la dipendenza tra le diverse parti del sistema, migliorare la coesione dei moduli e ridurre l'accoppiamento tra i moduli, migliorando così la manutenibilità e l'estensibilità del sistema. L'API, come forma di interfaccia, svolge un ruolo importante nell'interazione tra i programmi, mentre SDK e API sono strettamente correlati.
01 API
(1) Il concetto di API
API, acronimo di "Application Programming Interface" (Interfaccia di Programmazione di un'Applicazione), è un insieme di funzioni predefinite progettate per fungere da "interfaccia" di connessione tra due entità diverse. Fornisce un modo per applicazioni e sviluppatori di accedere alle routine di un software o hardware senza dover toccare il codice sorgente o comprendere i dettagli del suo funzionamento interno.
In pratica, un'API è una funzione scritta in precedenza da altri, in grado di implementare una specifica funzionalità. È sufficiente chiamare i suoi metodi secondo l'interfaccia fornita e passare i parametri specificati, e la funzione ti aiuterà a implementare queste funzionalità.

Dal concetto di "interfaccia", nel campo dell'informatica, si riferisce al luogo di interazione tra due entità diverse, che possono essere due sistemi completamente diversi o due segmenti di programma. Pertanto, la "I" dell'interfaccia può essere compresa in questo modo. Su questa base, il luogo di interazione tra uomo e programma è chiamato UI (User Interface - Interfaccia Utente), che include tutte le forme di input, come mouse, tastiera, touchscreen e input vocale, ecc. L'interazione tra programmi è chiamata API, e tutta l'interazione non umana avviene tramite API, dove l'interazione essenzialmente è trasmissione di dati e attivazione di funzionalità.
(2) Classificazione delle API
Le API si dividono in API di livello di sistema (come Windows, Linux, Unix, ecc.) e API personalizzate di livello non sistema operativo. Come un efficace modello di incapsulamento del codice, il modello di sviluppo API di Microsoft Windows è stato adottato da molte società di sviluppo di applicazioni commerciali, che hanno sviluppato funzioni API di alcuni sistemi applicativi commerciali per essere rilasciate, facilitando l'espansione delle funzionalità da parte di terzi. Ad esempio, le API sviluppate da Google, Apple e Nokia.
Le API si dividono anche in API aperte e API private. Come suggerisce il nome, le API aperte sono interfacce pubblicamente disponibili, che consentono a chiunque di chiamarle e ottenere i dati sottostanti. A volte le aziende rendono le API come il loro sistema pubblico aperto, ovvero l'azienda stabilisce i propri standard di interfaccia di sistema e tutti i membri dell'azienda possono chiamare il codice sorgente tramite questo standard di interfaccia quando è necessario eseguire integrazioni di sistema, personalizzazioni e applicazioni di programma. Questo standard di interfaccia è chiamato API aperta. Le API private sono interfacce che non sono aperte al pubblico.
02 SDK
(1) Il concetto di SDK
SDK, acronimo di "Software Development Kit" (Kit di Sviluppo Software), è in genere un insieme di strumenti di sviluppo utilizzati dagli ingegneri del software per costruire applicazioni software per pacchetti software specifici, framework software, piattaforme hardware, sistemi operativi, ecc. In termini semplici, un SDK è un kit di strumenti fornito da un fornitore di terze parti per implementare una funzionalità di un prodotto software.
Di solito, gli SDK sono forniti da aziende professionali che offrono una serie di servizi professionali, come la fornitura di strumenti di sviluppo Android o servizi basati sullo sviluppo hardware, ecc. Esistono anche SDK per una specifica funzionalità software, come la tecnologia push, la tecnologia di riconoscimento delle immagini, la tecnologia di pagamento mobile, la tecnologia di analisi del riconoscimento vocale, ecc. Nella tendenza all'apertura di Internet, alcuni SDK funzionali sono stati trattati come un prodotto da gestire.
Gli sviluppatori non devono più sviluppare ogni funzionalità del prodotto, ma possono semplicemente scegliere un servizio SDK stabile e appropriato e integrare una funzionalità nel prodotto in breve tempo.
(2) La differenza tra SDK e API
L'SDK è equivalente a un ambiente di strumenti di sviluppo e integrazione, mentre l'API è un'interfaccia di dati. Le API dei dati vengono chiamate nell'ambiente SDK.
In realtà, l'SDK include la definizione delle API, le API definiscono una capacità, una specifica dell'interfaccia, e l'SDK può includere questa capacità, questa specifica. Ma l'SDK non include solo le API e la loro implementazione, è un kit di strumenti software che include anche molte altre funzioni di supporto.
L'SDK include la documentazione necessaria per utilizzare le API, quindi le persone chiamano spesso il metodo di scrittura di applicazioni Windows utilizzando solo le API come "programmazione SDK".





