[ASP.NET Core] Blazor now in official preview!

2019. 5. 22. 15:15WEB/ASP.NET Core

이 글은 https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/을 바탕으로 작성되었습니다. 본 문서에는 원문과 다른 내용추가, 삭제 및 변경을 다소 포함하고 있습니다.

새로운 Blazor 릴리즈 공개와 함께 Blazor가 공식 프리뷰 단계로 전환되었다는 것을 알려드리게 되어 기쁩니다. Blazor는 더 이상 실험적인 프로젝트가 아닙니다. 현재 Blazor 팀은 브라우저의 WebAssembly를 사용하여 Client-Side 실행 지원을 포함하는 '지원되는 웹 UI 프레임워크'를 제공해드리기 위해 노력하고 있습니다.

1년 조금 더 전에 우리는 .NET과 WebAssembly 기반의 클라이언트 웹 UI 프레임워크를 구축하자는 목표로 Blazor 실험 프로젝트를 시작했습니다. 당시 Blazor는 프로토타입 수준이었고 .NET을 브라우저에서 실행할 수 있는지에 관한 수많은 미해결 질문들이 있었습니다. 그 이후로 우리는 컴포넌트 모델, 데이터 바인딩, 이벤트 핸들링, 라우팅, 레이아웃, 앱 크기, 호스팅 모델, 개발도구 등 다양한 고려사항들을 다루는 9개의 실험적인 Blazor 릴리즈를 발표하였습니다. 이제 Blazor는 다음 단계로 나아갈 준비가 되었다고 생각합니다.

Blazor icon

네이밍과 버전관리 단순화

한동안 우리는 Razor Components라는 용어를 사용하기도 했고 다른 한편으로는 Blazor라는 이름을 사용했었습니다. 이는 다소 혼란을 야기했기에 커뮤니티의 의견을 반영하여 ASP.NET Core Razor Components라는 이름을 버리고 대신 Server-side Blazor를 사용하기로 결정하였습니다.

이러한 이름은 Blazor가 다수의 호스팅 모델과 함께하는 단일 클라이언트 앱 모델임을 강조하고 있습니다.

  • Server-side Blazor는 SignalR을 통해 서버에서 실행됩니다.
  • Client-side Blazor는 WebAssembly에서 Client-side를 실행합니다.

그러나 어느 쪽이든 동일한 프로그래밍 모델을 사용합니다. 동일한 Blazor 컴포넌트들은 서버와 클라이언트 환경 모두에서 호스팅할 수 있습니다.

또한 Blazor는 .NET Core의 일부이므로 Client-side Blazor 패키지들의 버전은 .NET Core 3.0 버전과 맞춰집니다. 예를들어 금일(2019년 4월 19일) 제공된 프리뷰 패키지의 버전 번호는 3.0.0-preview4-19216-03입니다. 앞으로 더 이상 Client-side Blazor 패키지에 0.x와 같은 별도의 버전번호를 사용하지 않습니다.

출시 일정

  • Server-side Blazor는 .NET Core 3.0의 부분으로 제공됩니다. (이미 지난 10월에 발표된 내용입니다.)
  • Client-side Blazor는 초기 .NET Core 3.0 릴리즈로 제공되지 않습니다. 그러나 차후 .NET Core 릴리즈에 포함될 수 있도록 전념하고 있습니다. (그리고 더 이상 "실험적인" 릴리즈가 아님을 알려드립니다.)

.NET Core 3.0 프리뷰 릴리즈가 발표될 때 마다 Server-side Blazor와 Client-side Blazor를 지속적으로 제공해 드리겠습니다.

오늘의 프리뷰 릴리즈

이번에 발표된 프리뷰 릴리즈에는 다음과 같은 새로운 기능이 제공됩니다.

  • .razor 파일 확장자를 사용하기 위한 템플릿 업데이트
  • _Import.razor
  • @using을 사용하는 한정자(Scope) 컴퍼넌트
  • 새로운 컴포넌트 Item Template
  • 새로운 Blazor 아이콘
  • Visual Sutdio Code 지원

자세한 정보는 ASP.NET Core 3.0 프리뷰 4 발표를 확인해보세요. 또한 추가적인 정보를 위해 Blazor 릴리즈 노트를 확인해보세요.

Blazor Prview 시작하기

Blazor Preview를 시작하기 위해 아래를 설치해보세요.

  1. .NET Core 3.0 Preview 4 SDK (3.0.100-preview4-011223)를 설치하세요.
  2. 커맨드 라인에서 아래를 입력하시면 Blazor 템플릿이 설치됩니다.
    dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview4-19216-03
  3. Visual Studio 2019 Preview에서 ASP.NET과 Web Development 워크로드를 설치하세요. 그리고 Visual Studio Marketplace에서 최신의 Blazor 확장을 설치하세요. Visual Studio Code를 사용하신다면 가장 최근의 C# 확장을 설치하세요. (이제 Visual Studio Code에서 Blazor를 지원합니다!)
  4. Visual Studio 2019를 실행하고 Tools > Options > Project and Solutions > .NET Core에서 Use previews of the .NET Core SDK를 체크해주세요. 만약 해당 체크박스가 없다면 Tools > Options > Environment > Preview Features에 Use previews of the .NET Core SDK 체크박스가 있으니 체크해주시면 됩니다.

