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

안녕하세요?
현재 까지 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)
5932EK4/12/2024518다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [1]
5931이대희4/2/2024854Windows 앱 SDK C# 템플릿의 용도가 무엇인지요? [1]
5930vict...2/22/20241731ef core, FromSqlRaw 맵핑 질문입니다. [4]
5929a2/17/20241808.Net 8 에서 디버거 변경 [1]
5928vict...2/5/20241964wpf에서 대량 데이터 보여주는 방법 추천 부탁드립니다. [1]
5926엄태영1/12/20241947잘못된 Task 사용으로 인한 데드락 관련 질문 입니다. [3]
5925Euni...12/22/20231883Visual Studio에서 nodejs 사용시 npm install -g @vue/cli 실행시 오류 [1]
5924Euni...12/21/20231952Visual Studio에서 nodejs 사용시 C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g 를 찾지 못하는 설치 오류 [2]
5923정두호12/4/20232407MSSQL 데이터 전송과 공유폴더의 데이터 전송 차이점 [1]
5922Heeg...10/27/20234619C++의 double pointer를 C#에서 구현하는 방법이 잘 안됩니다. [3]
5921한예지 donator10/3/20234415마샬링 정의 및 목적이 궁금합니다. [5]
5920한예지 donator10/3/20233245C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/20232935WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/20233019동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/20233182Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/20233082비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/20232917.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/20232992지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/20235270[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/20233507Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/20233357Async 메서드와 try~catch [1]
5909guest4/22/20233750Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/20233611텅빈 원그리기 [5]
5907민성4/21/20233241안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/20233371Dispatcher 서비스 구현 질문 [1]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...