프론트앤드 공부를 하며 이제 백앤드 개발자와 협업을 해야하는 시점에 왔다. 그러면서 데이터, API란 단어를 자주 듣게 되었는데 정확한 그 개념을 모르고 있어 정리 해보고자 한다.
API를 비유적으로 표현해 보자면 손님과 주방을 연결 지어주는 레스토랑의 점원 이라고 말할수 있다.
손님에게 준비되어 있는 메뉴를 보여주고 손님이 고른 메뉴를 주방에 전달하고 또 음식이 준비되면 이것을 손님에게 전달한다.
프로그래밍 적으로 설명을 해보자면, API는 서로 다른 시스템이 만나 동작하기 위한 의사소통 역할을 하며, 데이터를 전달 및 처리하며 사용자에게 여러 응용 프로그램의 작업을 수행하고 완료하는 데에 있어 언제 어디서나 정보를 제공하는 연결 고리 이다.
프론트 개발자와 백 개발자가 협업을 한다고 가정한다면
프론트앤드 개발자는 UI 적인 요소를 만들어내고
백앤드 개발자는 화면에 보여줄 데이터를 만들어 낸다.
즉 프론트 앤드 개발자가 홈페이지에 '노트북 모델' 이라는 버튼 만들고, 유저가 버튼을 클릭했을때 출력되야 하는 노트북 모델에 대한 정보를 API 요청을 통해 백앤드에서 돌려주면 그것을 화면에 표시해주는 흐름이다.
자동화가 용이 : API를 통해 사람이 직접 조작하지 않아도 관련 내용이 자동으로 생성되고 처리되어 워크플로우가 빨라질 수 있다.
범위의 확장성 : API는 프로그램 사용 시 정보를 전달하는 기능이 있어 사용자의 환경에 맞춰서 전달할 수 있다. 또한 API에 직접 액세스 하지 않아도 콘텐츠가 자동적으로 생성 및 업로드되어 확장이 용이하다.