나는 이것이 오래된 게시물이지만, 여전히 유효한 질문이라고 생각합니다.
저는 근무한 첫 번째 회사에서 3 년간 WinForms를 사용했습니다. 거기에 정말 좋은 프로그래머가 있었고, 아주 멋진 일을하는 아주 영리한 방법을 발견했습니다. WinForms는 시간의 시험을 견디어 냈습니다. 견고하고 신뢰할 수 있으며 효율적인 플랫폼입니다. 크고 작은 많은 사람들과 많은 사람들이 WinForms를 수년간 사용해오고 있으며이 기술은 여러 번 그 자체로 다시 입증되었습니다. 그런 관성은 당신이 마이크로 소프트 일지라도 싸우기가 어렵습니다.
여전히 WPF는 확실히 미래입니다. Microsoft는 Visual Studio 2010 및 Expression Blend와 같은 제품을 제작함으로써이 점을 분명히했습니다. (내부 프로젝트에 WPF를 사용할 때 Microsoft는 폰트 렌더링 및 속도 문제와 같은 많은 문제를 수정하여 사람들이 처음에 채택하지 못하게했습니다 .Visual Studio 2010은 WPF가 오랫동안 프로덕션 준비가 완료되었음을 보여줍니다.
WinForms 또는 WPF로 프로그램을 작성하는 것이 더 나은가요? 대답은 WPF입니다. 두 가지 이유가 있습니다. 첫째, Microsoft는이를 내부적으로 지원하기 때문에 매우 약할 것입니다. 오랜 시간입니다. 마이크로 소프트는 WinForms보다 우위에 서게되었습니다. (필자가 동의하지 않은 사람들도 있지만, 그럼에도 불구하고 진실이며 더욱 분명 해지고 있습니다. WPF는 통합 지원 놀라운 데이터 바인딩, 타임 라인 기반의 애니메이션 등과 같이 WinForms가 제공하지 않는 (아마) 결코 제공 할 수없는 많은 기능을 가지고 있습니다. 당신의 애플 리케이션을위한 놀라운 테마를 만들기 쉽고, 디자이너가 전환을 요청하게됩니다.덧글에 설명 할 수있는 것보다 WPF가 훨씬 더 많습니다. 그러나 이것들은 저에게 큰 두 가지입니다.
이것은 말했듯이 WinForms에서 할 수없는 WPF에서는 할 수있는 일이 없습니다. 당신이 충분히 나쁘게 원한다면 어떤 언어로도 무엇이든 할 수 있습니다. 요점은 WinForm을 사용하면 다른 사람들이 어떻게 멋진 일을했는지에 대해 Google을 수색 할 때 WPF는 Microsoft가 Windows의 미래라고 생각하는 모든 기능을 기본적으로 지원하고 사용자의 손끝에 바로 놓을 수 있다는 것입니다.
사람들은 시간이 지남에 따라 Windows에 직접 빌드되는 새로운 기능에 익숙해지고 사용하는 모든 응용 프로그램에서 사용할 수있게 될 것입니다. 이것은 그 (것)들을 지원하지 않는 아무거나가 clunky,보다 적게 쓸모 느끼고, 돈 지출에보다 적게 가치가있게 보이는 점에 도달 할 것이다. (터치 통합이 가장 눈에 띄는 예로 볼 수 있습니다. 모니터에 고정하고 마우스를 모방하는 터치 스크린 솔루션이 있지만 모든 컴퓨터에서 터치 스크린 기술은 매우 먼 길을 걸어 왔으며 Windows 8에서는 선을 흐리게 처리했습니다 데스크탑과 모바일 장치 사이에서 사람들은 응용 프로그램이 WinForms를 사용하는 경우 구현하기가 매우 어려운 방식으로 응용 프로그램을 사용하려고 할 것입니다.)
조만간 또는 이후에 WinForms에 대한 지원 및 개발이 중단 될 것이며, 뒤에 남겨진 모든 사람들은 강제로 항구에, 그리고 빨리. 그러나 WinForms를 사용하여 Microsoft에서 가까운 미래에이 프로그램을 삭제할 수있는 프로그램이 너무 많습니다. 누가 무슨 일이 일어날 지 압니까. 아마도 WinForms는 Itanium 프로세서가 Intel에 어떤 것이 있는지 Microsoft에 알릴 것입니다. Itanium 프로세서는 더 나은 솔루션을 사용할 수있을지라도 계속 사용하기에 충분한 사용자를 보유한 제품입니다. (http://arstechnica.com/business/news/2011/06/ask-ars-why-itaniumask-ars-with-xeons-improvement-why-bother-with-itanium.ars)
내 조언은 다음과 같습니다. 새로운 개발과 관련하여 WPF로 전환하십시오. 교육 과정에 직원을 파견하거나 잠시 동안 게임을 보게하여 기술에 대한 느낌을 높일 수 있습니다. 학습 곡선은 가파르지만 이렇게하면 WPF 학습을 통해 WPF에 익숙한 사람들이 WPF와 비슷한 정도로 SilverLight를 학습 할 수 있기 때문에 팀의 기술을 향상시킬 수 있습니다. 빠르게 배우기는하지만 데스크톱이 아닌 웹을 위해 설계되었습니다. WPF로 다시 작성된 앱은 나중에 웹 응용 프로그램으로 변환하기가 훨씬 쉬워지기 때문에이 기능이 유용합니다. WPF는 새로 도입되었지만 사람들이 배울 수있는 다른 것을 만들기위한 목적으로 만들어진 것이 아닙니다. 이 제품은 응용 프로그램을보다 사용자 친화적이고 직관적이며 휴대 가능하도록 설계되었습니다. 개발자가 응용 프로그램을 새로운 시대의 컴퓨터에 적합하게 만들 수 있도록 설계되었습니다.
WinForms로 작성된 응용 프로그램 : WinForms는 지원 기간이 길기 때문에 오랫동안 계속 지원된다고 생각하는 것이 안전하다고 생각합니다. 팀에서 WPF에 익숙해 지도록 권장하고 응용 프로그램을 서서히 WPF로 이전하십시오. 마이크로 소프트가 허락하는 한시적 인 시간을 가지지 만 항상 어떤 식 으로든 WinForms의 날은 끝났음을 명심하십시오. 아무도 무슨 일이 일어날 지 확신 할 수는 없지만 레거시 제품에 대한 지원은 중단 될 것입니다 그것이 정당화 될 수있는 한 빨리 WinForms 응용 프로그램이 수년 동안 유지 되더라도 시간이 변함을 기억하는 것이 중요합니다. 우리는 모두 변경해야합니다.
정말 달려 있습니다 .... 응용 프로그램에 대해 더 많은 배경 지식을 제공 할 수 있습니까? – Brann
Dup? http://stackoverflow.com/questions/388711/when-is-winforms-the-correct-choice-vs-wpf –
DUP가 아닙니다. 3D/DirectX로 구부러져 있습니다. –