여러분이 쿠팡과 같은 소셜 커머스를 이용할 때를 떠올려보세요. 여러 가지 물건에 대한 이미지와 그에 따른 구매하기 버튼 그리고 검색어 입력창 등이 있을 겁니다. 이렇게 우리가 웹 서비스에서 눈으로 볼 수 있는 모든 부분이 프론트엔드 개발자의 영역입니다. 여기에는 고객이 원하는 화면을 최대한 빨리 보여주고 이를 보기 좋게 배치하여 쉽게 서비스를 이용할 수 있도록 하는 작업들도 포함됩니다.
우리가 모바일 또는 브라우저를 통해 눈으로 볼 수 있는 웹 페이지는 HTML, CSS 그리고 JavaScript라는 프로그래밍 언어로 이루어져 있습니다. 프론트엔드 개발자는 HTML로 웹사이트의 뼈대를 잡고 CSS로 이를 보기 좋게 꾸미고 JavaScript로 움직이게 만듭니다.
브라우저의 영역이 아닌 보이지 않는 부분, 즉 곧 서술할 백엔드 영역은 Java, Python 그리고 JavaScript(Node.JS) 등 여러 가지 언어로 구성될 수 있지만 프론트엔드 영역은 위 세 가지 언어로 구성됩니다. 또한 이런 화면 구성에 그치지 않고 사용자에게 보이지 않는 부분들을 보이는 부분과 연결하여 로그인과 같이 여러 복잡한 기능을 관리해 전체적인 동작을 가능하게 해줍니다.
백엔드 개발자는 무슨 일을 할까요?
백엔드 개발자는 프론트엔드 개발자와는 반대로 사용자에게 보이지 않는 부분에 대한 모든 것을 관리합니다. 예를 들어 소셜 커머스를 이용할 때를 떠올려볼까요? 만약 여러분이 경영자라면 쇼핑몰에 올라온 모든 물건에 대한 데이터를 고객에게 보여줄 필요가 있을까요? 다시 말해, 고객이 모든 상품에 대한 데이터를 가지고 있을 필요가 있을까요? 아마 데이터를 저장해 둘 공간을 마련하고 고객이 요청했을 시에만 이를 보여주도록 하는 것이 더 영리한 방법일 것 같습니다. |