작성
·
184
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
부자가될거야님, Web App이라고 하면 웹 기반의 응용 프로그램을 뜻하는데요, 서버에서 HTML을 응답하는 전통적인 서버 사이드 렌더링 방식과, 클라이언트 사이드에서 JavaScript를 활용해 동적으로 화면을 구성하는 방식 모두를 포함합니다.
타임리프나 JSP 같은 뷰 템플릿 엔진을 사용하는 경우는 서버 사이드에서 HTML을 생성하여 클라이언트로 전송하는 방식을 말씀하신 것 같습니다. 이는 전통적인 웹 애플리케이션의 한 예입니다.
반면에 Vue.js와 같은 프론트엔드 프레임워크를 사용하여 구현된 애플리케이션은 브라우저 상에서 동작하며 서버와 주로 JSON 형태로 데이터를 주고받으며, UI를 동적으로 조작합니다. 이를 SPA(Single Page Application)라고 하며, 이 역시 웹 애플리케이션의 한 형태입니다.
결국 Web App은 서버 사이드 렌더링이 될 수도 있고, 클라이언트 사이드 렌더링을 사용하는 SPA가 될 수도 있으며, 요즘에는 이 두 방식을 혼합한 하이브리드 형태도 존재합니다. 따라서, 타임리프나 JSP 뿐만 아니라 JSON을 주고받는 방식으로 구현된 애플리케이션도 웹 앱이라고 할 수 있습니다.