Windows GUI : WPF 또는 WinRT (2015+)


94

Windows World에서 GUI를 구축 할 때 사용할 다양한 기술에 대한 개요를 얻으려고합니다.

맥락을 위해 저는 2D 플랫폼 멀티 플레이어 게임을 만들고 있습니다. (단지 학습 목적으로 ..)

선생님은 WPF가 올바른 방법이라고 생각하지만 Windows Forms와 비교하는 것 같습니다.

내 이해는 여기 2015 년에 Windows Forms가 완전히 죽었다는 것입니다.

이 다른 스택 오버 질문에서 그들은 WinRT + XAML이 Metro GUI 구축 (윈도우 8 타일 같은 것!)을위한 것이며 WPF는 윈도우 7/8에서 데스크톱에만 사용되는 것으로 보이며 Silverlight와 밀접한 관련이있는 것 같습니다.

Windows 8 런타임 (WinRT / Windows Store 앱 / Windows 10 Universal App)은 Silverlight 및 WPF와 어떻게 다릅니 까?

  • 데스크톱은 이전 앱이있는 곳입니다 (빨간색. WFP).
  • 새로운 종류의 응용 프로그램 인 Metro 응용 프로그램은 VB.NET, C # 또는 C ++를 포함하여 다양한 방법으로 구축 할 수 있습니다. 이 세 가지 언어 옵션은 UI를 빌드하는 데 XAML을 사용할 수 있습니다. 대안은 UI 및 애플리케이션 코드 개발을 위해 JavaScript / HTML5 / CSS를 사용하는 것입니다.

내 진짜 질문은 : Window World에서 GUI를 구축하는 좋은 방법이 없습니까?

그렇지 않다면 Window 7, Window 8 (Desktop and Metro), Window Phone, (그리고 Windows 10!), 심지어 x-box에서 어떤 기술을 사용해야하는지 ..

이런 방식으로 비교되는 것은 다른 기술과 관련이 있습니까?

시간을 투자하는 것이 옳다고 생각하십니까?


5
"WPF 또는 WinRT?". 데스크톱 용 WPF와 모바일 장치 용 Windows 런타임을 모두 알아 봅니다. 이러한 기술에는 XAML 및 매우 유사한 프레임 워크와 같은 많은 공통점이 있습니다. 두 플랫폼을 모두 지원하는 코드를 Portable Class Libraries로 작성할 수도 있습니다.
Clemens

2
@Clemens 마지막 부분은 약간 오해의 소지가 있습니다. 표준 .NET 라이브러리는 특정 클래스에 대한 코드 변경이 필요할 수있는 WinRT 앱과 함께 작동하도록 다시 빌드 / 타겟팅해야합니다.
BradleyDotNET

3
Windows Forms는 완전히 죽지 않았지만 이미 익숙하지 않으면 사용하고 싶지 않을 것입니다.
Casey

2
"Windows GUI에서 최신 상태 유지"라는 귀하의 목표는 제 생각에는 다소 해 롭습니다. 장기적으로 일반 개발자에게는 미래가 거의 없습니다. MS는 GUI 용 도구를 여러 번 변경했으며 JavaScript와 HTML5는 계속해서 자리를 잡았습니다. 생계를 위해 발전하고 있다면 다른 모든 것을 잊어 버리십시오. MS 또는 GUI 타사 공급 업체에서 일하거나 기존 코드를 유지하려는 경우 이에 대한 몇 가지 예외가 있습니다.
NoChance

3
MFC조차도 완전히 죽지 않았고 Win32도 아닙니다. 그러나 게임 MFC는 미친 사람들이 선택할 것 인 것이다
로타

답변:


132

