>

로컬 플랫폼으로 실행하기 위해 로컬에서 실행되고 웹 서비스를 호출하는 GUI 응용 프로그램을 작성하려는 경우 .Net을 사용하여 수행 할 수있는 도구는 무엇입니까?

C # 유사성으로 인해 비교적 쉽게 선택할 수 있기 때문에 Java를 고려하고 있었고 JVM을 사용할 수있었습니다.

  • 답변 # 1

    모노 프로젝트와 MonoDevelop에 익숙해야합니다. 이러한 프로젝트의 명확한 목적은 Windows, Linux 및 Mac OSX를 포함한 다양한 플랫폼에서 .NET 코드를 빌드하고 실행할 수 있도록하는 것입니다.

    모노는 .NET을 재 구현하기 때문에 항상 Microsoft.NET보다 약간 뒤떨어 지지만 .NET 2.0과 일부 .NET 3.x 기능을 잘 다루고 있습니다. Mono는 .NET 바이너리를 실행하므로 Mono가 프로그램 기능을 지원하는 한 Windows에서 준수하는 응용 프로그램 EXE를 가져 와서 다시 컴파일하지 않고 Linux/Mono에서 실행할 수 있습니다.

  • 답변 # 2

    다른 상대적 크로스 플랫폼 .NET 개발을위한 새로운 옵션은 오픈 소스 Eto.Forms 프레임 워크를 사용하는 것입니다.이를 통해 각 플랫폼의 고유 툴킷에 하나의 UI 코드베이스를 대상으로 할 수 있습니다.

    Windows의 경우 WinForms 또는 WPF, Linux의 경우 GTK #, OS X의 경우 MonoMac/Cocoa를 사용합니다.

    개발중인 모바일 포트 (iOS/Android)도 있습니다.

    https://github.com/picoe/Eto

  • 답변 # 3

    일부 플랫폼 간 툴킷을 사용하여 작성하는 것이 좋습니다. 대부분 훌륭한 비주얼 디자이너를 사용할 수는 없지만 (실제로 이것은 선택한 툴킷에 따라 다름) UI를 직접 작성하는 것이 그렇게 어렵지는 않습니다. HTML 사용자는 항상 그것을하고 비 MS 세계에서도 꽤 일반적인 관행입니다.

    .NET 바인딩이있는 일부 크로스 플랫폼 UI 툴킷

    GTK #(Mono 개발의 사실상 표준, MonoDevelop IDE에는이 툴킷을 사용하는 내장 양식 디자이너가 있습니다)

    wxNET(wxWindows 기반, 매우 성숙하지만 직접 UI를 작성해야 함)

    Qyoto(QT에 따르면 wxWindows보다 낫지 만 응용 프로그램에 오픈 소스 라이센스가없는 경우 Trolltech의 상업용 라이센스가 필요할 수 있음)

  • 답변 # 4

    조언. 크로스 플랫폼 프로그래밍은 크로스 브라우저 프로그래밍과 비슷하며 지원하려는 모든 플랫폼에서 테스트, 테스트 및 테스트하는 것이 가장 확실합니다.

  • 답변 # 5

    Mono는 현재 유일한 옵션입니다. 이 플랫폼에서 실행됩니다. 그리고 반드시 큰 문제는 아니지만 여전히 문제가있을 것입니다.

  • 이전 linux - shebang line pecularities에 대한/usr/bin/env 질문
  • 다음 데코레이터 메커니즘이 클래스 인 경우 클래스 멤버의 Python 데코레이터가 실패 함