[스프링부트] 궁금한 것: 뷰가 왜 뷰인가?

Gihongg·2025년 2월 26일

Spring Boot

목록 보기
24/24
post-thumbnail

MVC패턴에서 예전부터 궁금하던 점

여러 프로젝트를 수행하고 심지어 풀스텍까지 개발할 동안 항상 마음속 어딘가에서 궁금하던 것이 있었다.
뷰는 왜 뷰일까?
api를 개발하다보면 사실상 클라이언트에게 전달되는 주체는 JSON형태의 데이터들인데(주로 DTO) 왜 이름이 View일까?

MVC에서 모델은 모델이고 컨트롤러는 컨트롤러다.

그런데 왜 뷰는 뷰일까? 물론 정적 웹페이지를 반환한다면 뷰를 뷰로 부르는게 이상하지 않다.

진짜 사용자/클라이언트에게 웹페이지를 보여주는 것 이니까.

하지만 요즘 개발 트렌드는 주로 api 그리고 프론트엔드(react 등)이 함께 개발된다.

그리고 클라이언트는 프론트엔드를 통해 데이터를 본다. 이와 같이 View라는 의미에는 프론트엔드가 더 적합하다.

나는 이 점이 궁금했다. MVC모델이라면서 뷰의 역할 대부분은 왜 프론트엔드가 하나?

그래서 오늘 조사를 좀 해봤다.

전통적인 뷰와 현재의 뷰

전통적인 웹 앱에서 View는 JSP, Thymeleaf 같은 템플릿으로, Model 데이터를 HTML로 렌더링해 사용자에게 보여주는 식이었지만

API같은 경우 View는 JSON/XML 같은 데이터 구조로, 클라이언트가 받아서 직접 UI를 만들어낸다.

예: {"name": "사과"} → 클라이언트가 JavaScript로

사과

를 생성.

따라서 일부 개발자들은 API에선 View가 없다고 하지만 MVC패턴 관점에서는 응답 데이터의 표현 방식을 뷰로 보는게 일반적이다

결론: 개발 방식의 변화가 생겨 이름과 의미가 완벽히 맞아 떨어지진 않지만 응답 데이터를 뷰로 보는 것이 일반적이다.

profile
전천후 개발자

0개의 댓글