UI, API๋ ๋๋ค Interface๋ค
UI = User Interface
API = Application programming Interface
UI๋ผ๋ ๋จ์ด๋ฅผ ๋ง์ด ๋ค์ด๋ณด์๋๋ฐ, API๋ ๋ญ์ง ๋ชฐ๋๋ค. ์๊ณ ๋ณด๋ ๋๋ค Interface์ ๊ฐ๋ ์ด๋ผ๋ ๊ฒ์ด๋ค. UI๋ UX์ ์ธ์ ๋ ๊ฐ์ด ์ฐ์ด๋ ๋จ์ด์ธ์ค ์์๋๋, ๋๋ค๋ฅธ ์๊ตฌ๊ฐ ์์๊ตฌ๋. ๋น๊ฐ๋ฐ์/๊ฐ๋ฐ์๋ค์ ๊ตฌ์ธ์ฃผ '์ํ์ฝ๋ฉ'์ ๋ฐ๋ผ UI์ API์ ๊ฐ๋ ์ ๋ํด ์ดํด๋ณด๋ ๊ฒ์ ์์์ผ๋ก, ์์ผ๋ก ๊ดํํ ์ฝ๋ฉ์ ์ธ๊ณ์ ์กฐ๊ธ์ฉ ์น์ํด์ ธ๋ณผ๊น ํ๋ค.
UI = User Interface
์ปดํจํฐ๋ผ๋ ์์คํ ๊ณผ ์ฌ์ฉํ๋ ์ฌ๋์ ์ ์ ์ ์กด์ฌํ๋ฉฐ, ์ฌ๋์ด ์๊ฐํ๋ ๊ฑธ ์ปดํจํฐ์๊ฒ ์ ๋ฌํ๋ ์ ๋ ฅ์ฅ์น, ์ปดํจํฐ์ ์ํ๋ฅผ ์ฌ๋์๊ฒ ์ ๋ฌํ๋ ์ถ๋ ฅ์ฅ์น๊ฐ ๋ฐ๋ก UI๋ค. ์ฌ์ฉ์๋ฅผ ๋๋ฉดํ๋ ์ ์ ์ด ๋๋ ์ง์ ์ ํฌ๊ด์ ์ผ๋ก UI๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ex.์น์์ ๋ฒํผ, ์คํฌ๋กค๋ฐ ๋ฑ๋ฑ์ UI๋ผ๊ณ ํ ์ ์๋ค.
API = Application Programming Interface
์ฝ๊ฒ ๋งํด, ์ฝ๋์ ํํ๋ฅผ ๋๊ณ ์๋ ๊ฐ๋ฐ์๋ค์ ์ธํฐํ์ด์ค๋ค. ์ฝ๋๋ค์ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฒฐํฉํด์ application์ ๋ง๋ค๊ฒ ๋๊ณ , ์ฌ์ฉ์๊ฐ ์ฐ๋ ์ธํฐํ์ด์ค์ ๊ตฌ๋ถํ๊ธฐ ์ํด API๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ex. ๋ธ๋ผ์ฐ์ ์ "javascript:alert("Hello world")๋ผ๊ณ ๊ฒ์ํ๋ฉด, Hello world๋ผ๊ณ ์ฐ์ธ ๊ฒฝ๊ณ ์ฐฝ์ด ๋ฌ๋ค.
javacrpit: ๋ ์ดํ์ ๋ด์ฉ์ด javascript ์ธ์ด๋ผ๋ ์๋ฏธ์ด๊ณ ,
alert๋ ํธ์ถ์ ์๋ฏธํ๋ API,
"Hello world"๋ ํธ์ถ์ ๋ด์ฉ์ ์๋ฏธํ๋ค.
=> '์น๋ธ๋ผ์ฐ์ '๋ผ๋ ๊ธฐ๋ฐ์ด ๋๋ ์์คํ ์ alert๊ณผ ๊ฐ์ interface๋ฅผ ์์ฉํด์ ๊ฐ๋ฐ์๊ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด alert๋ผ๋ ํ ์คํธ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ ๋ ฅํ๋ฉด, ๊ฒฝ๊ณ ์ฐฝ์ ๋์์ฃผ๋๋ฐ, ์ด ๊ฒฝ๊ณ ์ฐฝ์ ๋๊ฐ ๋ง๋๋ ๊ฒ์ผ๊น? ์น๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ฌ์ ์์๋์ด ์๋ ๊ฐ๋ฐ์๋ค์ด ๋ง๋๋ ๊ฒ! ๋ง์ดํฌ๋ก์ํํธ, ์ ํ, ๊ตฌ๊ธ ๋ฑ๋ฑ.
API๋ฅผ ํตํด ์น๋ธ๋ผ์ฐ์ ๋ฅผ ์ ์ดํ๋ค. ๊ฐ๋ฐ์์ ๊ฐ๋ฐ์๊ฐ ์๋์๋ฅผ ๊ฐ๋ฅด๋ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋,
๊ฐ๋ฐ์๊ฐ ์๋ ์ฌ๋๋ค์ UI๋ฅผ ํตํด ์์คํ ์ ์ ์ดํ๊ณ , ๊ฐ๋ฐ์๋ API๋ฅผ ์ด์ฉํด์ ์์ ์ ๋งฅ๋ฝ์ ๋ง๊ฒ ๊ทธ๊ฒ๋ค์ ์์ฉํด์ aapplication(ex. ์น๋ธ๋ผ์ฐ์ )์ ์ ์ดํ๊ฒ ๋๋ ๊ฒ์ด๋ค. ๊ฐ๋ฐ์๋ค์ UI๊ฐ API๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
๊ทธ๋ ๋ค๋ฉด, ์น๋ธ๋ผ์ฐ์ ์ ๋ฒํผ, ์์ด์ฝ๋ค์ ๋๊ฐ ๋ง๋๋ ๊ฒ์ธ๊ฐ?
์น๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ํ๊ณ ์๋ ์ด์์ฒด์ (ex. ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ)์ ๊ฐ๋ฐ์๋ค์ด ๋ฒํผ/์์ด์ฝ๋ค์ ๋ฏธ๋ฆฌ ๋ง๋ค๊ณ , ์น๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์๊ฐ ์ด๋ฏธ ๋ง๋ค์ด์ ธ์๋ ์์ด์ฝ์ ํธ์ถํด์ ์กฐํฉํ๋ฉด ์ด๋ฌํ ๊ฒฝ๊ณ ์ฐฝ์ ๋ง๋ค ์ ์๋๋ก ๋ฏธ๋ฆฌ ์ค๋นํด๋ ๊ฒ์ด๋ค.
์น๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์๋ ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ API๋ฅผ ์ด์ฉํด์ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ๋ง๋ค๊ฒ ๋๋ ๊ฒ์ด๋ค.
์ด ๊ดํํ ์ธ๊ณ ์ ๋๋ ์ด๋์ ์๋
๋งจ ์ฒซ๋ฒ์งธ ์ผ๊ฐํ์ ๋ณด๋ฉด, ๋น๊ฐ๋ฐ์์ ์ธ๊ณ๋ '์ฌ์ฉ์'์ ์ธ๊ณ๋ค. ์ฌ์ฉ์๊ฐ ์์คํ ์ ์ด์ฉํ๊ธฐ ์ํด ๋๋ฉดํ๋ ๊ฒ์ UI๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ค์ ๋จ์ ๊ฐ๋ฐ์์ ์ธ๊ณ๋ ์น ๊ฐ๋ฐ์, ํน์ ์ฑ๊ฐ๋ฐ์๋ผ๊ณ ํ ์ ์๋ค. ๊ทธ ๋ฐ์๋ ๋ธ๋ผ์ฐ์ , ๊ทธ ๋ฐ์๋ ์ด์์ฒด์ , ·······, ๊ทธ๋ ๊ฒ ์ญ์ญ์ญ ๋ด๋ ค๊ฐ์ 0,1๋ก ํํ๋๋ ๊ธฐ๊ณ์ด์ ๋จ๊ณ๊น์ง ๋ด๋ ค๊ฐ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฐ์ผ๋ก ๋ด๋ ค๊ฐ๋ฉด ์ ์๊ณตํ, ์ ๊ธฐ๊ณตํ์ ์ธ๊ณ๋ก ๋ค์ด๊ฐ๋ค. ์ค๋ก ๊ฑฐ๋ํ ์ธ๊ณ๋ผ๋ ๊ฑฐ๋ค. ์ด ๊ฐ๊ฐ์ ์ธต์ด ์๋๋ฐ, ๊ทธ ๊ฐ๊ฐ์ ๊ฒ์ interface๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ ๋ค๋ฉด ๊ทธ๋ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๊ฒ์ API๊ฐ ๋๋ ๊ฒ์ด๋ค.
๊ฐ๋ฐ์๋ ๊ธฐ๋ฐ์ด ๋๋ ์์คํ ์ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด์ ์ด๋ค ์์ฉํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๋ค. ๋ง์ฝ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด๋ธ ๊ทธ ์์ฉํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ค์ด ๋ค์ ๊ทธ ์์ฉํ๋ก๊ทธ๋จ์ ์ด์ฉํด์ ๋ ๋ค๋ฅธ ์์คํ ์ ๋ง๋ค ์ ์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ ๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ ์์คํ /์ด์์ฒด์ ์ ๊ฐ๋ฐ์๋ผ๋ ์ ์ฅ์ด ๋๋ ๊ฒ์ด๋ผ๊ณ ๋ ํ ์ ์๋ค.
์ฐธ๊ณ ์๋ฃ
'๐ป Deep Wide Programming > ์ก๋คํ ๊ฐ๋ฐ ๊ด๋ จ ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ELK STACK (0) | 2021.12.17 |
---|---|
๊ตฌ๊ธ์ ํตํด ์์๋ณด๋ ๊ฒ์์์ ์ ๋ณด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ (0) | 2021.02.25 |
์ค๊ฐ์ ๊ฒ_Reset my Coding Roadmap (0) | 2020.07.28 |