본문 바로가기
프로그래밍/Blazor

Razor vs Blazor 둘은 어떻게 다른가?

by bantomak 2023. 5. 17.

ASP.NET 환경에서 Razor와 Blazor

Razor

Razor는 HTML와 임베디드를 사용해서 웹 페이지를 동적으로 생성하는 걸 가능하게 하는 Server-side 마크업 언어(Markup Syntax)다.

Razor는 Razor 페이지를 통해서 웹페이지를 생성한다. 웹 페이지 템플릿 파일은 C#과 VB으로 작성된다.

 

  • VB코드로 작성된 razor 페이지의 확장자 .vbhtml
  • C# 코드로 작성된 razor 페이지의 확장자 .cshtml

 

Blazor

Blazor는 .NET 프로그래밍 언어를 사용하여 클라이언트 사이드 반응형 애플리케이션을 빌드할 수 있도록 지원하는 웹 애플리케이션 프레임워크다. Blazor로 빌드된 single-page application(SPA)은 웹 브라우저 안에서 실행된다.

 

또한 Blazor를 사용하면 개발자는 JavaScript를 통합할 필요 없이 C#, HTML, 및 CSS를 사용해서 재사용 가능한 반응형 클라이언트 웹 구성 요소를 만들 수 있다. 또한 해당 구성 요소는 C#으로 작성되므로 필요에 따라 구현 세부 정보가 클라이언트와 서버 간에 유연하게 이동 가능하다.

 

Blazor가 Razor를 사용한다.

Blazor는 Razor 구문을 완벽하게 지원한다. Razor의 모든 마크업 기능을 이용해서 Blazor 앱을 빌드할 수 있다.

@page "/HelloWorld"
<h1>
   Example Component
</h1>
@foreach(var person in People){
    <h2>person.FirstName</h2>
}

 

Razor와 Blazor의 연결점

Blazor의 이름 자체가 "browser"와 "razor"의 결합을 의미한다.

이름 그대로 brower에서 실행되는 razor이다.

 

Blazor안에서 사용되는 Razor에 대해서 명확하게 짚고 넘어갈 필요가 있다.

Razor는 전체페이지가 아니라 컴포넌트(button, page elements, etc)를 구성하는 역할을 한다.

 

Blazor 프로젝트 안에 Razor 파일이 있고 구성요소들도 Blazor Component가 아니라 Razor Componenet라고 불린다.

(해당 용어가 혼재돼서 사용되는 편이니 주의하자.)

 

정리하면서

Razor는 API 로직과 서버 사이드 템플릿을 처리할 수 있지만 JavaScript 기반이 아닌 클라이언트 사이드 로직은 처리할 수 없다. Blazor는 프로그래머에게 C#만으로 클라이언트와 서버 양쪽 모두 처리가 가능하다.

 

Razor는 템플릿을 위한 마크업 구문이다. 서버 사이드 코드를 HTML로 통합한다.

Blazor는 상황에 따라 Blazor WebAssembly 또는 Blazor Server 양쪽에서 실행이 가능한 SPA 프레임워크이다.

 

참고 페이지

 

Razor vs Blazor: How it Works for Developers (Tutorial) | IronPDF

Razor and Blazor are two of the most popular web UI frameworks for creating web apps in the Visual Studio development environment.

ironpdf.com

 

Blazor 사용을 결정한 이유

Blazor란? 웹 브라우저에서 실행되는 .NET 웹 프레임워크이다. .NET에서 제공하는 것과 동일한 일관성, 안정성 및 생산성으로 풀스택 앱 개발을 번들로 제공한다. WebAssembly를 통해 구현되기 때문에

jettstream.tistory.com

댓글