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를
사용하여 웹 서버와 통신하는 것
- 단일 페이지 앱으로 웹브라우저에서 대부분의 사용자 인터페이스 로직을 수행하며 기본적으로 웹 API를
- 모바일브라우저를 비롯한 모든 최신 웹 브라우저에서 작동합니다.
- SPA의 특징답게 클라이언트에서 대부분의 렌더링이 이루어짐.
- 따라서 서버 부담은 감소하지만 클아이언트 부담이 높아짐!
- 하지만 서버를 거치지 않고 클라이언트에서 모든 로직이 실행되기 때문에 일반적인 윈도우 어플리케이션에 준하는 속도가 장점
- Blazor WebAssembly 앱이 빌드되고 브라우저에서 실행되는 경우
- C# 코드 파일과 Razor파일은 .NET 어셈블리로 컴파일 됩니다.
- 어셈블리와 .NET 런타임이 브라우저에 다운로드 됩니다.
- Blazor WebAssembly는 .NET 런타임을 부트스트랩하고 앱의 어셈블리를 로드하도록 런타임을 구성합니다.
런타임은 JavaScript interop을 사용하여 DOM 조작 및 브라우저 API를 호출합니다.
WebAssembly란?
더보기
- 약칭 Wasm은 스택 기반 가상 머신을 위한 바이너리 명령어 형식입니다.
- Wasm은 프로그래밍 언어를 위한 가능한 컴파일 대상으로 설계되어 클라이언트 및 서버 응용프로그램을 웹에 배포할 수 있습니다.
참고
docs.microsoft.com/ko-kr/aspnet/core/blazor/?view=aspnetcore-5.0
developer.mozilla.org/en-US/docs/WebAssembly/Concepts#Summary
반응형
'프로그래밍 > C#_Blazor' 카테고리의 다른 글
📘 RESTful API 네이밍 규칙 (0) | 2024.10.23 |
---|---|
[Blazor] MudBlazor 소개 (UI 컴포넌트 라이브러리) (0) | 2024.06.23 |
[Blazor] 블레이저란? - 2 (blazor web app/ WebAssembly - 재정리) (0) | 2024.06.23 |
[Blazor] 2. 메뉴 추가하고 화면에 표시하기 (0) | 2020.12.11 |
[Blazor] 1. blazor를 이용하여 서버앱 만들기 - 프로젝트 생성 (0) | 2020.12.11 |
댓글