Windows Forms를 쓸때 폼 디자이너 쓰는걸 자제하는게 맞나요?

저는 원래 임베디드 쪽에서 일하는 사람이었는데 지인 도움을 받아서 C#공부를 좀 하고 있습니다.

그런데 제가 회사 업무에 WinForm을 써서 작업한다는 사실을 알려주니까 폼 디자이너를 가급적이면 안쓰는게 실력이 도움이 될꺼라고 조언해주더라고요.

폼 디자이너가 워낙 편해서 잘 쓰고 있긴 한데 폼 디자이너를 쓰는것을 자제해야될 이유가 무었인지 궁금해져서 그런데 이 이유를 알수 있을까요?

2개의 좋아요

글쎄요. 제 경험으로는 협업시 소스이력관리에 생성되는 디자인 관련 코드가 꼬여서 어려워 했던것 빼고는 왜 그게 실력의 기준이 되는지는 모르겠네요. 아마 직접 코딩을 해서 각 속성 및 기능에 익숙해져봐야 한다는 취지인것 같습니다.

5개의 좋아요

윈폼을 쓰는 이유가 디자인 감각이 없는 개발자가 쉽고 빠르게 UI를 만들어서 사용하기 위한 목적이 가장 큰데, 그걸 일일이 코딩으로 동적 생성해서 사용한다는건 고생을 사서하는것과 마찬가지죠.

4개의 좋아요

사실 그래서 편법으로는…윈폼 디자이너로 디자인을 한 후에 designer.cs에서 소스를 그대로 복사하여 다른 partial 클래스로 만들어서 쓰는 방법이 있습니다.

윈폼은 프레임워크자체가 디자이너랑 코드가 분리가 힘드니 그래서 wpf를 많이 쓰죠…

4개의 좋아요

폼 디자이너 쓰면 폼이 어떻게 소스 코드가 되는지 모르게 되고, UI 가 어떻게 구성되는지 학습할 기회가 없어지게 됩니다. 따라서 UI 가 어떻게 구성되는지 직접 확인해보라는 차원에서 폼 디자이너를 쓰지 말라고 지인 분께서 조언해주신 듯 합니다. 폼 디자이너 사용을 자제하는 것보다는 폼 디자인에서 수정한 내용이 어떻게 designer 파일에 반영되는지 확인해보시는게 좋습니다. 정말 드문 일이기는 하지만 폼 디자이너로 수정한 내용이 내가 원하지 않는 방향으로 designer 에 반영되서 designer 코드를 수정한 적도 있었습니다. 벌써 5년 전 이야기라, 현재 윈폼은 어떨지 모르겠네요.

디자이너를 사용해서 초기 UI 형태를 잡은 뒤에, 동적으로 런타임에 UI 를 수정할 때 어떻게 수정해야 어떻게 화면에 나오겠다 짐작하기 위해 designer 파일을 자주 들쳐봤었습니다. 뭐… 폼 디자이너가 만드는게 복잡한 코드가 아니라 반복적인 코드다 보니 몇번만 보면 대충 ‘디자이너에서 이렇게 수정하면 이렇게 코드가 만들어지겠군’ 예상하실 수 있으실 겁니다.

P.S .NET 6 가 출시되면 Winform 보다 MAUI 를 접하시게 될 텐데… 업무상 이유가 아니라 학습을 위해 하시는 거라면 Winform 보다 MAUI 를 추천드립니다.

4개의 좋아요

디자이너가 편하긴 하지만, git 같은 버전 관리도구와 상성이 안좋아서 아쉬울때가 많은것 같습니다. 그나마 xaml designer는 코드가 아닌 xml 데이터를 사용하니 충돌이 있어도 절충이 쉽지만요.

4개의 좋아요