[wpf] WPF 앱과 비즈니스 앱용 Winform의 장점은 무엇입니까? [닫은]

나는 asp.net과 winform 개발을 알고 있습니다. 나는 새로운 기술이라는 이유로 새로운 기술에 뛰어 드는 유형의 개발자가 아닙니다. 생산성 향상과 같은 추가 혜택을 제공해야합니다.

순수 비즈니스 앱에서 Winforms에 비해 WPF의 장점은 무엇입니까? 나는 WPF가 제공하는 추가 눈 사탕, 애니메이션, 그라디언트, 이미지 표시 효과 등에 관심이 없습니다. 비즈니스 앱은 데이터 입력, 데이터보고 및 일부 차트 및 사진의 정적 표시를위한 것입니다.

WPF는 이러한 앱에서 어떻게 도움이됩니까? 더 풍부한 데이터 바인딩? WinForm은 성숙한 검증 된 기술이며 Visual Studio에서 모든 작업을 수행 할 수 있다는 사실과 WPF (VS 및 Blend 제품군) 용 여러 IDE에서 할 수 있다는 사실이 마음에 듭니다. 또한 WPF에는 Winform 대응 요소 (DataGridView..etc)와 같은 풍부한 데이터 바인딩 컨트롤이 없다고 생각합니다. AFAIK, Microsoft는 수년 동안 Winforms를 계속 지원할 것입니다.

나 같은 사람이 전환하도록 설득하십시오.



답변

나는 asp.net과 winform 개발을 알고 있습니다. 나는 새로운 기술이라는 이유로 새로운 기술에 뛰어 드는 유형의 개발자가 아닙니다. 생산성 향상과 같은 추가 혜택을 제공해야합니다.

우리 팀에게 WPF는 WinForms보다 응용 프로그램을 개발하는 데 훨씬 빠른 것으로 입증되었습니다. 우리는 최근 32 일 만에 중간 크기의 앱을 출시했습니다. 우리는 팀의 숙련 된 WPF 개발자와 기술을 배우고 싶어하는 경험이없는 사람들의 이점을 누 렸습니다. 사기가 컸고 생산성이 인상적이었습니다.

WinForm은 성숙한 검증 된 기술이며 Visual Studio에서 모든 작업을 수행 할 수 있다는 사실과 WPF (VS 및 Blend 제품군) 용 여러 IDE에서 할 수 있다는 사실이 마음에 듭니다.

자신을 핸드 코더 또는 드래그 앤 드롭 코더라고 생각하십니까? 자신을 끌어서 놓기 도구로 생각한다면 현재의 WPF 도구 자르기가 적합하지 않을 수 있습니다. Visual Studio 2010을 기다리시겠습니까? 저는 거의 독점적으로 XAML로 작업합니다. 대부분의 WPF 작성자는 이것이 현재 WPF 응용 프로그램을 만드는 가장 효과적인 방법이라는 데 동의 할 것입니다. 하지만 HTML도 수작업으로 만들어서 자연스럽게 느껴집니다.

순수 비즈니스 앱에서 Winforms에 비해 WPF의 장점은 무엇입니까? 나는 WPF가 제공하는 추가 눈 사탕, 애니메이션, 그라디언트, 이미지 표시 효과 등에 관심이 없습니다.

예전에는 이런 식으로 생각했지만 최근에는 그라디언트, 기본 애니메이션 및 효과가있는 비즈니스 애플리케이션을 개발했습니다. 이러한 멋진 기능은 사용자 경험을 향상시키기 위해 추가되었습니다. 비즈니스 앱이 왜 Battleship Grey 여야합니까? 왜 사용할 수 없습니까? 물론 비즈니스 앱을 사용할 수있게 만드는 것은 색상, 그라디언트, 애니메이션이 아니지만 이러한 효과를 사용하면 사용자 경험에 도움이 될 수 있으며 이것이 저에게 중요합니다. WinForms의 WPF 앱에서 수행 한 모든 작업을 수행 할 수있었습니다. 훨씬 더 오래 걸렸을 것입니다.

더 풍부한 데이터 바인딩?

데이터 바인딩 지원은 정말 놀랍습니다. 플랫폼에서 가장 사랑받는 기능입니다. 이 멋진 데이터 바인딩 치트 시트를 확인하십시오 .

나 같은 사람이 전환하도록 설득하십시오.

