{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name = 블레이저<br />Blazor
| logo = Blazor.png
| logo size = 64px
| author = [[마이크로소프트]]
| developer = [[닷넷 파운데이션]]
| released = {{시작 날짜와 나이|2018}}
| discontinued = <!-- Set to yes if software is discontinued, otherwise omit. -->
| ver layout = <!-- simple (default) or stacked -->
| latest release version = 
| latest release date = <!-- {{시작 날짜와 나이|YYYY|MM|DD|df=yes/no}} -->
| latest preview version = 
| latest preview date = <!-- {{시작 날짜와 나이|YYYY|MM|DD|df=yes/no}} -->
| repo = {{url|https://github.com/dotnet/aspnetcore/tree/main/src/Components}}
| engine = <!-- or engines -->
| operating system = [[리눅스]], [[macOS]], [[Windows]]
| platform = 
| included with = [[ASP.NET Core]]
| size = 
| language = 
| language count = <!-- Number only -->
| language footnote = 
| genre = [[웹 프레임워크]]
| license = [[아파치 라이선스 2.0]]
| website = {{URL|https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor}}
| standard = 
| AsOf = 
}}
'''블레이저'''(Blazor)는 개발자가 [[C 샤프|C#]] 및 [[HTML]]<ref name="BlazorReassemblingWeb">{{웹 인용|last=Strahl|first=Rick|date=31 July 2018|title=Web Assembly and Blazor: Re-assembling the Web|url=https://weblog.west-wind.com/posts/2018/Jul/31/Web-Assembly-and-Blazor-Reassembling-the-Web|url-status=live|archive-url=https://web.archive.org/web/20181022114639/https://weblog.west-wind.com/posts/2018/Jul/31/Web-Assembly-and-Blazor-Reassembling-the-Web|archive-date=22 October 2018|website=Rick Strahl's Weblog|publisher=[[WP:SPS|Self-published]]}}</ref><ref name="NetInBrowser">{{웹 인용|last=Tomassetti|first=Federico|date=September 4, 2018|title=Blazor: .NET in the Browser|url=https://tomassetti.me/blazor-net-in-the-browser/|url-status=live|archive-url=https://web.archive.org/web/20181022115510/https://tomassetti.me/blazor-net-in-the-browser/|archive-date=22 October 2018|website=tomassetti.me|publisher=Strumenta}}</ref><ref name="BlazorInBrowser">{{웹 인용|last=James|first=Mike|date=12 February 2018|title=Blazor .NET In The Browser|url=https://www.i-programmer.info/news/89-net/11539-blazor-net-in-the-browser.html|url-status=live|website=i-programmer.info|publisher=[[WP:SPS|Self-published]]|archive-url=https://web.archive.org/web/20180218121850/http://i-programmer.info:80/news/89-net/11539-blazor-net-in-the-browser.html |archive-date=2018-02-18 }}</ref><ref name="MsdnCsInBrowser">{{저널 인용|last=Miller|first=Jonathan|date=September 2018|title=C# in the Browser with Blazor|url=https://docs.microsoft.com/en-us/archive/msdn-magazine/2018/september/web-development-csharp-in-the-browser-with-blazor|url-status=live|journal=MSDN Magazine|volume=33|issue=9|archive-url=https://web.archive.org/web/20181022123032/https://msdn.microsoft.com/en-us/magazine/mt829752.aspx|archive-date=22 October 2018}}</ref><ref name="GetStartedBlazor">{{웹 인용|last=Roth|first=Daniel|date=22 March 2018|title=Get started building .NET web apps that run in the browser with Blazor|url=https://devblogs.microsoft.com/aspnet/get-started-building-net-web-apps-in-the-browser-with-blazor/|url-status=live|work=ASP.NET Blog|publisher=[[마이크로소프트]]|archive-url=https://web.archive.org/web/20190430042432/https://devblogs.microsoft.com/aspnet/get-started-building-net-web-apps-in-the-browser-with-blazor/ |archive-date=2019-04-30 }}</ref>을 사용하여 [[웹 애플리케이션|웹 앱]]을 만들 수 있는 [[자유-오픈 소스]] [[웹 프레임워크]]이다. [[마이크로소프트]]에서 개발 중이다.

== 개요 ==
블레이저 앱의 6가지 버전이 발표되었다.

'''블레이저 서버''': 이러한 앱은 ASP.NET Razor 구문을 사용하여 정의된 UI와 함께 ASP.NET Core 서버 프로세스에서 호스팅된다. 원격 클라이언트는 씬 클라이언트 역할을 한다. 즉, 처리 로드의 대부분이 서버에 있다는 의미이다. 클라이언트의 웹 브라우저는 작은 페이지를 다운로드하고 SignalR을 사용하여 [[웹소켓]] 연결을 통해 UI를 업데이트한다. 블레이저 서버는 .NET Core 3의 일부로 릴리스되었다.

'''블레이저 웹어셈블리''': 실행 전에 클라이언트의 웹 브라우저에 다운로드되는 단일 페이지 앱이다. 다운로드 크기는 Blazor Server보다 크며 앱에 따라 다르며 처리는 전적으로 클라이언트 하드웨어에서 수행된다. 그러나 이 앱 유형은 응답 시간이 빠르다. 이름에서 알 수 있듯이 이 클라이언트측 프레임워크는 자바스크립트가 아닌 웹어셈블리를 대상으로 한다(그러나 함께 사용할 수 있음).

'''블레이저 PWA''' 및 '''블레이저 하이브리드''' 에디션: 전자는 PWA(프로그레시브 웹 앱)를 지원한다. 후자는 플랫폼 기반 프레임워크(웹 프레임워크와 반대)이지만 여전히 웹 기술(예: HTML 및 CSS)을 사용하여 사용자 인터페이스를 렌더링한다.

'''블레이저 하이브리드''': 이전에 블레이저 네이티브로 알려진 이 블레이저 버전은 기본 운영 체제에 내장된 HTML 렌더링 엔진을 사용하여 기본 플랫폼 앱에서 사용자 인터페이스를 렌더링한다.

'''블레이저 유나이티드''': 이러한 앱은 블레이저 서버와 블레이저 웹어셈블리의 조합이며 개발자가 렌더링 모드를 더 세밀하게 조정할 수 있는 "두 세계의 최고" 솔루션을 허용한다. 이 접근 방식은 블레이저 웹어셈블리에 필요한 잠재적으로 큰 규모의 사전 다운로드와 Blazor Server에 필요한 지속적으로 열려 있는 SignalR 연결의 단점을 극복한다. 이 블레이저 버전은 현재 .NET 8 로드맵의 일부이며 아직 출시되지 않았다.

ASP.NET 및 블레이저에 대한 설명으로 인해 발생할 수 있는 혼란에도 불구하고 후자는 이러한 유형의 애플리케이션에서 일반적으로 사용되는 [[자바스크립트]] 언어 대신 C# 프로그래밍 언어를 사용하려는 목적으로 웹 애플리케이션 생성에 중점을 둔다.

.NET 5가 출시되면서 블레이저는 [[인터넷 익스플로러]] 및 레거시 버전의 [[마이크로소프트 엣지]]에서 작동을 중단했다.

== 예 ==
다음 예에서는 버튼을 클릭하여 증가할 수 있는 간단한 카운터를 구현하는 방법을 보여준다.

<syntaxhighlight lang="html">
<h1>Blazor code example</h1>
<p>count: @count</p>
<button @onclick="IncCount">Click to increment</button>

@code {
    private int count = 0;

    private void IncCount()
    {
        count++;
    }
}
</syntaxhighlight>

== 같이 보기 ==
* [[asm.js]]
* [[구글 네이티브 클라이언트]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트}}
* {{GitHub|https://github.com/aspnet/AspNetCore|ASP.NET Core}}
* [https://blazorschool.com Blazor School] - The Blazor community documentation.
* [https://blazor-university.com/ Blazor University]—Blazor documentation from a secondary, independent source

{{웹 프레임워크}}
{{마이크로소프트 자유-오픈 소스 소프트웨어}}

[[분류:크로스 플랫폼 소프트웨어]]
[[분류:마이크로소프트 API]]
[[분류:마이크로소프트 개발 도구]]
[[분류:아파치 라이선스 소프트웨어]]
[[분류:웹 프로그래밍]]
[[분류:ASP.NET]]