여기에 많은 것이 있지만 여기에 있습니다.

  • Windows Forms (Winforms)가 죽었 습니까? 아니요. 여전히 적극적으로 지원됩니다. 즉, 작업하기에 끔찍한 기술입니다 (적어도 WPF의 마법을 알고 있다면 )
  • 멋지고 잘 디자인 된 데스크톱 (Metro가 아닌 클래식) 앱 을 빌드하려는 경우 WPF가 순수한 .NET 용어로 답할 수 있습니다. 당신 은 할있습니다 (예 : 자신의 소켓 클래스로) WinRT API를 사용하지만 윈도우 8 UI는 여전히 WPF 전에 당신의 OS에서 실행할 수 없습니다.
  • WinRT 앱은 Windows 8 Store 용입니다 (Windows 10 Store에서도 사용 가능). 여기에서는 WPF를 사용하거나 데스크톱에서 WinRT를 사용할 수 없으므로 배포 위치에 따라 사용할 항목이 결정됩니다. 사용 가능한 언어 / 기술에 대한 이해가 정확합니다.
  • Windows Phone 8 (현재 사용되지 않음)은 WinRT의 수정 된 런타임을 사용합니다 (Windows 10에서 변경됨). Win8 / WP8의 경우 "범용"앱을 사용 하여 표준 WinRT 앱과 Windows Phone 앱간에 대부분 의 코드 를 공유 할 수 있습니다 .
  • Windows 10은 .NET Core를 기반으로하는 UWP (유니버설 Windows 플랫폼)를 사용합니다. Windows 10 용으로 개발 된 코드는 Xbox One, Windows Phone 10 및 HoloLens에서도 사용할 수 있습니다. WPF는 여전히 "표준"데스크톱 앱용입니다.
  • XBox는 까다 롭습니다. XNA는 사라졌고 Microsoft는 플랫폼을위한 커뮤니티 제작 콘텐츠에서 벗어나는 것 같습니다. 즉, Unity3D는 XBox에 배포 할 수 있으며 표준 DirectX (C ++) 개발이 적합하다고 생각합니다. 유니버설 Windows 플랫폼 앱도 Xbox One에 배포 할 수 있으며 이는 향후 Microsoft의 전략으로 보입니다.

무엇에 시간을 투자할지에 관해서는 목표 대상에 따라 다릅니다. :). WPF / UWP + XAML을 배우면 .NET GUI 개발에서 "최신 상태"를 유지하려는 경우 많은 이점을 얻을 수 있습니다. WPF에는 가장 많은 기능이 있으므로 여기에서 시작하여 UWP (또는 기타 XAML 기반 기술)에서 누락 된 항목에 대한 해결 방법을 찾아야합니다.

그렇게한다면 MVVM (Model-View-View Model) 패턴을 배워야합니다. 그것은 작동 정말 XAML 기반 기술과 잘, 당신이 당신의 WPF와 UWP 응용 프로그램간에 많은 로직을 공유 할 수 있습니다. 결국 iOS / Android 용 Xamarin 애플리케이션을 개발하는 경우에도 동일한 논리를 사용할 수 있습니다.

에 대한주의 진실 게임 개발, 당신이 원하는거야 실제 (Unity3D 또는 XNA 같은) 게임 프레임 워크를. WPF에서 할 수 있으며 Winforms보다 나은 선택이지만 실제로 게임을위한 것은 아닙니다.


대답 해 주셔서 감사합니다. XNA로 시작된 미니 게임에 대해 가지고 있으므로 제거 할 것이라는 소식을 듣고 유감입니다. 그러나 저는 Windows 10이 우리에게 무엇을 가져올 지 기대하고 있습니다.
Alf Nielsen

@AlfNielsen 지원이 언제 종료되는지 확실하지 않지만 곧 업데이트되지 않을 것 같습니다.
BradleyDotNET

2
VS가 Unity를 완벽하게 지원하는 것처럼 보이므로 예측에 찬사를 보냅니다! :)
BK

2
Visual과 같은 WPF 클래스를 사용하는 WPF 렌더링 속도는 게임이나 실시간으로 끔찍합니다.
Winger Sendon

2
@WingerSendon에서 봐 RenderTransform, Viewport3D등이있다. 하드웨어 가속입니다.
BradleyDotNET

26

꽤 오래된 스레드이지만 Google을 통해이 문제를 겪은 것처럼 (관심없이) 다른 사람도 여기에 도달 할 수 있습니다. 이것은 새로운 프로그래머가 계속해서 묻는 질문입니다. 따라서 Windows 10이 공식적으로 출시되었으므로 몇 가지 답변하고 싶습니다.

