[SDK] SDK vs API

Dragon_Tackยท2023๋…„ 10์›” 22์ผ
0

SDK ๋ž€?

SDK๋Š” Software Development Kit์˜ ์•ฝ์ž๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ์ˆ ์ž๊ฐ€ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ •ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊พธ๋Ÿฌ๋ฏธ๋ฅผ ๋งํ•œ๋‹ค. (์œ„ํ‚ค๋ฐฑ๊ณผ)
์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ตฌ๋ฐ•์Šค? ์ •๋„..?
์ด ์•ˆ์—๋Š” API, ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค, ์ƒ˜ํ”Œ ์ฝ”๋“œ, ๊ด€๋ จ ๋ฌธ์„œ ๋“ฑ์ด ๋“ค์–ด์žˆ๋Š” ๊ฐœ๋ฐœ ๋„๊ตฌ์˜ ์ง‘ํ•ฉ์ด๋‹ค.
ex) Android SDK, JDK, iOS SDK, .NET Framework SDK, Facebook SDK ....
API ๋ž€?

API๋Š” Application Programming Interface์˜ ์•ฝ์ž๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์šด์˜ ์ฒด์ œ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋œปํ•œ๋‹ค. (์œ„ํ‚ค๋ฐฑ๊ณผ)
API ์ œ์ž‘์ž๋Š” ๋ˆ„๊ตฐ๊ฐ€ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ๋งŒ๋“ค์–ด ๋‘์—ˆ๋‹ค. API ์‚ฌ์šฉ์ž๋Š” (์•„๋งˆ๋„ ๊ฐœ๋ฐœ์ž) A์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•  ๋•Œ DB์— ์ ‘์†ํ•˜์—ฌ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ getInfo๊ฐ™์€ API๋ฅผ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋œ๋‹ค. ์ˆ˜์ •์ด๋‚˜, ์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…๋„ ์ด์™€ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค.
SDK์™€ API์˜ ์ฐจ์ด์ 

SDK(Software Development Kit)
๋””๋ฒ„๊ฑฐ, ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ ํŠน์ • ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋นŒ๋”ฉํˆด ๋˜๋Š” ํŠน์ • OS์˜ ์ฝ”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ทธ๋ฃน ๊ฐ™์€ ๊ฐœ๋ฐœ๋„๊ตฌ์˜ ์ง‘ํ•ฉ์ด๋‹ค. ex) ์•ˆ๋“œ๋กœ์ด๋“œ, iOS SDK๋“ฑ๋“ฑ
์‹ค์ œ๋กœ api๋ฅผ ํ˜ธ์ถœํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผํฌํ•จ โ†’ api request๋ฅผ ์ง์ ‘ ์“ธ ํ•„์š”๊ฐ€ ์—†์Œ
response๋˜ํ•œ json๊ฐ™์€ ํ˜•ํƒœ์ผ ํ•„์š”๊ฐ€ ์—†์Œ โ†’ analyze response object๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

SDK์™€ API์˜ ์ฐจ์ด์ 

API : ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์˜ค๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ค„ ๋ฟ ๋ฐ›์•„์˜จ ์ดํ›„์˜ ์ฒ˜๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž์˜ ๋ชซ
SDK : ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์‹ค์ œ ์ฝ”๋“œ๊นŒ์ง€ ์žˆ์Œ
๊ฒฐ๊ตญ sdk๊ฐ€ ์กฐ๊ธˆ ๋” ํฌ๊ณ  ํŽธํ•œ ๋„๊ตฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. (ํ•˜์ง€๋งŒ API๊ฐ€ ๋” ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋ฐฅ๋Œ€๋กœ ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋Š”๊ฒฝ์šฐ๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค.)

profile
๊ณ ๋ฏผ์˜ ํ”์ ์„ ๋Š˜์—ฌ๋†“๋Š” ๊ณต๊ฐ„

0๊ฐœ์˜ ๋Œ“๊ธ€