Mikä on SDK:n ja API:n suhde?
Ohjelmistokehityksessä, järjestelmien koon jatkuvasti kasvaessa, on erittäin tärkeää jakaa monimutkaiset järjestelmät pienempiin osiin. Ohjelmointirajapintojen suunnittelu on tässä avainasemassa. Rajapintojen suunnittelun ensisijainen tehtävä on jakaa ohjelmistojärjestelmän vastuut järkevästi. Hyvä rajapintasuunnittelu voi vähentää järjestelmän osien välistä riippuvuutta, parantaa moduulien yhteenkuuluvuutta ja samalla vähentää moduulien välistä kytkentää, mikä parantaa järjestelmän ylläpidettävyyttä ja laajennettavuutta. API, yhtenä rajapinnan muotona, on tärkeä rooli ohjelmien välisessä vuorovaikutuksessa, ja SDK:lla ja API:lla on läheinen suhde.
01 API
(1) API:n käsite
API, täydellinen nimi "Application Programming Interface" (sovellusohjelmointirajapinta), on joukko ennalta määriteltyjä funktioita, jotka on suunniteltu toimimaan "rajapintana" kahden eri asian yhdistämiseksi. Se tarjoaa tavan, jolla sovellukset ja kehittäjät voivat käyttää jonkin ohjelmiston tai laitteiston rutiineja ilman, että heidän tarvitsee päästä lähdekoodiin tai ymmärtää sen sisäisen toiminnan yksityiskohtia.
Käytännössä API on muiden valmiiksi kirjoittamia funktioita, jotka voivat toteuttaa tietyn toiminnon. Sinun tarvitsee vain noudattaa tarjottua rajapintaa, kutsua sen metodeja ja välittää määritetyt parametrit, ja funktio toteuttaa nämä toiminnot puolestasi.

"Rajapinta"-käsitteen näkökulmasta tietojenkäsittelyssä se viittaa kahden eri entiteetin väliseen vuorovaikutuspaikkaan, joka voi olla kaksi täysin erillistä järjestelmää tai kaksi ohjelman osaa. Siksi rajapinnan "I" voidaan ymmärtää näin. Tämän pohjalta paikkaa, jossa ihminen on vuorovaikutuksessa ohjelman kanssa, kutsutaan UI:ksi (käyttöliittymä), joka sisältää kaikki ihmisen syöttötavat, kuten hiiri, näppäimistö, kosketusnäyttö ja äänisyöte jne. Ohjelmien välistä vuorovaikutusta kutsutaan puolestaan API:ksi, ja kaikki ei-ihmisten väliset vuorovaikutukset tapahtuvat API:n kautta. Itse vuorovaikutus on pohjimmiltaan datan siirtoa ja toimintojen käynnistämistä.
(2) API:n luokittelu
API:t jaetaan järjestelmätason API:ihin (kuten Windows, Linux, Unix jne.) ja ei-käyttöjärjestelmätason mukautettuihin API:ihin. Tehokkaana koodin kapselointimallina Microsoft Windowsin API-kehitysmallia on hyödynnetty monissa kaupallisissa sovelluskehitysyhtiöissä, ja ne ovat kehittäneet tiettyjä kaupallisten sovellusjärjestelmien API-funktioita julkaistavaksi, jotta kolmannet osapuolet voivat laajentaa toimintoja. Esimerkiksi Googlen, Apple Inc:n ja Nokian kehittämät API:t.
API:t jaetaan myös avoimiin API:ihin ja yksityisiin API:ihin. Kuten nimestä käy ilmi, avoin API on rajapinta, joka on julkisesti saatavilla kaikille, jolloin kuka tahansa voi kutsua sitä ja saada sen taustalla olevan datan. Joskus yritykset tekevät API:sta julkisen avoimen järjestelmänsä, eli yritys määrittää omat järjestelmärajapintastandardinsa, ja kaikki yrityksen jäsenet voivat käyttää lähdekoodia tämän rajapintastandardin kautta suorittaessaan järjestelmäintegraatioita, mukautuksia ja ohjelmasovelluksia. Tätä rajapintastandardia kutsutaan avoimeksi API:ksi. Yksityinen API on rajapinta, jota ei ole avattu ulkopuolisille.
02 SDK
(1) SDK:n käsite
SDK, täydellinen nimi "Software Development Kit" (ohjelmistokehityspakki), on yleensä kokoelma kehitystyökaluja, joita ohjelmistosuunnittelijat käyttävät sovellusohjelmistojen rakentamiseen tietylle ohjelmistopaketille, ohjelmistokehykselle, laitteistoalustalle, käyttöjärjestelmälle jne. Yksinkertaisesti sanottuna SDK on työkalupakki, jonka kolmannen osapuolen palveluntarjoaja tarjoaa ohjelmistotuotteen tietyn toiminnon toteuttamiseksi.
SDK:t tarjoavat yleensä ammattimaiset palvelut ammattimaisilta yrityksiltä, kuten Android-kehitystyökalut tai laitteistopohjaiset kehityspalvelut. On myös SDK:ita tiettyjä ohjelmisto-ominaisuuksia varten, kuten push-tekniikka, kuvantunnistustekniikka, mobiilimaksutekniikka, puheentunnistusanalyysitekniikka jne. Internetin avoimuuden yleistyessä joistakin toiminnallisista SDK:ista on tullut tuotteita, joita markkinoidaan ja käytetään.
Kehittäjien ei tarvitse enää kehittää tuotteen jokaista ominaisuutta itse, vaan he voivat valita sopivan ja vakaan SDK-palvelun ja integroida tietyn toiminnon tuotteeseensa hyvin lyhyessä ajassa.
(2) SDK:n ja API:n erot
SDK on kehitysintegraatioympäristö, kun taas API on datarajapinta. API-dataa kutsutaan SDK-ympäristössä.
Itse asiassa SDK sisältää API:n määrittelyn, API määrittelee kyvyn, rajapinnan standardin, ja SDK voi sisältää tämän kyvyn ja standardin. SDK sisältää kuitenkin enemmän kuin vain API:n ja sen toteutuksen, se on ohjelmistopakki, joka sisältää myös monia muita apufunktioita.
SDK sisältää API:n käytön kannalta tarvittavat tiedot, joten API:n käyttämistä Windows-sovellusten kirjoittamiseen kutsutaan usein "SDK-ohjelmoinniksi".