첫째, 더 이상 Windows Forms로 시작해서는 안됩니다. 현재로서는 가장 성숙한 기술이지만 Windows Forms는 더 이상 개발되지 않을 것이며 현재 유지 관리 단계에 있습니다. WPF는 활발하게 개발되고 있습니다 (마지막으로 읽었습니다). 그러나 이제 Windows Universal Apps (WinRT 앱)는 더 이상 전체 화면에서 사용할 필요가 없으며 다른 데스크톱 앱 (WPF 및 WinForms)과 마찬가지로 창 모드에서 사용할 수 있습니다. 이것은 태블릿이 아닌 컴퓨터에서 사용성을 크게 향상시킵니다. 나는 이것이 데스크톱 앱의 미래도 될 것이라고 믿습니다. 하지만 WPF 소프트웨어는 기존 데스크톱 앱입니다 (권한이없고 UAC 만 있음). 어느 쪽이든 WPF 또는 WinRT (.Net 사용) 개발을 배우 든 관계없이 둘 다 배우게됩니다. 둘 다 XAML + C # (또는 다른 .Net 언어)입니다. WinRT가 Windows 8과 함께 나왔을 때 WPF를 배우고있었습니다. 나는 집에서 옳다고 느꼈고 곧 익숙해지는 사소한 변화가 거의 없었습니다. WinRT의 MVVM 시나리오 (데이터 바인딩)에 대해서는 확실하지 않습니다. 나는 여전히 WPF의 측면을 직접 배우고 있습니다.

Window 10이 방금 시작되었습니다. Windows 8 / 8.1은 Windows 7만큼 큰 성공을 거두지 못했습니다. 따라서 더 많은 사용자를 대상으로하는 앱을 빌드하려면 당분간 WPF를 사용해야합니다. 그러나 가까운 장래에 WinRT가 갈 길이 될 것입니다.

귀하의 질문에 " Windows 7 에서 사용해야하는 기술 , Window 8 (Desktop 및 Metro), Window Phone, (그리고 Windows 10!), 심지어 x-box 대한 답은 Windows Universal Apps입니다. 이것이 바로이 프레임 워크가 개발 된 이유입니다. 모든 장치 용 앱을 개발하는 데 사용되는 하나의 기술입니다. 데스크톱, 태블릿, 휴대폰 (Visual Studio 2015와 함께 번들로 제공되는 Xamarin을 사용하는 Android 포함), Xbox 및 IoT (사물 인터넷).


19
유니버설 앱은 Windows7 또는 Windows8에서 작동하지 않는 것 같습니다. "범용 앱"은 Win10 장치에 "범용"일뿐입니다.
Dragontamer5788

Xamarin은 여전히 ​​자체적 인 것이며 (유니버설 앱이 아님) Xbox에도 배포 할 수 있을지 모르겠습니다.
BradleyDotNET 2015 년

2
: 윈도우 8에 UWP 응용 프로그램을 실행에 NO를 : @PrateekJain stackoverflow.com/a/30317960/199364
ToolmakerSteve

6
WinForms는 여전히 빠르고 깔끔한 GUI에 적합합니다. WPF는 훌륭하지만 MVVM 없이도 "올바르게"사용하려면 많은 상용구 코드 (및 가파른 학습 곡선)가 필요합니다. WPF가 진정한 RAD 기능을 가지고 있지 않다는 점은 짜증이납니다. 그리고 XAML이 너무 장황 합니다.
Dai

1
내 엉덩이의 모든 장치. 그것은 마이크로 소프트가 최고로 다시 말한다. 예전처럼 Windows95와 Windows2000에서 실행 되었기 때문에 크로스 플랫폼이라고 불렀습니다. 다른 한가지는 데스크톱 앱이 터치에 사용해야하는 똑같은 크기의 버튼, 특히 나무와 목록을 갖고 싶지 않다는 것입니다. 따라서 나에 대한 UWP 없습니다
로타

23

귀하의 질문 중 하나에 만 답변 해 드리겠습니다.

Windows Forms가 완전히 죽었습니까?

아니요, Windows Forms 기술은 죽지 않았습니다. 이유를 말씀 드리겠습니다. WPF 및 XAML은 매우 포괄적이고 복잡한 기술이며 매우 멋진 UI를 구축 할 수 있습니다. 그러나! 이 기술에는 깊은 지식이 필요합니다. 기본 레이아웃의 경우 그다지 많은 지식이 필요하지 않지만 일부 고급 레이아웃의 경우 깊은 지식이 있어야하며이 기술을 시작했을 때 Google에서 몇 가지 팁을 검색하는 데 많은 시간을 보냈습니다. 따라서 사용자 입력을 위해 간단한 Forms가 필요할 때 항상 매우 간단하고 간단한 Windows Forms 기술을 선택합니다. 이것이이 기술이 세계에 올 때 매우 성공적이었던 이유이기도합니다. WPF로 시작할 때 MVVM 디자인 패턴이 무엇인지 알아야하며 경험이없는 일부 프로그래머는이를 혼동합니다.


