.NET Core 3.0을 기반으로
최근에 MS는 .NET Core 3.0 프레임워크를 공개하였는데요, 이 프레임워크에 Blazor 프레임워크가
포함되어 있습니다. 프레임워크 안의 프레임워크라... Blazor는 Microsoft가 만든 새로운 프레임워크입니다.
이 프레임워크의 목적은 .NET을 중심으로 특히 C#이라는 프로그래밍언어로 서버 측, 사용자 측 프로그램을 만드는 것입니다.
자바스크립트가 아니라 C#으로 사용자 기반 프로그램을 만들 수 있다는 것은 C# 개발자가 환영할만한 내용입니다.
기존의 .NET 생태계를 활용할 수도 있겠군요...
서버, 사용자 모두 같은 프로그래밍 언어를 사용하니 애플리케이션 로직도 공유가 가능하겠군요...
.NET기반이니 뭐 기능이나 사용는 그리 불편하지는 않을 것 같습니다.
Blazor 애플리케이션은 2가지 형태로 존재합니다.
1. Blazor Web Assembly : .NET으로 대화형 사용자 기반 웹 애플리케이션을 만들기 위한 싱글 페이지 애플리케이션 프레임워크입니다. 웹 브라우저에서 .NET 소스코드를 실행해서 WebAssembly로 만들어집니다. WASM이라고도 하는 WebAssembly는 빠른 다운로드와 빠른 실행 속도를 위해 최적화된 간소한 바이트코드 형식입니다. 오픈 웹 표준이며 플러그인이 없이도 웹 브라우저에서 실행됩니다. 아직 개발중이고 2020년 5월까지 준비될 예정이라고 합니다.
2. Blazor server : ASP.NET Core 애플리케이션 서버에서 Razor 컴포넌트를 관리합니다. 컴포넌트가 실행되는 방법과 사용자 인터페이스를 분리하였습니다. 사용자 인터페이스 관리는 SignalR을 통해서 관리합니다.
런타임은 브라우저에서 서버로 사용자 인터페이스 이벤트 발송을 관리하고, 컴포넌트를 실행한후 서버가 브라우저에게 보낸 내용을 적용합니다.