[.net-core] .NET Core에서 데스크톱 GUI 응용 프로그램을 만들 수 있습니까?

저는 몇 년 동안 WinForms 프로그램을 개발해 왔습니다. 이제 .NET Core (ASP.NET Core MVC 포함)를 살펴보고 있습니다. 새로운 GUI 데스크탑 기술을 찾고 있습니다. Visual Studio 2015 업데이트 3에서는 .NET Core에서 GUI 앱을 만드는 옵션을 볼 수 없습니다. 내가 무엇을 놓치고 있습니까?



답변

당신은 아무것도 놓친 것이 아닙니다. UWP (유니버설 Windows 플랫폼)가 부분적으로 .Net Core 위에 빌드되었지만 MS는 .Net Core를 사용하여 직접 GUI 애플리케이션을 만드는 합리적인 방법을 제공하지 않았습니다.

.Net Core 3.0은 Windows 전용이지만 Winforms 및 WPF에 대한 지원을 포함합니다.

.Net 6에는 Windows 및 macOS 데스크톱 애플리케이션과 모바일 애플리케이션을 지원할 .Net MAUI가 포함되며, 커뮤니티에서 지원하는 Linux 데스크톱 애플리케이션 (MS 아님)이 포함됩니다. .Net 5에는 .Net MAUI의 미리보기 버전이 포함됩니다.

지난 2 년 동안 나온 교차 플랫폼 옵션에 대해서는 다른 답변을 참조하십시오.


답변

Electron을 사용 하고 Edge.js resp 와 연결할 수 있습니다 . 전자 에지 . Edge.js를 사용하면 전자 (node.js)가 .net dll을 호출 할 수 있으며 그 반대의 경우도 마찬가지입니다. 이렇게하면 HTML, CSS 및 JavaScript로 GUI를 작성하고 .net 코어로 백엔드를 작성할 수 있습니다. Electron 자체도 크로스 플랫폼이며 크롬 브라우저를 기반으로합니다.


답변

AvaloniaUI는 이제 Win / OSX / Linux의 .NET Core에서 실행되도록 지원합니다. XAML, 바인딩 및 컨트롤 템플릿이 포함되어 있습니다.

예 : Rider로 MacO에서 개발하려면 :

  1. 지침에 따라 Avalonia dotnet 새 템플릿설치합니다.
  2. JetBrains Rider를 열고 시작 화면에서
  3. 선택 New Solution-> (근처 템플릿 목록의 상단) -> More Templates-> 버튼 Install Template...->을에 찾아 디렉토리 1 단계에서 템플릿을 복제.
  4. Reload버튼을 클릭
  5. 보다! Avalonia 템플릿이 이제 New Solution템플릿 목록에 나타납니다 !
  6. Avalonia 템플릿 선택
  7. 빌드하고 실행하십시오. 눈앞에서 열린 GUI를 확인하십시오.

JetBrains Rider에 dotnet 새 템플릿을 설치하는 GUI 단계


답변

이제 Qml.Net을 사용하여 .NET Core에서 Qt / QtQuick / QML을 사용할 수 있습니다 .

성능이 뛰어나고 ( “수다쟁이”가 아님) 모든 기능을 갖추고 있으며 Linux / OSX / Windows에서 작동합니다.

내 블로그 게시물 을 확인하여 현재 다른 옵션과 어떻게 비교되는지 확인하십시오.

추신 : 저는 저자입니다.


답변

한 가지 옵션은 UI에 JavaScript, HTML 및 CSS와 함께 Electron을 사용하고 백엔드 로직을위한 웹 API를 자체 호스팅 할 .Net Core 콘솔 애플리케이션을 빌드하는 것입니다. Electron은 localhost : xxxx에서 서비스를 노출하는 백그라운드에서 콘솔 애플리케이션을 시작합니다.

이렇게하면 자바 스크립트의 HTTP 요청을 통해 액세스 할 수 있도록 .Net을 사용하여 모든 백엔드 로직을 구현할 수 있습니다.

이 게시물을 살펴보고 Electron 및 .Net Core를 사용하여 크로스 플랫폼 데스크톱 애플리케이션을 빌드하고 github에서 코드를 확인 하는 방법을 설명 합니다.


답변

콘솔 기반 UI를 생성하려면 gui.cs 를 사용할 수 있습니다 . 오픈 소스 (Miguel, Xamarin의 제작자)이며 Windows, Linux 및 MacO의 .Net 코어에서 실행됩니다.

다음과 같은 구성 요소가 있습니다.

  • 버튼
  • 라벨
  • 텍스트 입력
  • 텍스트보기
  • 시간 편집 필드
  • 라디오 버튼
  • 체크 박스
  • 대화 상자
    • 메시지 상자
  • 윈도우
  • 메뉴
  • ListViews
  • 프레임
  • ProgressBars
  • 스크롤보기 및 스크롤바
  • 16 진수 뷰어 / 편집기 (HexView)

샘플 스크린 샷

gui.cs 샘플 출력 스크린 샷


답변

.net 코어 인 Electron.NET을 사용 하여 전자 용 오픈 소스 솔루션을 코딩했습니다 .
https://github.com/ElectronNET/Electron.NET

즐겨!