March 12, 2023
회사에서 이런 질문을 받았다.
“프론트엔드가 왜 나왔어?”
나는 회사에서 React.js를 경험해본 몇 안되는 사람 중 한명으로서 이유를 잘 몰랐지만 아는체하며 이정도로 대답을 했다.
“Javascript가 발전하면서 브라우저에서 할 수 있는 역할이 많아졌고 그래서 프로그래밍이 프론트엔드와 백엔드로 구분되어서 현재의 모습으로 발전된 것 같습니다.”
“이정도”로 대답할 수 밖에 없었던 나는 약간의 죄책감과 함께 앞으로 내가 공부하고 싶은 것들에 대해 생각해보았고 나름의 동기부여도 확보했다.
그리고 “프론트엔드가 나온 이유”에 대한 글을 작성한다.
이 글은 웹 프로그래밍의 역사를 돌아보면서 프론트엔드의 개념이 어떻게 나오게 되었는지 작성하겠다.
” 현재를 알기 위해서는 과거를 알아야한다 ” 라는 말이 있다. 어떤 공부던지 원리와 배경을 먼저 이해해야지 학습이 잘되는 내게 공감되는 문장이다.
내가 좋아하는 개발자 중에 이런 글쓰기를 잘하시는 분이 한명 있다. 몇 안되는 프론트엔드 시니어 개발자 테오이다. (프론트엔드는 역사가 짧기에 시니어가 몇안되는 것으로 알고 있다)
이 글을 쓰는데 좋은 영향력을 준 테오의 글을 소개한다.
프론트엔드 역사와 미래, 업무 분야 … 그리고 잘하는 프론트엔드 개발자란?
글이 좀 길긴 하지만 프론트엔드에 관심이 있는 사람이라면 몰입해서 재미있게 읽을 수 있을 것이다.
글을 읽어보고 내가 쓰고 싶은 글에 포함되는 부분만 요약해서 정리해보았다.
프론트엔드 영역이 갑자기 뿅!하고 나온 것은 아니라고 한다. 특정 시점부터 지금처럼 이렇게 프론트엔드 / 백엔드 영역이 선명하게 세분화 되었다고 한다.
우선 간단하게 웹의 발전을 짚어보자면.
다시한번 “프론트엔드가 왜 나왔어”라는 질문을 받게 된다면 이렇게 답할 수 있을 것 같다.
- JavaScript는 1995년에 처음 등장한 이후 수없이 발전해왔습니다.
- Ajax의 등장으로 2000년대 후반부터 비동기적으로 데이터를 주고받는 개발이 가능해졌고, jQuery의 등장과 함께 DOM 조작 및 이벤트 핸들링 등을 보다 쉽게 할 수 있게 되었습니다.
- 구글의 V8엔진, chrome브라우저가 등장하고나서 JavaScript는 node.js라는 서버개발이 가능한 형태로 발전했고 범용적 프로그래밍언어가 되었습니다.
- 또한 module 방식의 보편화와 npm 생태계는 2010년대 후반부터 JavaScript 개발에서 널리 사용되기 시작했으며, 이를 통해 JavaScript 개발의 버전 관리 및 의존성 관리가 쉬워졌습니다.
- 페이스북과 같은 거대한 단일 웹서비스의 등장 이후 2010년대 중반부터는 기존과 다른 개발 방식으로 SPA(Single Page Application)와 관련된 프레임워크 및 라이브러리가 등장했으며, 이때부터 프론트엔드와 백엔드 개발이 분리되어 웹 프로그래밍 방식이 변화하게 되었습니다.