728x90
Razor 란? - 서버 측 마크업 언어
Razor는 서버 기반 코드(C#)를 웹 페이지에 포함할 수 있는 마크업 구문입니다.
Razor 구문은 Razor 태그, C# 및 HTML로 구성 되어 있고, Razor를 포함하는 파일의 확장명은 일반적으로 .cshtml 이며, 다양한 JavaScript SPA(단일 페이지 애플리케이션) 프레임워크(예: Angular, React, VueJs 및 Svelte)의 템플릿 엔진과 비슷합니다.
Razor Page 특징
- HTML 페이지와 유사하지만 데이터를 쉽게 로드합니다.
- ASP.NET MVC의 보기 구성 요소와 거의 동일합니다.
- 기본적으로 MVC와 같은 문법과 기능을 가지고 있습니다.
- MVVM(Model-View-View-Model) 프레임워크와 유사합니다.
- Razor 구문은 @로 시작하는 형태입니다.
💡 MVVM이란?
MVVM은 MVC와 유사한 디자인 패턴으로 UI와 비지니스 로직을 분리하기 위한 개발패턴 입니다. MVC는 Model-View-Controller구분을 통해 View Rendering(One-Way)을 지원하지만, MVVM은 ViewModel을 통해 View와 상호작용(Two-Way)을 지원합니다. MVC는 모든 요청을 Controller가 처리하는 형태라면, MVVM은 View 마다 존재하는 ViewModel이 Controller의 역할을 대신하기 때문에 View 별로 격리된 관점에서 생각하고 개발할 수 있습니다.
- 양방향 데이터 바인딩과 View 별로 격리가 되어 있어 더 간단한 개발 경험을 제공합니다.
💡 Razor Page와 MVC의 기본적인 차이점은 Model과 Controller 코드도 Razor Page 자체에 추가된다는 것입니다. 별도로 Model과 Controller 코드를 추가할 필요가 없습니다.
728x90
'.NET' 카테고리의 다른 글
[.NET] 라우팅(Routing) / Routing in Action (0) | 2023.03.08 |
---|---|
[.NET] MVC Arhcitecture 란? (0) | 2023.03.08 |
[.NET] launchSettings.json / wwwroot / appsettings.json 에 대해 알아보자 (0) | 2023.03.08 |
[.NET] 프로젝트 파일(Project File)에 대해서 알아보자 (0) | 2023.03.07 |
[.NET] 핫 리로드(Hot Reload)에 대해서 알아보자 (0) | 2023.03.07 |