다른 사람이 WPF로 전환하도록 설득하지 않기로 결정했습니다. 내가 “설득”하려고 노력한 개발자 (모든 경험있는 Winforms 개발자)는 일반적으로 플랫폼에 어려움을 겪었습니다. 그들은 기술에 투자하지 않습니다. 그들은 “그것을”얻지 못합니다. 저는 사람들이 기술을 확인하여 개발자로서 적합한 지 확인하도록 권장합니다. 학습 곡선은 엄청납니다. 책으로 배우는 경우 WPF 책에 대한 미니 리뷰를 보려면 이 SO 게시물 을 확인하십시오 . 비디오로 배우는 경우 windowsclient.net WPF 비디오를 확인하십시오 . 예를 들어 배운다면 이것 또는 이것을 확인하십시오게시하다. WinForms에 대해 알고있는 모든 것을 잊어 버리십시오. WPF는 실제로 WinForms보다 ASP에 더 가깝습니다. 몇 가지 샘플 애플리케이션을 만듭니다. 귀하와 귀하의 팀에 적합한 지 확인하십시오.

다중 기술 (asp.net/winform 기술)이므로 Silverlight와 매우 밀접한 관련이 있으므로 WPF 기술 향상의 이점을 확인할 수 있습니다. Silverlight는 리치 클라이언트 애플리케이션과 웹 애플리케이션 사이의 격차를 채워줍니다.

개인적으로 WPF는 .NET 프레임 워크에서 사용할 수있는 최고의 클라이언트 측 기술이며 일반적으로 향후 작업을 위해 WinForms에서 개발하는 것을 피할 것입니다. YMMV

당신의 결정에 행운을 빕니다.


답변

나는 꽤 많은 winforms 경험을 가지고 있고 WPF로 조금만 놀았지만 나는 팔렸다.

왜?

  • 훨씬 더 많은 유연성. winforms에서 비표준을 수행하려면 고통과 고통이 뒤 따르지만 WPF에서는 간단합니다.

  • 훨씬 더 나은 데이터 바인딩

  • 개발하기 더 쉬움 (핵심 개념을 이해하면 안타깝게도 시간이 오래 걸립니다)


답변

WPF를보기 시작했을 때 저는 “벡터 그래픽을 사용하는 Winforms”로 취급하고 곧바로 학습 절벽의 측면으로 뛰어 들었습니다. WinForms에서 WPF로 전환하는 적절한 방법은 알고있는 모든 것을 잊기 위해 손에 얹을 수있는 모든 마약을 영웅적으로 복용 한 다음 처음부터 시작하는 것입니다.

진지하게-Model-View-ViewModel과 같은 패턴을 사용하면 훨씬 깨끗하고 쉽습니다. The Orbifold ,이 Google 그룹스 스레드Channel9 에서 자세히 알아보기

그런 다음 어느 시점에서 깨달음을 얻고 모든 것을 데이터 바인딩하기 시작합니다. 코드 숨김은 InitializeComponent ()에 대한 호출에 지나지 않습니다.


답변

게시물 주셔서 감사합니다. 우리 회사는 WinForms에 많은 시간을 투자했습니다. 나는 32 일 만에 중간 크기의 애플리케이션을 출시하는 것을 상상할 수 없다. 우리의 인증 기간은 수개월이며 릴리스주기는 때때로 매년 또는 그 이상입니다 (가능한 한 애자일 개발 철학에 가깝게 고수하더라도). 이것이 우리가 개발하는 애플리케이션의 특성입니다.

방금 WPF를 처음 사용했으며 ElementHost를 사용하여 WinForms에서 WPF의 이점을 얻을 수 있음을 알았습니다. WPF TextBox를 확장 한 다음 확장 된 클래스를 Win Forms UserControl에 래핑하고 이제 해당 WPF 텍스트 상자를 사용하는 WinForms 앱이 있으며 맞춤법 검사 지원이 완료됩니다.

Microsoft가 이것을 생각하는 것을보고 감명을 받았습니다 (WinForms에서 WPF를 호스팅하고 그 반대의 경우도 마찬가지 임). 오랜 기간에 걸쳐 전환 할 수 없으면 회사가 WPF로 전환되는 것을 볼 수 없기 때문입니다. 다시 시작하기에는 WinForms에 너무 많은 투자가 있습니다. 최근 경험을 바탕으로 다른 개발자들과 최근 경험에 대해 이야기하고 그들의 생각이 무엇인지 알 수 있습니다. 나는 WPF가 익숙해지는 데 시간이 걸릴 것이라고 생각하며 다른 의견과 일치하는 것 같습니다.


답변

중복은 아니지만이 게시물은 새로운 그래픽 비트 외에도 WPF의 이점에 대해 도움이 될 수 있습니다.

내부 도구 용 WPF 또는 WinForms?


답변

여기 Stackoverflow에서이 검색 결과를 확인하여 수많은 답변을 얻으십시오.
https://stackoverflow.com/search?q=WPF+Winforms


답변

데스크톱 앱과 함께 ASP.NET/(Silverlight) 페이지에서 동일한 UI (XAML)를 사용할 수 있다고 상상해보십시오. 한 번만 빌드했지만 둘 중 하나에 연결합니다 …. WPF / XAML의 의도 중 하나입니다 … 정말 거기에 있습니까? 아직은 아니지만 가까워지고 있습니다.