ASP.NET Core Blazor Hybrid | Microsoft Learn

ASP.NET Core Blazor Hybrid | Microsoft Learn

간략한 요약

이 문서는 ASP.NET Core Blazor Hybrid를 소개하며, .NET을 사용하여 대화형 클라이언트 측 웹 UI를 구축하는 방법을 설명합니다. Blazor Hybrid는 데스크톱 및 모바일 네이티브 클라이언트 프레임워크를 .NET 및 Blazor와 결합하여 Razor 구성 요소를 기본적으로 디바이스에서 실행하고, 로컬 interop 채널을 통해 Web View 컨트롤에 렌더링합니다. 주요 내용은 다음과 같습니다.

  • Blazor Hybrid의 기본 개념: Razor 구성 요소가 브라우저에서 실행되지 않고 .NET 플랫폼을 통해 디바이스의 네이티브 기능에 접근합니다.
  • .NET MAUI, WPF, Windows Forms와의 통합: Blazor Hybrid는 .NET MAUI에 기본적으로 지원되며, WPF 및 Windows Forms에서도 사용할 수 있습니다.
  • Web View 구성: BlazorWebViewInitializing 및 BlazorWebViewInitialized 이벤트를 통해 Web View 컨트롤의 구성을 사용자 정의할 수 있습니다.
  • 예외 처리: Windows Forms 및 WPF 앱에서 처리되지 않은 예외를 처리하는 방법을 제공합니다.
  • 세계화 및 지역화: .NET MAUI 앱에서 문화권에 따른 지역화 기능을 사용하는 방법을 설명합니다.
  • 네이티브 UI에서 범위가 지정된 서비스에 접근: TryDispatchAsync 메서드를 사용하여 네이티브 UI에서 범위가 지정된 서비스에 접근하는 방법을 안내합니다.

[소개: ASP.NET Core Blazor Hybrid]

ASP.NET Core Blazor Hybrid는 .NET을 사용하여 대화형 클라이언트 측 웹 UI를 구축하는 방법입니다. Blazor Hybrid를 사용하면 데스크톱 및 모바일 네이티브 클라이언트 프레임워크를 .NET 및 Blazor와 혼합할 수 있습니다. Blazor Hybrid 앱에서 Razor 구성 요소는 기본적으로 디바이스에서 실행되며, 로컬 interop 채널을 통해 포함된 Web View 컨트롤에 렌더링됩니다. 이는 구성 요소가 브라우저에서 실행되지 않으며 WebAssembly가 관련되지 않음을 의미합니다. Razor 구성 요소는 코드를 빠르게 로드 및 실행하며, .NET 플랫폼을 통해 디바이스의 네이티브 기능에 대한 전체 액세스 권한을 갖습니다.

[.NET MAUI를 사용하는 Blazor Hybrid 앱]

Blazor Hybrid 지원은 .NET Multi-platform App UI (.NET MAUI) 프레임워크에 기본 제공됩니다. .NET MAUI에는 Razor를 포함된 Web View로 렌더링할 수 있도록 하는 Web View 컨트롤이 포함되어 있습니다. .NET MAUI와 Blazor를 함께 사용하면 모바일, 데스크톱 및 웹에서 하나의 웹 UI 구성 요소 집합을 다시 사용할 수 있습니다. 이는 개발자가 다양한 플랫폼에서 일관된 사용자 경험을 제공하는 데 도움이 됩니다.

[WPF 및 Windows Forms를 사용하는 Blazor Hybrid 앱]

Blazor Hybrid 앱은 WPF (Windows Presentation Foundation) 및 Windows Forms를 사용하여 빌드할 수 있습니다. Blazor는 이러한 두 프레임워크에 대한 컨트롤을 제공하여 Razor 구성 요소가 Windows 데스크톱에서 기본적으로 실행되고 포함된 Web View로 렌더링되도록 합니다. WPF 및 Windows Forms에서 Blazor를 사용하면 .NET MAUI 또는 웹에서 플랫폼 간에 재사용할 수 있는 기존 Windows 데스크톱 앱에 새 UI를 추가할 수 있습니다.

[Web View 구성]

Blazor Hybrid는 Web View 컨트롤의 이벤트를 통해 여러 플랫폼에 대한 기본 BlazorWebView 구성을 노출합니다. BlazorWebViewInitializing 이벤트는 설정이 제공되는 경우 각 플랫폼에서 Web View를 생성하는 데 사용되는 설정에 대한 액세스를 제공합니다. BlazorWebViewInitialized 이벤트는 설정의 추가 구성이 가능하도록 Web View에 대한 액세스를 제공합니다. 각 플랫폼에서 기본 설정 패턴을 사용하여 이벤트 처리기를 이벤트에 연결하고 사용자 지정 코드를 실행할 수 있습니다.

[Windows Forms 및 WPF 앱에서 처리되지 않은 예외]

이 섹션은 Windows Forms 및 WPF Blazor Hybrid 앱에만 적용됩니다. UnhandledException 속성에 System.AppDomain.CurrentDomain에 대한 콜백을 만들어 처리되지 않은 예외를 처리할 수 있습니다. 다음 예제에서는 컴파일러 지시문을 사용하여 사용자에게 오류가 발생했음을 알리거나 개발자에게 오류 정보를 표시하는 MessageBox를 표시하고, error.ExceptionObject에 오류 정보를 기록합니다.

[세계화 및 지역화]

이 섹션은 .NET MAUI Blazor Hybrid 앱에만 적용됩니다. .NET MAUI는 디바이스의 주변 정보에 따라 CurrentCulture 및 CurrentUICulture를 구성합니다. Microsoft.Extensions.Localization 네임스페이스의 IStringLocalizer 및 기타 API는 사용자의 문화권에 의존하는 세계화 형식 지정, 구문 분석, 바인딩과 함께 일반적으로 예상대로 작동합니다. 런타임에 앱 문화권을 동적으로 변경하는 경우, 루트 구성 요소를 다시 렌더링하고 새 문화권을 다시 렌더링된 자식 구성 요소에 전달하는 문화권의 변화를 반영하도록 앱을 다시 로드해야 합니다.

[네이티브 UI에서 범위가 지정된 서비스에 접근]

BlazorWebView에는 TryDispatchAsync 메서드가 있어 지정된 Action을 비동기적으로 호출하고 구성 요소에서 사용할 수 있는 범위가 지정된 서비스를 전달합니다. 이를 통해 네이티브 UI의 코드가 NavigationManager와 같은 범위가 지정된 서비스에 액세스할 수 있습니다. 호출이 디스패치되지 않은 경우 수행할 작업을 고려해야 하며, 일반적으로 디스패치는 실패하지 않아야 합니다. 실패하면 OS 리소스가 소진될 수 있으므로 메시지 로깅, 예외 throw 및 사용자에게 경고하는 것이 좋습니다.

Share

Summarize Anything ! Download Summ App

Download on the Apple Store
Get it on Google Play
© 2024 Summ