3
이것이 제가 가장 좋아하는 대답입니다. 작은 앱의 경우 매우 빠르고 쉽게 진행할 수 있기 때문에 Windows Forms를 사용합니다. 복잡한 프로덕션 코드의 경우 C ++ (WTL 포함) 및 부차적 .NET을 완전히 사용합니다.
Robinson

8
WPF에 익숙하지 않은 독자를 위해 약간의 설명이 필요합니다. 기본 응용 프로그램 레이아웃의 경우 WPF를 사용하는 데 약간의 노력이 필요합니다. 기본 VS WPF 애플리케이션 템플릿은 WinForms와 동일한 시작점을 제공합니다. MVVM은 WPF와 함께 작동하는 데 꼭 필요한 것은 아니지만 실제로 MVVM 프레임 워크없이 Binding을 사용하는 것은 간단한 앱에서도 쉽습니다. WPF는 기술적으로 WinRT 및 UWP에 더 가깝기 때문에 레거시 응용 프로그램을 유지하는 것 외에는 Windows Forms가 죽었다고 가정하십시오.
너무

3
Winforms는 새로운 시대의 "콘솔"앱을 구축하는 데 적합합니다. 예를 들어 일반적으로 콘솔 앱에 스킨을 효과적으로 적용하는 버튼과 사용자 입력이 포함 된 매우 기본적인 탭 컨트롤입니다.
롤백

16

지금은 2016 년 4 월이며 아직 명확한 답이 없습니다. 우리는 텍스트 및 기타 다양한 그래픽과 혼합 된 여러 차트 및 디스플레이를 렌더링해야하는 매우 현대적인 실시간 성능 모니터링 데스크톱 애플리케이션을 개발하고 있습니다. 우리의 응용 프로그램은 .NET Framework 4.5.2를 사용하는 C #, WPF이지만 허용 가능한 성능을 얻기 위해 여전히 WinForms 및 GDI +를 사용하여 일부 구성 요소를 작성하고 있습니다. 우리는 WPF로 그것을 달성하지 못했습니다. DirectX를 사용하여 응용 프로그램에서 몇 개의 디스플레이를 개발했지만 이로 인해 팀 중 소수만이 지원할 수있는 많은 복잡성이 추가됩니다. WPF 내에서 WinForms 디스플레이를 호스팅하여 얻을 수있는 단순성과 순수한 속도와 GDI +의 속도는 다양한 공역 문제와 함께 순수한 View / ViewModel 구조의 값 비싼 비용으로 필요한 것을 제공합니다. 우리의 응용 프로그램은 매우 전문적이며 WinForms를 완전히 제거하고 싶지만 불행히도 우리의 경우 아직 가능하지 않습니다. 순수한 성능을 위해서는 DirectX 또는 WinForms를 사용해야합니다.


1
WinForms에서 가지 성능이 더 우수 하다는 것을 알려 드리겠습니다 . 그 반대가 사실 인 다른 것 (특히 애니메이션)이 있습니다. 당연히 DirectX를 똑바로 사용하는 것이 아마도 더 좋을 것입니다. 그러나 당신이 지적한 것처럼 아무도 이것을 원하지 않습니다.
BradleyDotNET

1
WinRT 후에는 다른 곳을 찾기로 결정했습니다. 제 고객과 저는 제 고객과 제 고객의 수익에 영향을 미치기 때문에 Microsoft가 원하는 것에 너무 많이 의존 할 수 없습니다. 이제 로컬 웹 서버를 사용하여 사용자의 브라우저 또는 WinForm / WPF 앱의 임베디드 브라우저 컨트롤에 로컬로 애플리케이션 페이지를 제공하는 자체 호스팅 애플리케이션을 찾고 있습니다. 이것은 개발을 단순화하고 크로스 플랫폼 호환성에 더 가깝게 이동하며 분명히 비용을 절감합니다.
TheLegendaryCopyCoder

