본문 바로가기
카테고리 없음

프론트엔드와 백엔드란 무엇일까?

by 계발자jessie 2023. 5. 9.
반응형

프론트엔드와 백엔드

프론트엔드란 사용자들이 사용하는 모바일, 웹 화면과 같은 앞단을 말하며 이런 화면을 개발하는 사람을 프론트엔드 개발자라고 한다. 백엔드란 눈에 보이지 않는 영역이다. 이전 포스팅에서 봤던 것처럼 API와 같은 뒷단의 영역을 말한다. 이렇게 API 영역을 개발하는 사람을 백엔드 개발자라고 한다. 넓은 의미에서는 프론트엔드를 데이터를 요청하는 클라이언트, 백엔드를 결과를 응답하는 서버라고 한다. 정리하면 프론트엔드의 경우 요청을 하는 앞 단의 영역이며 백엔드는 그 요청에 응답을 하는 뒷단의 영역이다.

 

예시로 보는 역할

 사용자가 접속했을 때 포켓몬의 목록을 보여주는 포켓몬도감 웹사이트를 개발한다고 가정한다. 이때 백엔드 개발자의 경우 프론트엔드에서 포켓몬 목록을 가져갈 수 있는 API를 자바, 파이썬, 노드JS와 같은 서버 측 언어를 사용해서 개발한다. 여기서 API는 URL 형식의 주소를 말하며, 이 API를 호출하면 JSON, XML 등의 형태를 가지는 결괏값을 반환한다. 이때 백엔드 개발자는 API 뿐만 아니라 해당 API에 대한 정보가 정리된 문서인 API 명세서를 제공해야 한다. 프론트엔드 개발자의 경우 API명세서를 확인한 후 HTML, CSS, JavaScript 등의 웹 언어를 사용하여 일반 사용자가 볼 수 있는 형태인 사용자 인터페이스로 만든다.

 이 사이트에 일반 사용자가 직접 포켓몬을 등록하는 기능을 추가한다고 가정한다. 이렇게 되면 백엔드 개발자는 우선 포켓몬을 등록할 수 있는 API를 개발한다. 프론트엔드 개발자는 만들어진 API를 활용하여 일반 사용자가 포켓몬을 등록할 수 있는 UI를 만든다. 

 매일 포켓몬을 가장 많이 등록한 사용자를 찾는 기능을 또 추가한다고 가정한다. 이 기능의 경우 사용자가 발생시키는 이벤트에 의해 변화되는 기능이 아니다. 서버 측에서 서버 측에서 메일 한 번씩 데이터베이스를 체크하는 방식으로 진행되어야 하는 기능이다. 이와 같이 정기적으로 반복적으로 수행하거나 정해진 규칙에 따라 일괄적으로 처리하는 프로그램을 배치 프로그램이라고 한다. 여기서 백엔드 개발자는 서버 측에서 수행되는 배치 프로그램도 개발하는 일을 맡는다.

 

모바일의 경우 

 웹에서는 백엔드 개발자, 프론트엔드 개발자로 역할이 나뉘는 것과 달리 모바일의 경우 클라이언트 개발자, 혹은 모바일 개발자, 안드로이드 개발자, IOS 개발자와 같은 용어를 사용한다. 위와 같이 만들어진 프로그램을 안드로이드와 IOS 앱으로도 출시한다고 가정한다. 이렇게 되면 클라이언트 개발팀의 경우 자바와 코틀린과 같은 언어를 사용하여 안드로이드 앱을 개발하고 Object-C나 스위프트와 같은 언어를 사용하여 IOS 앱을 개발한다. 

반응형

댓글