Hvad er forholdet mellem SDK og API?
I softwareudvikling, efterhånden som systemets størrelse konstant øges, er det afgørende at nedbryde komplekse systemer i mindre komponenter, hvor designet af programmeringsgrænseflader er særligt vigtigt. Den primære opgave i interface design er at fordele ansvaret for softwaresystemet fornuftigt. Et godt interface design kan reducere afhængigheden mellem de forskellige dele af systemet, forbedre modulernes sammenhæng og samtidig reducere koblingen mellem modulerne, hvilket forbedrer systemets vedligeholdelsesevne og udvidelsesmuligheder. API'er, som en form for interface, spiller en vigtig rolle i interaktionen mellem programmer, og der er en tæt forbindelse mellem SDK og API.
01 API
(1) API-konceptet
API, som står for "Application Programming Interface", er et sæt foruddefinerede funktioner, der er designet til at fungere som en "grænseflade" til at forbinde to forskellige ting. Det giver en måde for applikationer og udviklere at få adgang til rutiner i en software eller hardware uden at skulle røre ved kildekoden eller forstå detaljerne i dens interne funktion.
Faktisk er en API en funktion, der er skrevet på forhånd af andre, og som kan implementere en specifik funktion. Du skal blot kalde dens metoder i henhold til den angivne grænseflade og videregive de specificerede parametre, og funktionen vil hjælpe dig med at implementere disse funktioner.

Fra konceptet "grænseflade" refererer det i computerområdet til det sted, hvor to forskellige enheder interagerer, det kan være to fuldstændigt forskellige systemer eller to stykker kode. Derfor kan "I" i grænsefladen forstås på denne måde. På baggrund af dette kaldes det sted, hvor mennesker interagerer med programmer, UI (User Interface), inklusive alle former for input, såsom mus, tastatur, touchskærm og stemmeinput osv. Interaktionen mellem programmer kaldes API, og al ikke-menneske-til-menneske-interaktion foregår via API'er, og den essentielle interaktion er dataoverførsel og funktionsudløsning.
(2) API-klassificering
API'er er opdelt i systemniveau-API'er (såsom Windows, Linux, Unix osv.) og ikke-operativsystemniveau-tilpassede API'er. Som en effektiv kodepakningsmodel er Microsoft Windows' API-udviklingsmodel blevet efterlignet af mange kommercielle applikationsudviklingsvirksomheder, og de har udviklet visse API-funktioner i kommercielle applikationssystemer til offentliggørelse, hvilket letter tredjeparts funktionsudvidelse. For eksempel API'er udviklet af Google, Apple og Nokia osv.
API'er er også opdelt i åbne API'er og private API'er. Som navnet antyder, er åbne API'er grænseflader, der er offentligt tilgængelige for alle, og som giver alle mulighed for at kalde dem og få adgang til de underliggende data. Nogle gange vil virksomheder gøre API'er til deres offentlige åbne systemer, det vil sige, at virksomheden formulerer sine egne systemgrænsefladestandarder, og alle medlemmer af virksomheden kan kalde kildekoden via denne grænsefladestandard, når de skal udføre systemintegration, tilpasning og programapplikationer. Denne grænsefladestandard kaldes en åben API. Private API'er er grænseflader, der ikke er offentligt tilgængelige.
02 SDK
(1) SDK-konceptet
SDK, som står for "Software Development Kit", er typisk en samling af udviklingsværktøjer, der bruges af softwareingeniører til at bygge applikationssoftware til en bestemt pakke, softwareframework, hardwareplatform, operativsystem osv. Med andre ord er en SDK et værktøjssæt, der leveres af en tredjepartsleverandør til at implementere en funktion i et softwareprodukt.
SDK'er leveres typisk af professionelle virksomheder, der leverer professionelle tjenester, såsom levering af Android-udviklingsværktøjer eller tjenester baseret på hardwareudvikling osv. Der er også SDK'er til en bestemt softwarefunktion, såsom push-teknologi, billedgenkendelsesteknologi, mobilbetalingsteknologi, talegenkendelsesanalyse teknologi osv. I den store tendens til internetåbenhed er nogle funktionelle SDK'er blevet behandlet som et produkt til drift.
Udviklere behøver ikke længere at udvikle hver funktion i produktet, de behøver blot at vælge en passende og stabil SDK-tjeneste og bruge meget lidt tid på at integrere en funktion i produktet.
(2) Forskellen mellem SDK og API
SDK svarer til et udviklingsintegrationsmiljø, og API er en datagrænseflade. API-data kaldes i SDK-miljøet.
Faktisk indeholder SDK'en definitionen af API'en, API'en definerer en evne, en grænsefladespecifikation, og SDK'en kan indeholde denne evne, denne specifikation. Men SDK'en indeholder ikke kun API'en og dens implementering, det er et softwareværktøjssæt, der også indeholder mange andre hjælpefunktioner.
SDK'en indeholder materialet, der er nødvendigt for at bruge API'en, og derfor kalder folk ofte den måde at skrive Windows-applikationer ved kun at bruge API'er også "SDK-programmering".