새로운 Blazor 홈페이지(https://blazor.net)를 방문하시면 Blazor 시작을 위한 교육자료와 문서, 튜토리얼을 확인하실 수 있습니다.

Blazor 홈페이지 미리보기

Blazor Preview로 업그레이드

이미 개발하신 Blazor 앱을 새로운 Blazor Preview로 업그레이드 하시려면 먼저 위에서 안내한 설치를 진행하신 후 아래 단계를 진행해주세요.

  • 모든 Microsoft.AspNetCore.Blazor.* 패키지를 3.0.0-review4-19216-03으로 업데이트해주세요.
  • Microsoft.AspNetCore.Components.Server를 참조하는 패키지를 삭제해주세요.
  • Microsoft.AspNetCore.Blazor.Cli에 대한 DotNetCliToolReference를 삭제하시고Microsoft.AspNetCore.Blazor.DevServer 패키지 참조로 변경해주세요.
  • Client Blazor 프로젝트에서 <RunCommand>dotnet</RunCommand><RunArguments>blazor serve</RunArguments> Property를 제거해주세요.
  • Client Blazor 프로젝트에서 <RazorLangVersion>3.0</RazorLangVersion> Property를 추가해주세요.
  • _ViewImports.cshtml 파일을 _Imports.razor로 파일명을 변경해주세요.
  • 모든 .cshtml 파일들의 확장자를 .razor로 변경해주세요.
  • componentswebassembly.js를 blazor.webassembly.js로 파일명을 변경해주세요.
  • Microsoft.AspNetCore.Components.Services namespace의 사용을 삭제하신 후 Microsoft.AspNetCore.Components로 대체해주세요.
  • Server 프로젝트를 다음 엔드포인트 라우팅을 사용하도록 수정해주세요.

     

    //아래 라인을
    app.UseMvc(routes =>
    {
        routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}");
    });
    
    // 아래와 같이 변경해주세요
    app.UseRouting();
    
    app.UseEndpoints(routes =>
    {
        routes.MapDefaultControllerRoute();
    });
  • 구식 Razor 선언을 삭제하기 위해서 솔루션에서 dotnet clean을 실행해주세요.

Blazor 커뮤니티 페이지가 Awesome Blazor로 변경되었습니다

Blazor 사이트 업데이트의 일환으로 기존의 Blazor 커뮤니티 페이지를 폐쇄하고 대신 커뮤니티 주도적인 Awesome Blazor 사이트로 변경되었습니다. Blazor 리소스에 관한 정말 멋진 목록들을 관리해주시는 Adrien Torris에게 감사드립니다.

Telerik, DevExpress, Syncfusion에서 제공하는 Blazor UI 제공 미리보기

Blazor 생태계를 위한 모든 종류의 샘플 앱, 컴포넌트, 라이브러리를 제공해주시는 열렬한 커뮤니티 여러분께 많은 도움을 받고 있습니다. 최근에는 Telik, DevExpress, Syncfusion과 같은 유명한 컴포넌트 제작사 분들이 참여해주셨으며 Blazor UI 컴포넌트 미리보기를 제공해주셨습니다. 이러한 Blazor UI 제공을 사용해 보시고 이에 대한 여러분의 의견을 전달해주시길 바랍니다.

피드백 제공하기

가장 최근의 Blazor 프리뷰 릴리즈를 마음껏 즐기셨으면 하는 바람입니다. 우리에게 여러분의 피드백은 매우 중요합니다. 만약 이슈가 발생하거나 Blazor를 사용하면서 의문사항이 있으시면 GitHub에 이슈를 전달해주세요. 진행하면서 막히거나 Blazor를 어떻게 사용하시는지 공유하시려면 Gitter에서 Blazor 커뮤니티나 저희 팀과 대화하실 수 있습니다. Blazor를 사용해보신 후 제품 내 설문조사를 통해 당신의 생각을 알려주세요. Blazor 프로젝트 템플릿을 실행하신 후 앱 홈페이지에 나타나는 설문조사 링크를 클릭하실 수 있습니다.

Blazor 설문조사 링크 클릭하기

Blazor를 사용해주셔서 감사합니다.

'WEB > ASP.NET Core' 카테고리의 다른 글

[ASP.NET Core] Key Vault 사용  (0) 2020.05.21
[ASP.NET Core] 2차 인증을 위한 QR코드 생성하기  (0) 2020.05.07
[ASP.NET Core] 태그헬퍼  (0) 2018.11.15