6

내 두 센트 ... 진정한 범용 앱, 즉 Windows를 포함한 모든 데스크톱 운영 체제에서 실행할 수있는 프로그램을 원한다면 WinForms가 여전히 갈 길입니다. CLR 호환성을 유지하고 Mono를 통해 Mac 및 Linux에 배포 할 수 있는지 확인하십시오. 엄청난 혜택입니다. XAML은 멋질 수 있지만 다른 운영 체제로 이식되지는 않습니다.

개인적으로 샌드 박스 화 된 (빠른?) UWP 비즈니스 모델이 끔찍하다고 생각합니다. Windows가 처음부터 지켜온 개방성에 대응합니다.


4

저는 10 년 이상 Microsoft 기술로 작업 해 왔습니다. 내가 배운 가장 중요한 것은 마이크로 소프트가 제공하는 것에 귀를 기울이는 것이 아닙니다. 마이크로 소프트가 이것이 미래 라고 말하면 잘못 될 확률은 50 %입니다. Microsoft는 그들이 투자 한 제품을 홍보하기 위해 최선을 다할 것이지만 그렇다고해서 반드시 따라야한다는 의미는 아닙니다. WCF 및 Silverlight는 어떻게되는지 확인하십시오.

WPF는 배우기에 매우 좋은 플랫폼이지만 학습 곡선이 큽니다. 프로그래밍 경험이 5 년 미만인 개발자는 WPF를 제대로 수행 할 수 없다고 생각합니다.

MVVM 패턴을 따르면 WinForm에서 비교적 쉬운 작업을 수행하는 것이 WPF에서 매우 어려울 수 있음을 알 수 있습니다. 업데이트 후 일부 조건에 따라 셀에 색상을 지정하거나 뷰에서 행을 스크롤하여 강조 표시합니다.

물론 MVVM을 할 필요가 없다고 말할 수 있습니다. 코드 뒤에 코드를 넣고 작동하게 만드십시오. 예, 작동하지만 WPF 사용의 요점은 무엇입니까? 왜 Win Form을 사용하지 않습니까?


1
나는 WPF가 강렬한 학습 곡선을 가지고 있다는 데 동의하지만, 일단 그것을지나 치면 단순히 WinForms로 돌아갈 수 없습니다.
Krythic

4

이것은 오래된 스레드이지만 .NET 프레임 워크의 현재 진행 상황, C # 기능 및 게임 개발 선택으로 C #에 대한 관심이 증가함에 따라 중요한 스레드입니다.

WPF는 정직하게 AC # 게임 플랫폼으로 선택되지 않았습니다. WPF 공역 문제는 사람들을 아주 빨리 겁 먹게했습니다. 이 때문에 많은 주요 타이틀이나 메인 스트림 게임 엔진이 WPF를 대상 플랫폼으로 지원한다고 생각하지 않습니다. WPF는 게임 런처를위한 훌륭한 플랫폼을 제공합니다!

현재 유지 관리 모드에있는 WinForms는 앞으로도 여전히 유효한 선택이 될 것입니다. 오랜 시간 동안 테스트되고 안정적입니다. 제가 본 바에 따르면 2017 년에도 WinForms는 여전히 C # 기반 게임 개발을 위해 선택된 가장 일반적인 플랫폼입니다.

보고 스팀 하드웨어 조사 자료 를 이 답변을 작성하는 시점 (2017 년 7 월)에 Windows 10 64 비트가 현재 50 %의 시장 점유율로 PC 게임 플랫폼을 지배하고 있으며 Windows 7 64 비트가 32 %라는 것을 알 수 있습니다. Windows 8.1 64 비트는 거의 7 %입니다. 다른 모든 OS 플랫폼 시장 점유율은 너무 작아서이 세 가지 이외의 것을 고려할 가치가 거의 없습니다.

이것이 현재 PC 게임 상태이기 때문에 WinForms는 3 개의 상위 PC 플랫폼을 모두 대상으로하는 가장 일반적인 분모입니다. 미래를 내다 보면 UWP는 Windows 7 및 8을 대체하는 새로운 플랫폼이 제공되지 않는 한 Windows 7 및 8이 Windows 10에 대한 상당한 시장 점유율을 잃기 때문에 C # 게임 개발을위한 최고의 대상 플랫폼이 될 것입니다. 그래서 그것은 단지 숫자입니다.

