Microsoft의 Blazor : .NET에서 대화 형 웹 개발을위한 주요 기능

Microsoft의 Blazor : .NET에서 대화 형 웹 개발을위한 주요 기능

Microsoft는 .NET 또는 C #과 같은 프로그래밍 언어에서 기본 Android 및 iOS 애플리케이션을 개발하기위한 도구를 제공합니다.

Microsoft Technology Associate 는 웹 응용 프로그램 또는 기본 iOS / Android 응용 프로그램을 만드는 데 최신 Blazor 도구 키트의 잠재력을 활용할 수 있도록 닷넷 개발자를 지원하는 것을 목표로합니다. Microsoft는 개발자가 JavaScript가 아닌 C #을 사용하여 대화 형 웹 응용 프로그램과 사용자 인터페이스를 만들 수 있도록하는 ASP.NET 플랫폼의 기능인 Blazor 용 실험적인 'Blazor 빌드'를 발표했습니다. 이러한 구성 요소 바인딩을 통해 친숙한 웹 프로그래밍을 통해 Android 또는 iOS 용 .NET 또는 C #을 사용하여 네이티브 모바일 애플리케이션을 만들 수 있습니다.

2019 년에 마이크로 소프트는 데스크톱 Flutter 앱을 개발할 때와 동일한 기술을 사용하는 솔루션을 선보였습니다. 모바일 용이고 dart로 작성되었지만 대신 Blazor와 .NET의 도움을 받았습니다. Microsoft Blazor는 WebAssembly를 통해 모든 브라우저에서 응용 프로그램을 가져 오는 것을 목표로하는 ASP.NET의 실험적인 웹 사용자 인터페이스 프레임 워크입니다. 이를 통해 개발자는 플러그인이나 트랜스 파일 없이도 진정한 풀 스택 애플리케이션을 만들고 클라이언트와 서버간에 코드를 공유 할 수 있습니다. Microsoft는 기본 응용 프로그램을 만들기위한 웹 프로그래밍 및 패턴의 기본 사항에 익숙한 개발자의 요구 사항을 충족하기 위해 플랫폼을 실험하고 있습니다. 이 기사에서는 Microsoft Blazor가 .NET에서 웹 사이트 개발 서비스를 어떻게 혁신하고 있는지 살펴볼 것입니다.

Blazor가 새로운 과대 광고 인 이유는 무엇입니까?

Microsoft의 Blazor는 ASP.NET 커뮤니티에서 파생 된 최신 클라이언트 측 사용자 인터페이스 프레임 워크입니다. 이 플랫폼의 가장 큰 판매 측면은 JavaScript가 아닌 CSS, HTML 또는 C #의 도움으로 풍부한 웹 UI 인터페이스 경험을 개발할 수 있다는 것입니다. 대부분의 개발자가 오랫동안 꿈꿔 왔던 모든 것이 있습니다. Microsoft 웹 사이트 개발자 또는 동료로서 지난 몇 년 동안 ASP.NET 분야의 새로운 개발을 따라 잡았다면 Blazor에 대해 확실히 들어 보셨을 것입니다. JavaScript 프레임 워크는 프론트 엔드 웹 개발을위한 초기부터 사실상의 측정 수단이었으며 개발자는 결코 만족하지 않는 것 같았습니다. 그리고 지난 몇 년 동안 Dart, CoffeeScript, Elm, Scala 등과 같은 많은 transpile 및 superset이 JavaScript 플랫폼을 개선하고 유지 관리하기 쉽게 만들었습니다. 그러나 Blazor는 원래 디자인이 아닌 효율적이고 생산성이 높은 프로그래밍 플랫폼이 될 가능성이 있고 JavaScript의 단일 페이지 응용 프로그램 개발 프레임 워크와 직접적인 동시대임을 입증하기 때문에 이미 프로세스를 시작했습니다. 이 프레임 워크의 주요 목표는 다음과 같습니다.

  • JavaScript 대신 C #을 사용하여 풍부한 대화 형 웹 응용 프로그램 / 사용자 인터페이스 만들기

  • .NET 프레임 워크에서 개발 된 서버 측 또는 클라이언트 측 애플리케이션 로직 공유 또는 수집

  • 모바일 브라우저를 포함한 브라우저 지원을 위해 사용자 인터페이스 CSS 및 HTML 렌더링

  • Docker 등과 같은 최신 호스팅 플랫폼을 통합합니다.

