Microsoft MVP성태의 닷넷 이야기
Windows Form Application는 사라질까요? [링크 복사], [링크+제목 복사],
조회: 12874
글쓴 사람
초급개발자
홈페이지
첨부 파일
 

안녕하세요?
현재 까지 C#으로 주로 Windows Form개발만 했는데
점점 신기술에 뒤쳐지는 기분이네요..
MS가 UWP만 밀건지.....
그래도 복잡한 전문가용 프로그램은 윈폼으로 개발 되지 않을까요?
UWP보단 윈폼에서 표현할 수 있는게 많을거 같은데...
성태님은 어떻게 예상하고 계신지 궁금해서 글 올려 봤습니다...
앞으로의 트랜드에 대해서 조언 부탁 드립니다...^^...
감사합니다....








[최초 등록일: ]
[최종 수정일: 6/7/2016]


비밀번호

댓글 작성자
 



2016-06-07 03시25분
UWP는 그 환경이 너무 독특하기 때문에 윈폼의 경쟁 상대는 아닙니다. 오히려 WPF 응용 프로그램이 윈폼의 대체제라고 보시면 됩니다. 말씀하신 복잡성이라면, 그 복잡한 비주얼 스튜디오 IDE 자체도 WPF로 만들어졌다는 것을 감안하면 윈폼이 딱히 그 부분에 경쟁력이 있어 보이진 않습니다.

이런 면에서 봤을 때 WPF를 공부하지 않아야 할 이유는 없습니다. (UWP도 덤으로 따라오는 것을 감안하면 배워둘 가치가 충분히 있습니다.)

그렇지만 윈폼은 그 기반이 되는 Win32 구조가 살아있는 한 절대 사라지지 않을 것입니다. 또한 명백히 ".NET Full Framework"라는 배포본이 존재할 것이므로 윈폼이 거기서 제외될 가능성은 거의 없을 거라 봅니다. (설령 제외시킨다 해도 어셈블리 자체가 원래도 독립적이었기 때문에 별도 배포로도 얼마든지 살아 있을 수 있습니다.)

윈폼이 사라질 걱정은 안하셔도 되지만, 어쨌든 신기술에 뒤쳐지는 기분을 느끼는 것은 그다지 좋은 신호는 아니라고 보입니다. ^^
정성태
2016-06-08 08시05분
[spowner] 윈도 어플리케이션을 Windows Forms으로 만드는 저로서는, MS가 Windows Forms에 대한 기능 개선을 하지 않는 것에 대한 약간의 아쉬움은 있습니다.
익숙한 것이 좋다고, Windows Forms에 너무 많이 익숙하거든요. 회사 입장에서는 생산성도 굉장히 중요하므로... 그렇습니다.
어쨌든, Windows Forms의 기반 컨트롤들은 여러 상황에서 상당히 비효율적으로 동작하긴 합니다. 대표적인게 DataGrid 컨트롤 입니다.
GridLayout같은 경우, 있는 그대로 쓰려면 정말정말 느리게 동작을 하고요, 여러가지 커스터마이징 하는 기법이 있긴 한데, 가령, 배경 이미지가 들어갔다 치면...
이래저래 많이 느려집니다. 결국에는 저희고 WPF를 공부해서 사용해봐야 하는 입장이고요, WPF의 기본 성능이 얼마나 Windows Forms보다 뛰어나느냐는 확인해봐야 겠지만...
아래 성태님이 말씀하신 것 처럼 Visual Studio IDE가 WPF로 만들어졌기 때문에, 나름의 최적화는 꾸준히 이루어지지 않을까 하는 기대감이 있습니다. ㅎㅎ
UWP도 같이 공부해보시는건 당연히 좋구요. 하지만, UWP의 영역은 아래 성태님이 말씀하신 것 처럼 좀 영역이 다릅니다. UWP로 윈도 어플리케이션을 개발할 수 있지만,
아직까지는 많이 제한적인것 같더라고요... 가령, App의 배경화면을 투명으로 하고 싶은데, UWP로는 불가능 한것으로 알고 있습니다.

[guest]

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216289교재 315페이지 내용 질문 [3]
5484Syong4/16/20219848윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215345익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217126WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217457GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216509Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20218966C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20215962c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20216979POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216521사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216400디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217178등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20215818MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20215745yield 질문있습니다!! [2]
5469유호성2/6/20215304Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215699실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215568c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20215928두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216201C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20216953Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217346사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216743AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216080typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20216962C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202173709.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216403교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...