최대 시장 점유율을 지원하는 대신 OS 플랫폼 당 최고 수준의 호환성을 기반으로 선택하는 경우 선택 사항은 다음과 같습니다.

  • Windows 10 : UWP
  • Windows 8.1 : WinRT 또는 Windows Store
  • Windows 7 : WinForms

대부분의 다른 답변은 표준 Windows 응용 프로그램 개발을 중심으로하지만 게임 개발은 매우 다른 영역이며 대상 OS 및 선택한 그래픽 API 또는 게임 엔진이 실제로 가장 잘 지원하는 것과 같은 다양한 요소가 선택에 영향을 미칩니다.


gamedev에 대한 관점을 갖는 것은 흥미롭지 만, Unity와 같은 C # 용 완전한 기능을 갖춘 게임 엔진이있는 게임 개발 용 GUI 프레임 워크를 선택하는 이유를 이해하지 못합니다. 내가 클래식 GUI로 본 게임은 (지도 / 자산 편집과 같은) 게임 데이터 편집 용
이었습니다.

2
같은 이유로 그들은 게임 엔진을 선택합니다. 관리 코드에서 효과적으로 네이티브 창을 만들고 관리하는 것은 상당한 작업입니다.
Mike Johnson

3

WinRT는 오랫동안 데스크톱에있었습니다. 저는 내 데스크톱에서 실행되는 WinRT를 작성하고 있습니다. 그리고 Windows 10에서 이러한 응용 프로그램은 도킹되지 않은 위치 (전통적으로 알고있을 수있는 창)를 지원합니다.

오늘부터 누구에게도 WinForms 또는 WPF를 권장하지 않습니다. 주로 WinRT / XAML을 배워야합니다. 선택한 언어에 따라 필요한만큼 Win32 / .net을 배우십시오.

"그들은 WinRT + XAML이 Metro GUI 구축을위한 것이라고 말합니다 (Window 8 타일 같은 것입니다!)"-이것은 너무 과도하게 추상화되어 쓸모가 없습니다. WinRT는 Win32와 같은 런타임이며 GUI만을위한 것이 아니므로 "그들이 말하는"것은 완전한 BS입니다. XAML은 UI 계층 (WPF의 XAML과 매우 유사)이지만 Metro GUI도 잘못되었다고 말하면 더 이상 Metro GUI와 같은 것은 없습니다. XAML은 Windows UI 계층입니다. 그리고 "윈도우 8 타일 물건!" 특정 민족의 터널 비전을 표현합니다. Win32가 시작 메뉴라고 말하는 것과 같습니다. 그 말이 얼마나 우스꽝 스러운지 알 수 있습니다.


8
내 원래 진술을 명확히하기 위해 WinRT를 사용하여 "전통적인"데스크톱 응용 프로그램을 만들 수 없습니다. 이러한 이유로, 다른 사람의 사이가 이유는 WPF (윈폼, 순전히를) 배울 수 있습니다. 다른 것이 없다면 동시에 WinRT를 효과적으로 배웠을 것입니다 (내 답변에서 언급했듯이). 또한 시장을 지배하는 WinRT 앱 (특히 LOB (기간 업무) 앱)의 지점 근처에는 없습니다. WPF는 여전히 매우 가치가 있습니다.
BradleyDotNET 2015

7
WinRT가 전체 화면 앱 빌드와 관련이없는 경우 실제로 출시 된 Windows 버전에서 실행되는 창 앱을 빌드하는 데 WinRT를 사용하는 방법을 알려주시겠습니까? 또는 10 % 이상의 Windows 컴퓨터 (예 : Windows 7 및 XP)에서 실행되는 앱을 작성하는 데 사용하는 방법은 무엇입니까? 대부분의 개발자는 Windows 사용자의 10 % 이상을 대상으로 할 수 있기를 원합니다. Windows 8 또는 10이 상당한 양의 시장 점유율을 확보 할 때까지 WPF는 여전히 많은 응용 프로그램에 필요합니다. WinRT는 런타임 계층 일 수 있지만 Win32가 할 수있는 많은 것 (전체)에 액세스 할 수 없다는 사실은 변경되지 않습니다.
John Colanduoni 2015