Blazor 프레임 워크는 사용자가 JavaScript 대신 C #을 사용하여 대화 형 웹 사용자 인터페이스를 구축 할 수있는 단일 페이지 애플리케이션 개발 솔루션입니다. Angular, Vue 또는 React와 같은 JavaScript 프레임 워크에서 영감을 받아 대화 형 솔루션 개발에 유사한 개념을 사용합니다. 모든 Blazor 응용 프로그램은 Razor의 재사용 가능한 구성 요소 즉, C # 및 HTML 용 태그 구문에서 개발됩니다. Blazor를 통해 Microsoft는 Web Window의 도움으로 최고의 데스크톱 응용 프로그램과 함께 진행되는 다양한 실험을 공유합니다. 그러나 네이티브 모바일 앱 개발을위한 최신 버전은 Blazor 프로그래밍이 Xamarin 컨트롤과 결합되는 곳입니다.

블로그 읽기-Microsoft는 Blazor로 모바일 앱 개발을 목표로하는 작업을 계속 하고 있습니다.

Blazor를 최고의 웹 개발 회사를위한 유연한 플랫폼으로 만드는 이유는 무엇입니까?

Blazor는 변경 사항이 렌더링되는 방식과 사용자 인터페이스 구성 요소 모델 또는 애플리케이션 변경 사항을 계산하는 방식을 구분하는 아키텍처입니다. 이 기능은이 플랫폼을 현재의 플랫폼, 즉 사용자 인터페이스를 기반으로 한 웹 기술 만 개발할 수있는 ReactJS, Angular 또는 React Native와 같은 다른 사용자 인터페이스 개발 프레임 워크와 차별화합니다. 솔루션 개발에 여러 렌더링을 활용함으로써 Blazor는 웹 기반 구성 요소를 개발할 수있을뿐만 아니라 기본 모바일 사용자 인터페이스도 개발할 수 있습니다. 또한 구성 요소를 다르게 개발할 필요가 없으므로 웹 렌더러 용으로 개발 된 구성 요소는 다른 기본 모바일 렌더링과 함께 사용할 수 없습니다. 그러나 프로그래밍 모델은 동일하게 유지됩니다. 즉, 개발자가이 모델에 익숙해지면 모든 렌더러의 도움으로 사용자 인터페이스를 쉽게 만들 수 있습니다. 애플리케이션 모델의 구성 요소는 다음과 같습니다.

  • 웹 어셈블리 렌더러

  • 원격 렌더링

  • 전자 렌더러

  • 모바일 Blazor 바인딩 렌더러

호스팅 모델 -Blazor의 핵심 AP 모델은 ASP.NET 개발 서비스에서 UI 변경 사항을 계산하고 유지 관리하는 책임이 있습니다. 그러나 개발자는 디스플레이 및 업데이트를 제어하기 위해 다른 렌더러를 사용할 수도 있습니다. 이러한 앱 렌더러 모델은 주로 호스팅 모델이라고하며, 개발 당시 Blazor에는 일반적으로 4 개의 모델이 있습니다. 그들은-

  • Blazor 서버

  • BlazorWebAssembly

  • Blazor Electron

  • 블레이저 바인딩

이러한 모델 중 Blazor 서버는 작성시 지원되는 프로덕션으로 분류되는 유일한 모델 인 반면 Blazor Bindings 및 Electron은 실험적으로 지원되는 모델로 표시됩니다.

Microsoft Technology Associate : Blazor의 기능

