개발자들의 용어 정리 13 [프론트엔드, 백엔드]
프론트엔드
예전에는 사용자가 요청시 서버는 HTML의 모든 리소스를 보내주는 형식으로
그 효율성이 매우 좋지 못하였다. 부하↑, 속도↓
따라서 예전의 웹 프로그래머 = 웹 서버 프로그래밍을 의미하는 것이었다면..
최근에는 브라우저를 프로그래밍할 수 있는 자바스크립트 언어의 기능↑ 되면서
웹 브라우저의 세세한 부분으로 나눠서 그 요청을 나눌 수 있고 이로 인해 서버의 부하를 줄일 수 있다.\
ㄴ Ex> 좋아요 시스템의 경우 좋아요를 누를 경우 HTML 페이지 전체를 로딩하는 것이 아닌 자바스크립트로 코딩된 일부 영역만을 서버에 요청하므로 서버에 가해지는 부하 측면에서 매우 효율적이라 할 수 있다.
결론적으로 유저는 빠른 속도와 데이터 낭비를 줄일 수 있는 것이다.
웹 사이트에서 필요한 데이터를 서버에 요청하고 반환된 정보를 활용해 화면을 구성하는 일이
프론트엔드 개발자가 하는 일이다.
※ 브라우저 언어로는 자바스크립트를 여전히 많이 쓰지만 좀 더 효율적으로 관리하고자 하는 개발자들
혹은 프로그램은 타입스크립트를 쓴다.
타입스크립트 언어는 자바스크립트에서 파생된 언어로 데이터에 자료형 타입을 부여하여 좀 더 오류 매니지먼트 측면에서
확실히 할 수 있는 언어인 셈이다.
백엔드
서버사이드 측 연산이다.
프론트엔드(클라이언트 측)에서 백엔드(서버)로 요청시 이를 반환하는 코딩을 하는 기술적 부분이다.
쉽게 말해 SNS의 예로 보자.
① SNS 접속시 브라우저는 프론트엔드 프로그램대(클라이언트 측)로 서버에 친구들의 피드를 보여달라 요청한다.
② 서버는 요청을 받아 DB에서 사용자의 친구 목록을 얻고, 친구들이 올린 피드를 최신순으로 뽑아서 클라이언트 측에 전송한다.
이처럼 클라이언트 단의 프로그램이 어떤 요청을 하면 백엔드 측은 그에 대응하여 반환하는 구조인 셈이다.
대게 프론트엔드 개발은 자바스크립트 언어를 쓴다.
백엔드는 서버에 돌아가는 프로그램을 만드는 것이므로 Java, Python, Javascript, C#, PHP, Ruby 등 다양한 언어가 활용될 수 있다.