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