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

안녕하세요?
현재 까지 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]

1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5806스레드1/25/20233142총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
5805어웨이트1/25/20233003Taskcontinuewith vs Async/Await [2]파일 다운로드1
5804나이많은...1/25/20232863MS의 Dependency Injection(DI)에 AddSingleton으로 등록된 객체의 Event 등록후 사용시 앱 종료시 별도로 Event를 해지해야 하나요? [2]
5803dssc...1/24/20233099드라이브 문자를 통해서 물리 디스크 명칭을 알아내고 싶습니다. [1]
5802모바일앱1/22/20232978XAMARINE vs Android Studio [7]
5801블루투스1/19/20233709WPF 은행지폐계수기 개조 후 결과값 서버 전송 [2]파일 다운로드1
5800김민아1/19/20234044안녕하세요 가비지 컬렉터 동작 원리 중 궁금한점이 있습니다 [5]
5799guest1/19/20233190C# 공유폴더 내 Acess 디비 공유 [2]
5798kss1/19/20232968책 오탈인가요? [1]
5797이거비버1/19/20233063C# 공부 이후 MS 프레임워크.. 어느것을 공부해야할까요? 너무 많아서 정신이 없네요 [5]
5796guest1/19/20232778해킹 test [3]
5795동기1/18/20232619동기 스레드와 메서드와 While [2]
5794박규동1/18/20232586.net publish 할때마다 runtimeconfig 값이 바뀌는 현상 [1]
5793후후훗1/18/20232758.NET Core 에서 사용중인 함수 후킹 방법 [2]
5792Will...1/18/20232697소스코드 Log Write 기능을 리스트업 질문 [9]
5791PLC1/16/20233400C# - 실시간 5개 룸 모니터링 [15]
5790집으로 ...1/13/20233051[UI 멈춤 현상]deadlock 관련 글을 보고 혹시나 하고 문의 드립니다. [4]
5789guest1/10/20232949스레드와 Async Task [2]파일 다운로드1
5788kr11/10/20233402C# 에서 제공하는 컬렉션들의 차이점이 궁금합니다. [3]
5787stack1/10/20233189STACKOVERFLOW [1]
5786Dev ...1/9/20234060익명 클래스 말고 익명 구조체는 불가능한걸까요? [4]
5785음성인식1/8/20233655음성인식 System.Speech - 문법에 사용된 언어가 음성 인식기의 언어와 일치하지 않습니다. [2]
5784MS워드1/8/20233282MS워드에서 ctrl Z는 클립보드를 이용하나요? 아니면 참조자 이용하나요? [7]
5783구직자1/7/20233321C#개발자 구인광고와 초급개발자 [3]파일 다운로드1
5782Sqli...1/5/20233296윈도우11 노트북에서 exe(Sqlite)만들어 윈도우 7 PC에 설치 시 [5]
5781List맨1/5/20233794List.Add("newobj") 속도는 빠른 편인지요? [11]
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...