가끔 인스타에서 빈 사각형만 뜨는 이유

프론트엔드와 백엔드, 홀과 주방

by 잇문학도
1767830511864?e=1769644800&v=beta&t=3CpejdjTe9EXRwUgH_yiFbus1tqdbchN2aya2rBBzKY


1.
사용자가 직접 만지는 화면과 시스템 내부의 로직은 마치 식당의 '홀과 주방'처럼 분리되어 있습니다.
프론트엔드(Frontend)는 손님이 앉는 홀입니다. 메뉴판(UI), 세련된 인테리어(디자인), 점원의 서비스(사용자 경험)를 담당하죠.
반면 백엔드(Backend)는 눈에 보이지 않는 주방/사무실입니다. 재료 관리(DB), 요리(로직), 가스·수도 관리(서버 인프라)처럼 서비스가 돌아가게 하는 핵심 엔진 역할을 합니다.

2.
우리가 자주 사용하는 배달 앱 주문 프로세스를 보면 이 구분이 명확한데요. 사용자가 앱에서 메뉴를 담고 '결제하기' 버튼을 누를 때, 화면이 끊기지 않고 부드럽게 넘어가는 건 홀(프론트엔드)의 기술입니다. 하지만 버튼이 눌리는 순간 사용자의 잔액을 확인하고, 사장님께 알림을 보내고, 재고 숫자를 줄이는 복잡한 계산은 주방/사무실(백엔드)에서 은밀하게 처리됩니다.

3.
인스타그램 피드(게시물)가 로딩되는 과정를 예를 들어보겠습니다. 앱을 켜면 일단 로고와 빈 사각형 틀(스켈레톤 UI라고 부릅니다)이 먼저 나오는데, 이게 프론트엔드가 준비한 껍데기에요. 그다음 프론트엔드가 주방/사무실에 "사용자 A의 최신 사진 10개만 줘!"라고 외치면, 백엔드는 DB에서 데이터를 찾아 JSON 형태({"image": "url", "text": "hello"} 같은 모양)로 묶어 보냅니다. 프론트엔드는 이 데이터를 받아서 image는 사진틀에 text는 댓글틀에 예쁘게 끼워 넣어 우리 눈에 보여주는 것이죠.

4.
저도 예전에 게시물 업데이트 기능 구현으로 애먹은 적이 있는데요. 버튼이 잘못 꼬이니까 다 문제가 생기더라구요. 버튼을 누른 뒤에 일어나는 데이터 처리(백엔드) 로직에 대해 무지하다보니 생긴 일이었습니다. "이건 화면의 문제(프론트)인가, 아니면 데이터의 문제(백엔드)인가?"를 바로 구분하는 게 초심자에게는 쉬운 일이 아니었어요.

5.
이 흐름을 직접 보고 싶다면 PC 크롬 브라우저에서 F12(개발자 도구)를 눌러보세요. Network 탭을 클릭한 뒤 아무 사이트나 들어가 보면, 리스트 중 하나에서 백엔드가 보낸 날것의 데이터(JSON)를 확인할 수 있습니다. "아, 이게 화면으로 변하는구나!"를 체감하는 순간, 시선이 조금 달라지실 거에요. 여기서 다운로드 되는 모습을 확인하고 데이터를 클릭해 받을 수도 있답니다. 물론 개발자가 공개해놓았다는 가정 하에서지만요.

6.
우리 비개발자들은 홀과 주방이 각 역할이 있고, 어떤 통로로 대화한다는 구조만 이해해도 충분하지 않을까요? 그리고 일부는 API처럼 외부에 코드를 꽂아 기능을 가져와 쓰는 거죠. 마치 외부 마켓에서 재료나 중간 제빵 과정을 도움 받는 것처럼요.

7.
추가로 '프레임워크(Framework)'라는 개념도 있는데요. 이는 요리로 치면 '밀키트' 전문 주방 같은 겁니다. 정해진 순서대로 정해진 재료를 쓰죠. 비슷하게 라이브러리(Library)도 있는데요. 내가 원할 때, 내가 원하는 양만큼 자유롭게 가져다 쓰는 양념이나 에어프라이어와 같습니다. 맛을 보장하는 조미료 같은 라이브러리도 있죠. 공부할 게 참 많네요.


[세 줄 이해]
- 프론트엔드는 사용자 화면(UI), 백엔드는 데이터 처리 로직을 담당한다.
- 프레임워크는 효율적인 개발을 도와주는 '표준 밀키트(Kit)' 같은 도구이다.
- 두 세계는 API(JSON 데이터)를 통해 대화하며 철저히 분리되어 돌아간다.

이전 05화퍼플렉시티는 다른 AI와 다릅니다