본문 바로가기
프로그래밍/C#_Blazor

[Blazor] 블레이저란?

by 뽀도 2020. 12. 10.

Blazor


1. Blazor란?

 

- 마이크로소프트에서 개발한 오픈소스 웹 개발 프레임워크

 

- .NET을 사용하여 클라이언트쪽 웹 UI를 빌드함

 

- 모바일 브라우저를 포함한 광범위한 브라우저 지원을 위해  UI를 HTML 및 CSS로 렌더링함

 

- 자바스크립트가 아닌 .net core 기반의 c#으로 작성할 수 있다.

 

- 이를 위해 최신 표준인 webAssembly를 채택함

 

- C#으로 작성된 클라이언트쪽 로직 코드들은 전부 .NET Standard Assembly 파일로 컴파일 후 WebAssembly 런타임 위에서 실행된다. 



1-1. Blazor Server

  • ASP.NET CORE 서버와 Razor 엔진을 이용한 에디션, 
  • 서버에서 대부분의 렌더링과 프로세싱이 이루어 지는것이 특징
  • 클라이언트의 부담이 적음
  • 서버쪽에서 이루어지는 업데이트들을 클라이언트 쪽에서 SignalR을 이용해 수신받는다.

 

1-2 Blazor WebAssembly

  • .NET을 사용하여 대화형 클라이언트 쪽 웹앱을 빌드하기위한 SPA 프레임워크
  •  SPA란 ? 
    •         단일 페이지 앱으로 웹브라우저에서 대부분의 사용자 인터페이스 로직을 수행하며 기본적으로 웹  API를
              사용하여 웹 서버와 통신하는 것
  • 모바일브라우저를 비롯한 모든 최신 웹 브라우저에서 작동합니다.
  • SPA의 특징답게 클라이언트에서 대부분의 렌더링이 이루어짐.
  • 따라서 서버 부담은 감소하지만 클아이언트 부담이 높아짐!
  • 하지만 서버를 거치지 않고 클라이언트에서 모든 로직이 실행되기 때문에 일반적인 윈도우 어플리케이션에 준하는 속도가 장점
  • Blazor WebAssembly 앱이 빌드되고 브라우저에서 실행되는 경우 
    1.  C#  코드 파일과 Razor파일은  .NET 어셈블리로 컴파일 됩니다.
    2. 어셈블리와 .NET 런타임이 브라우저에 다운로드 됩니다.
    3. Blazor WebAssembly는 .NET 런타임을 부트스트랩하고 앱의 어셈블리를 로드하도록 런타임을 구성합니다.
      런타임은 JavaScript interop을 사용하여 DOM 조작 및 브라우저 API를 호출합니다.

 

WebAssembly란?

더보기
  • 약칭 Wasm은 스택 기반 가상 머신을 위한 바이너리 명령어 형식입니다.
  • Wasm은 프로그래밍 언어를 위한  가능한 컴파일 대상으로 설계되어 클라이언트 및 서버 응용프로그램을 웹에 배포할 수 있습니다. 

https://namu.wiki/w/WebAssembly


 

참고

docs.microsoft.com/ko-kr/aspnet/core/blazor/?view=aspnetcore-5.0

 

ASP.NET Core Blazor

ASP.NET Core 앱에서 .NET을 사용하여 대화형 클라이언트 쪽 웹 UI를 빌드하는 방법인 ASP.NET Core Blazor를 살펴봅니다.

docs.microsoft.com

namu.wiki/w/Blazor

 

Blazor - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

developer.mozilla.org/en-US/docs/WebAssembly/Concepts#Summary

 

docs.microsoft.com/ko-kr/dotnet/architecture/modern-web-apps-azure/choose-between-traditional-web-and-single-page-apps

반응형

댓글