본문 바로가기

Code.D IT 강좌/ETC

Front-End(프론트엔드) vs Back-End(백엔드) 비교




Front-End와 Back-End가 무엇일까요? 저는 개발자인 친구와 함께 팀을 꾸려 창업 경진대회에 나갔던 적이 있었습니다. 저희 팀이 대회에 앞서 멘토분과 멘토링을 했었는데 멘토분이 개발자 친구에게 묻더군요. "너는 개발 쪽이 프론트엔드야? 백엔드야?" 그러더니 친구가 백엔드라고 대답을 했더라고요. 대화 사이에서 저는 무슨 소린지 몰라 벙쪄 있었던 경험이 있는데요, 프로그래밍을 배우기 전에 제대로 된 개념을 잡기 위해 Front-End와 Back-End의 비교라는 주제를 가지고 왔습니다.









Front-End vs Back-End


사용자(user)의 화면에 나타나는 웹 화면을 프론트엔드(Front-End) 영역이라 합니다. 쉽게 말하면 웹페이지를 그리는 기술이라고 말씀 드릴 수 있습니다. 이러한 영역을 설계하는 사람을 Front-End 개발자라고 합니다. 반면 백엔드(Back-End) 개발자는 눈에 보이지 않는 서버에서 작용하는 기술을 다루는 직군입니다. 백엔드는 UI나 GUI로 구성된 화면의 통신이나 요청에 대하여 DB나 인터페이스 등을 통해 시스템 구성 실체에 접근하는 것입니다.


Front-End는 사용자(user)와 직접 접촉하며 상호작용이 이루어지는 반면

Back-End는 사용자와 만나지 않고 Front-End와 연동하여 기술적인 부분을 처리합니다.







Front-End vs Back-End 파트



프론트엔드 파트는 UX designer, Web designer, Front-End developer로 구성됩니다. UX 디자이너는 사용자에게 최상의 편리한 경험을 제공하기 위해 사이트의 구성/기능을 담당합니다. Web 디자이너는 이를 디자인으로 멋지게 뽑아내는 것이고, 프론트엔드 개발자는 뽑아낸 디자인을 웹어플리케이션(Web application)으로 구현하는 것입니다.


백엔트 파트는 다양하게 나올 수 있는데 그 중의 몇 가지 예로 서버관리자, DB관리자, Back-End developer로 구성됩니다. 서버관리자는 서버 환경설정, 서버구성을 관리하는 것이고, DB관리자는 DB설계 Data관리, 최적화를 하는 것입니다. 백엔드 개발자는 서버를 코딩하는 것이죠. 







Front-End vs Back-End 요구 기술


프론트엔드 개발 시 주요하게 요구되는 스킬은 다음과 같습니다. HTML/CSS/JAVA SCRIPT와 같은 스킬 및 디자인적인 요소도 관여하게 됩니다. 백엔드 개발 시에는 서버코딩, 서버상에서 DB활용, API제작 등이 주요한 부분이라고 볼 수 있습니다. 이 중에서 JAVA(자바)를 많이 사용하고 Spring 프레임워크 기반으로도 많이 사용합니다. 프레임워크(Frame Work)란 말 그대로 뼈대란 뜻입니다. JAVA 소스 코드를 객체지향 관점에서 더욱 효율적으로 활용할 수 있게 틀을 제공해주는 것이죠.







풀스택 개발자(Full Stack developer)



조사를 하다보니 프론트엔드와 백엔드 이 외에도 풀스택 개발자란 것이 또 있더군요. 풀스택 개발자란 쉽게 이야기해서 프론트엔드와 백엔드를 합친 것이라고 보시면 됩니다. 한 마디로 모든 것을 다 하는 개발자인 셈이죠. 뭐.. 다 한다고 다 좋은 것은 아니겠죠? 장점도 있고 단점도 있겠지만 상황에 따라서는 프론트와 백엔드를 구분해서 역할을 분담할 필요가 있을 때도 있고 어떤 상황에서는 풀스택 개발자가 필요한 경우도 있겠죠.