All Articles

백엔드는 왜 나오게 되었을까?

프론트앤드는 안보셔도 됩니다. (라고 썼다고 진짜로 가시면 안되요...)

### **웹사이트의 발전과정**

1세대 웹사이트

화면에 HTML만 가득하다. HTML을 이쁘게 보이게 하기위한 여러가지 데코(CSS)가 듬뿍. 오로지 보여주기만 한다.

서버는 저장된 HTML문서(HTML 양식 + 정보) 를 브라우저에서 볼수 있게 전송해준다.

2세대 웹사이트

HTML만 보여주던 웹에서, DOM 을 통해 HTML을 조종하며 정지되어 있는 화면이 아니라 사용자의 입력에 따라 다양한 반응을 보여준다.

서버는 HTML과 HTML을 다루는 스크립트언어(JS), HTML에 담길 데이터를 함께 전송해준다. 화면에 보여지는 부분과 보여지는 부분을 다루기 위한 데이터가 섞여있어 코드가 복잡해진다. 페이지가 바뀔 때 마다 페이지 구성요소를 전부 받아야한다.

3세대 웹사이트(~현재)

화면에 보여지는 부분의 로직을 처리하는 부분(프론트엔드)과 로직에 필요한 데이터를 전송하는 역할로(백엔드) 분리시켜 처리한다. 보여지는 부분의 로직을 처리하는(프론트엔드) 정보(JS, CSS)를 한번에 불러오고, 로직이 요청하는 정보(JSON)만을 받아와서 처리해서 화면에 보여준다.

프론트 서버는 프론트 구동을 위한 데이터를 한번만 보내고, 백 서버는 프론트에서 요청하는 정보만을 요청할때에만 보낸다.

이렇게 함으로 유저는 페이지 이동시마다 전체 페이지 로딩을 기다리는 시간이 줄어들고, 서버에서도 모든 데이터를 다 보낼 필요가 없어져서 효율성이 올라간다.

백엔드

백엔드라는 존재가 없다가 갑툭튀 는 아니고. 프론트와 백을 같이 다루던 웹 개발에서 전문분야로 특화 되었다고 보면 될것 같다.

백엔드는 프론트의 요청에 따라 전송될 데이터 구조, 전송 속도, 안정성 등의 분야를 다루게 되고, 프론트는 불러온 데이터를 바탕을 유저에게 보여지는 면을 다루게 된다. 그러다보니 다루고 배워야 할 것들이 많이 다르다. 그래서 위코드는 풀스택보다는 한쪽을 지향 하는 것을 추천한다.

참고) 위코드 2기 승재님 블로그

https://koreanblacklee.github.io/posts/webpage