쉽게 말해서 프론트엔드는 클라이언트, 백엔드는 서버에서 실행된다.
즉 프론트엔드 개발자는 사용자에게 보여지는 웹(web)화면을 개발한다.
그럼 당연히 HTML, 자바스크립트같은 프론트엔드 언어가 쓰일것이고,
백엔드는 php, asp, jsp, ajax, node.js등의 사용자에게는 보여지지 않는 서버단 언어가 쓰인다.
정말 단어 그대로
Front : 앞쪽
Back : 뒤쪽
인 것이다.
(그냥 클라이언트, 서버로 생각해버려도 위화감이 없다.)
지나가던 강아지도 5초면 이해할정도의 설명이었다.
네이버를 예를 들어 설명해 보자면,
프론트 엔드 개발자가 만든 네이버 화면의 검색창에 단어를 검색하면 백엔드의 서버단 언어에게 명령을 던지게 된다.
즉, 클라이언트(Front-End)에서 '캐나다 여행'을 검색했을 경우 서버단 언어(Back-End)는 DB에서 그에 상응하는 값들을 가져온다.
여기서 DB란 DataBase의 약자로, 각종 정보들을 저장해놓는 수단을 말한다.
대표적으로는 Mssql, Oracle, MariaDB, Mysql등이 있다.
그리고 이 모든 개발이 가능한 개발자를
Full-Stack Developer, 풀스택 개발자라고 부른다.
클라이언트 만지다가 서버단 손보고 DB로 가서 결과를 직접 처리하는 능력자 말이다.
프론트엔드에서는 한계가 있다. 웹디자이너의 보수가 상대적으로 적은 이유가 결국 '디자인'의 한계에서 벗어나질 못한다는 것이고, 클라이언트만 만들어봤자 아무 의미가 없기 때문이다. 단순하게 html파일에 텍스트만 기입하여 웹사이트를 만들던 1990년대 초에나 수요가 많았을 것이다.
이에 상응하여 생긴것이 바로 퍼블리셔이다.
퍼블리셔는 웹디자인과 서버관리를 동시에 한다.
하지만 우리나라에서는 풀스택 개발자가 그저 다재다능한 개발자로 비춰질때가 많은데,
아주아주 지극히 주관적이고 개인적이고 다소 이기적인 필자의 시선으로 보았을 때는 좋은 인재를 어떻게든 싼맛에 부려먹고싶은 우리나라 고용주들의 심리상태가 여실히 드러난 결과라고 생각이 된다.
한마디로 싸게 부려먹고싶은 심보인 것이다.
애초에 풀스택 개발자를 구하는 기업은 단 한가지, 그냥 돈이 없는게 이유이기 때문이다.