2020 년은 확실히 Microsoft Blazor의 정점이 될 것이며 곧 주류가 될 것이라고 이미 발표되었습니다. 이 플랫폼은 ASP.NET 개념과 함께 Razor (브라우저 + Razor)의 편리함을 결합하여 진정으로 간단하고 사용하기 쉽습니다. Blazor는 또한 Dotnet 규칙 또는 Razor에서 제공하는 템플릿을 활용하여 React 또는 Angular와 같은 인기있는 JavaScript 프레임 워크에서 놀라운 패턴을 간소화했습니다. Blazor는 ASP.NET 프레임 워크의 도움을 받아 대화 형 클라이언트 측 웹 사용자 인터페이스를 쉽게 만들 수있는 놀라운 플랫폼입니다. Blazor 플랫폼의 도움으로 개발자는 서버 측 애플리케이션의 모든 세그먼트에서 라이브러리와 코드를 재사용 할 수 있습니다. 또한 대화 형 클라이언트 쪽 응용 프로그램을 개발하기 위해 ASP.NET 프레임 워크를 사용하기 때문에 이미 강력한 프레임 워크 및 라이브러리 집합을 기반으로합니다. 이 플랫폼을 돋보이게하는 유용한 기능 중 일부는 다음과 같습니다.

  • 개발자가 놀라운 응용 프로그램을 쉽게 만들 수 있도록 미리 만들어진 사용자 인터페이스 구성 요소가 많이 있습니다. 이 기능은 모든 맞춤형 웹 개발 회사 또는 조직에서 높이 평가합니다.

  • 이 팩에는 JavaScript 기술이나 기능이 필요하지 않습니다. 대신 C #을 사용하여 작업을 쉽게 수행 할 수 있습니다. 이것은 개발자 또는 조직의 전반적인 생산성을 향상시키기위한 것입니다.

  • .NET 프레임 워크에 대한 앱 개발 구성 요소를 인증하기위한 기본 제공 지원이 있습니다.

  • 개발자는 'JavaScript 상호 운용성'이라는 함수를 사용하여 ASP.NET 방법론에서 JavaScript 기능을 호출 할 수 있습니다.

모든 Microsoft 웹 사이트 개발자는 Blazor가 WebAssembly에서 실행되는 클라이언트 쪽 응용 프로그램을 만들기위한 프레임 워크로 ASP.NET 커뮤니티에서 개발 되었기 때문에 매력적이라고 생각합니다. ASP.NET 기술 종단 간을 사용하여 현대적이고 풍부한 단일 페이지 응용 프로그램 프레임 워크의 이점을 제공합니다. 또한이 프레임 워크의 아이디어는 잠재적으로 C #의 효율성을 결합 할 수 있으며 Razor는 브라우저에서 완전히 실행할 수있는 클라이언트 측 웹 프로젝트입니다. 최신 웹 프레임 워크를 만드는 데 필요한 모든 기능이 있으며, 그중 일부는 아래에 나열되어 있습니다.

  • 구성 가능한 사용자 인터페이스 개발을위한 모델

  • 애플리케이션 개발 단계에서 브라우저의 실시간로드

  • 최신 웹 개발 기능 사용

  • 의존성 주입

  • 이전 브라우저에서 실행할 수있는 기능

  • 완전한 ASP.NET 디버깅

  • 플러그인없이 개방형 웹 개발 플랫폼의 개발 세그먼트

  • 풍부한 인텔리전스 및 UI 개발 도구

  • 서버 측 렌더링

블로그 읽기 -C #, .NET, ASP.NET, Microsoft.NET 및 Visual Studio의 차이점은 무엇입니까?

Microsoft Blazor가 ASP.NET 대화 형 웹 개발과 비교하는 방법

일반 ASP.NET은 사용자 인터페이스를 문자열 블록으로 렌더링합니다. 반면 Blazor는 문자열이 아닌 나무를 개발하거나 렌더링했습니다. 이 프레임 워크는 문서 개체 모델의 표현으로, Blazor는 표현을 유지하는 동안 구성 요소를 메모리에 보관합니다. 이러한 구성 요소에서 변경하거나 수정하면 동일한 문서 개체 모델 요소에 대한 사용자 인터페이스 업데이트가 트리거 될 수 있습니다. 이 두 프로세스 모두 문자열을 렌더링하는 데는 큰 차이가 있습니다. 특히 최고의 웹 개발 회사는 Blazor 코드를 사용하며 문서 개체 모델 코드에 직접 액세스 할 수 없습니다. 이 제한은 대화 형 응용 프로그램의 사용자 인터페이스 요소에 대한 완전한 액세스 권한을 얻기 위해 JavaScript 프레임 워크에 의존하므로 ASP.NET Core 및 Razor에 대해 다르게 작동합니다.