1
@JohnColanduoni가 말했듯이, 오늘 시작하는 모든 사람에게 WinRT는 갈 길입니다. 엄청난 시장 점유율. 예 모두가 win10로 이동뿐만 아니라 며칠은 우리가 프랑스 공항은 여전히 win3.1 사용하는 것이 발견 일 전
존 데 메트

3
@GavinWilliams 좋아요, Windows 10을 시장 부문에서 상당한 시장 점유율로 올린 통계는 어디입니까? 모드가 귀하의 소스에 대한 링크가있는 귀하의 댓글을 삭제했지만,이 댓글을 올릴 수 있도록 허용 했나요? 나는 그것을 사지 않는다. XP가 지원할 가치가 없다는 데 동의하지만, Windows 10 범용 앱은 Windows 7은 말할 것도없고 Windows 8.1도 지원하지 않습니다. 채택은 Windows 범용을 정당화 할 필요가 없으며 속도가 느려지고 있습니다.
John Colanduoni 2015

3
@GavinWilliams 좋아요, 30 %는 97 % (WPF를 사용한 경우 얻을 수있는 지원)보다 훨씬 적다 는 것과이 데이터는 비디오 게임 프로그래머에게만 유용하다는 사실을 무시합시다 . 비디오 게임의 경우 두 가지를 모두 타겟팅하는 것은 매우 쉽습니다. 정말 사소한 일이 아니라면 DirectX / OpenGL을 사용하고 싶을 것입니다. 즉, 창 / 전체 화면에서 호스팅하면됩니다. 당신이 그를 사용하지 않으려면, 당신이있어 정말 (WPF가하는대로) 주최의 DirectX / OpenGL을하지 않고 그리기 즉시 모드를 허용하지 않습니다 WinRT의 UI 때문에 WPF를 원하는 것. 그렇다면 WinRT가 시장 규모의 70 % 감소를 정당화하는 이유는 무엇입니까?
John Colanduoni 2015

1

나는 약 1 년 전에이 질문에 부딪혔다. XAML, WPF 또는 WinRT가 시작하기에 올바른 개발 환경이라는 결론에 도달했습니다.

데이터 레이어 (웹 서비스 및 RESTful 레이어 (JSON) 포함)에 .Net Framework를 사용하고 웹 프레젠테이션 레이어에 순수 HTML5 / CSS3 및 Javascript를 사용하는 것이 좋습니다.

Windows 10 내에서 모든 웹 애플리케이션을 즉시 사용 가능한 메트로 애플리케이션으로 통합 할 수 있습니다.

WinRT, XAML, WPF 및 이와 유사한 ms 항목은 Windows에서만 실행되며 많은 제한이 있습니다.

따라서 1 년 후에도 새 프로젝트에 WinRT 또는 XAML을 사용하지 않기로 결정한 것에 대해 여전히 매우 만족합니다.


3
무슨 소리 야? 예, 웹 앱을 만들고 싶다면 훌륭한 선택입니다. 데스크톱 앱을 만들고 싶다면 그렇지 않습니다. Katana를 사용하고 로컬에서 호스팅되는 WebApi를 사용하여 데스크톱 앱을 만들 수 있습니다.
Casey

1
OP는 웹 앱이 아닌 Windows GUI 및 WPF 또는 Winrt에 대해 질문했습니다.
ezaspi

6
또한, 나는 개인적으로 이러한 기술을 찾아 열심히 (이해할 수없는 레이아웃 시스템, 코드에 아무런 컴파일시 검사 등) 데스크탑은 죽지 않았어 아직 :)으로 작업에
BradleyDotNET

1
동의합니다. HTML은 범용 UI이며 데스크톱 용이어야합니다. 저는 우리가이 모든 다른 프레임 워크를 단순화하고 점점 더 많은 도입을 중단해야한다고 생각합니다. 대부분은 필요하지 않습니다. HTML과 ASP를 배우고 WinForm 앱에서 웹 사이트를 자체 호스팅하십시오. WinForm 앱에는 웹 서버 및 웹 브라우저 컨트롤이 포함되어 있습니다. 그 결과, 시간을 절약하고, 하나의 언어와 기술을 마스터하는 데 집중하고, 개발자는 더 빨리, 고객의 비용을 절약하고, 앱은 미래를 대비하고 훨씬 더 이식성이 좋습니다.
TheLegendaryCopyCoder
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.