Blazor 리조트는 트리를 렌더링하여 이전 DOM (문서 개체 모델) 표현으로 다시 이동하고 동일한 모델의 특정 부분을 찾습니다. 나중에이 프레임 워크는 그에 따라 업데이트, 편집 또는 삭제합니다. 프레임 워크는 문서 모델에 대한 변경 사항을 간소화하거나 렌더링 트리를 조작하여 변경 사항을 실행합니다. 이 메커니즘은 C # 언어가 클라이언트 쪽 대화 형 응용 프로그램 렌더링에서 작동 할 수 있도록합니다. 클라이언트 측 Blazor의 장점은 다음과 같습니다.

  • 웹 사이트 개발 서비스의 경우 Blazor를 사용하면 개발자가 브라우저에서 ASP.NET 코드를 직접 실행할 수 있습니다. 이 프레임 워크는 또한 .NET 전문가가 프로그래밍 폴리 글 로트가 될 필요가 없기 때문에 풀 스택 플랫폼에서 JavaScript 프레임 워크의 독점을 깨뜨립니다. 또한 JavaScript로 코드를 작성하지 않고도 전체 솔루션을 개발할 수 있습니다.

  • Blazor UI 코드는 중간 언어로 ASP.NET으로 컴파일되며 프레임 워크가 JavaScript 코드와 동일한 잠재력을 가지고 있음을 의미합니다. 컴파일 모델은 또한 성능 중심 브라우저 웹 솔루션에 큰 차이를 만들 수 있습니다.

  • 개발자는 서버 또는 클라이언트 측 애플리케이션 간의 코드를 쉽게 검증 할 수 있습니다. 예를 들어 ASP.NET 개발 서비스 플랫폼에는 브라우저뿐 아니라 백엔드에도 적용 할 수있는 유효성 검사 논리가 있다고 가정 해보십시오. Blazor를 사용하면 ASP.NET 표준에서 클래스 라이브러리를 만들고 서버 쪽 또는 클라이언트 쪽 응용 프로그램에서 공유 할 수 있습니다. 또한 유효성 검사 논리의 변경 사항은 이러한 각 플랫폼에 자동으로 적용됩니다.

Blazor 서버

이 모델은 현재 공식적으로 지원되는 모델 중 하나이며, 지원을 받으면 응용 프로그램을 서버에서 쉽게 실행할 수 있지만 브라우저에서는 실행할 수 없습니다. Blazor 서버는 서버에서 브라우저로 사용자 인터페이스 업데이트를 전송하기 위해 SignalR 연결을 사용합니다. 이 서버 호스팅 모델은 현재 Microsoft의 기본 개발을 위해 프로덕션 상태에서 지원하는 옵션입니다. 이 모델에서 플랫폼 지향 애플리케이션은 서버와 ASP.NET 런타임에서 실행됩니다. 개발자 또는 사용자가이 응용 프로그램을로드하면 먼저 서버와 양방향 실시간 연결을 설정하는 작은 JavaScript 파일이 다운로드됩니다 (SignalR 연결). 사용자와 응용 프로그램 간의 모든 상호 작용은 서버 처리를위한 연결과 함께 해당 서버로 즉시 다시 전송됩니다. 서버 처리가 완료되면 사용자 인터페이스 업데이트 및 변경 사항이 동일한 클라이언트로 다시 전송되고 문서 개체 모델에 적용됩니다. Microsoft는 diff를 계산하고 압축 이진 형식으로 전송하기 위해 고성능 알고리즘을 개발했습니다. 일반적으로 상태 비 저장 방식을 수행하는 대부분의 다른 대화 형 웹 애플리케이션과 달리 Blazor 서버 애플리케이션 모델은 서버 전체에서 동일한 상태를 유지합니다.

개발자 커뮤니티의 경우 몇 가지 경우에 재검토 접근 방식이 필요하지만 일반적으로 ASP.NET 핵심 응용 프로그램에서 사용하는 것과 유사한 개념을 사용할 수 있습니다. 이 모델의 가장 큰 장점은 서버와 클라이언트 간의 통신을 위해 다른 애플리케이션 프로그래밍 인터페이스를 개발할 필요가 없다는 것입니다. 이는 모든 측면이 서버에서 실행되어 사용자 지정 웹 개발 회사 또는 개발자가 논리에 따라 이러한 함수를 직접 호출 할 수 있기 때문입니다. 서버의 계산 프로세스로 인해 Blazor 서버 대화 형 웹 솔루션은 저가형 장치 또는 씬 클라이언트에 완벽하게 적합합니다.

BlazorWebAssembly

호스팅 모델이 점점 더 많아지는 것은 큰 문제이지만 좋은 이유가 있습니다. 이 모델은 React, VueJS 또는 Angular와 같은 JavaScript 대화 형 애플리케이션 개발에 대한 직접적인 경쟁을 제공합니다. WebAssembly를 사용하면 개발자는 JavaScript 대신 C #을 사용하여 사용자 인터페이스 논리 및 코드를 쉽게 작성할 수 있습니다. Microsoft가 처음에 Blazor를 발표했을 때 전적으로 WebAssembly 모델에 관한 것이 었습니다. 이 모델을 사용하면 응용 프로그램이 런타임 형식으로 처음로드 될 수 있으며 그 후 종속성과 함께 전체 응용 프로그램 어셈블리를로드했습니다. BlazorWebAssembly의 종속성에는 프레임 워크, System.dll 등이 포함되지만 런타임은 이진 형식이고 다른 어셈블리는 동일한 형식이므로 개발자가 일반적인 ASP.NET 응용 프로그램 개발에서 사용할 수 있습니다.

Blazor WebAssembly는 응용 프로그램을 실행하거나로드하기 위해 인터프리터 코드를 사용하며이 모드에서 인터프리터는 대화 형 응용 프로그램 사용자 인터페이스를 실행할 수 있습니다. WebAssembly 모드에서 결합되는이 프로세스의 유일한 부분은 모노 런타임입니다. 주요 장점은 대용량 파일과의 성능 및 절충입니다. Blazor에서 WebAssembly의 장점 중 일부는 다음과 같습니다.

  • 정적 파일을 컴파일하므로 개발자가 서버에서 ASP.NET 런타임을 고려할 필요가 없습니다.

  • Blazor의 대부분의 작업은 서버에서 클라이언트로 오프로드됩니다.

  • 응용 프로그램은 오프라인 모드 또는 상태에서도 실행할 수 있습니다.

  • 서버와 클라이언트간에 C # 구성 요소를 효과적으로 공유 할 수있는 코드 공유를 용이하게합니다.

일반적으로 ASP.NET 응용 프로그램에서는 Just-In-Time 컴파일러가 사용되지만 최근 WebAssembly에서 지원하지 않습니다. 그러나 향후 표준 버전에 추가 될 수 있지만 현재로서는 ASP.NET 코드를 실행하는 데 다른 하나가 사용됩니다. Microsoft 어소시에이트 플랫폼은 WebAssembly에 직접 응용 프로그램 또는 프레임 워크 어셈블리를 컴파일하기 위해 계획 및 AOT (Ahead Of Time Compilation) 작업을 수행하고 있습니다. 이 컴파일은 효과적인 대화 형 애플리케이션 개발 시간을 가져 오며 런타임 측면에서 성능 지향적임을 입증 할 것입니다.

결론

.NET 개발에서 Blazor의 진입에 대해 이미 많은 관심과 논의가있는이시기에 개발자는 많은 선택권을 갖게됩니다. 이 기사에서는 Microsoft의 Blazor, Sever, WebAssembly 등의 소개와 핵심 개념을 살펴 보았습니다. 또한 ASP.NET 플랫폼에서 대화 형 웹 응용 프로그램 개발을 위해 현재이 프레임 워크를 배포하는 방법에 대해서도 논의했습니다. Blazor는 흥미 진진한 플랫폼이며 특히 개발 및 툴링 측면에서 개선의 여지가 더 넓습니다.

또한 WebAssembly는 대부분의 앱 개발 회사 또는 프런트 엔드 개발자가 무시할 수없는 주요 기술입니다. 이것은 ASP.NET 전문가를위한 훌륭한 플랫폼으로 추가 프로그래밍 언어를 배우지 않고도 풀 스택 개발자가 될 수 있습니다. 이 플랫폼은 단일 프로그래밍 모델에 대한 사용자 인터페이스를 개발할 때 명확성을 제공하며 프레임 워크 구성 요소를 어디서나 적용하여 쉽게 배울 수 있습니다.