
Microsoft에서 Java이겨보겠다고 부랴부랴 만들어낸 C#으로 Windows GUI 프로그램 개발을 진행하게 되었다.
Python에서 pip으로 제공되어 설치해서 사용했던 selenium 패키지가 C#에서도 Nuget Package Manager를 통해 설치하여 사용이 가능하고, 이를 통하여 특수 업무 자동화 프로젝트 개발을 진행한다.
이전에도 Windows C++ MFC 개발을 진행한 경험은 있으나, MFC 개발과 WPF 개발을 경험한 입장에서 몇가지 차이점을 끄적여볼까 한다.
크게 언어가 다른 점과 사소한 몇가지를 제외하면 비슷한 느낌이 많이 든다. 개발하는 툴도 마찬가지로 Microsoft사의 Visual Studio를 사용하고, MFC에 있었던 레이아웃(Toolbox)이 WPF에도 그대로 전승되어 사용된다는 느낌이 많았고, 해당 Tool들의 Rule이 매우 흡사하다.
C++ MFC 개발 진행시에는 다른 사람이 구현해놓은 패키지 적용을 위해선 해당 패키지의 *.cpp 파일과 *.h 파일을 끌어와서 프로젝트에 적용하고 해당 패키지를 사용할 파일에서 하나 하나씩 선언 후에 사용이 가능했다.C# WPF에서는 Nuget Package Manager를 통해 패키지를 바로 검색하고, 프로젝트에 import하여 기타 다른 작업 없이 사용할 수 있다. 개인적으로 Python의 pip보다 편하다고 생각된다.C++ MFC에서 Toolbox에 있는 각종 레이아웃들을 끄집어내어 다이얼로그에 배치했다면, WPF에서는 HTML과 유사한 Markup Language를 통해 레이아웃 생성이 가능하다. script를 통한 event 발생과 레이아웃 setting이 가능하며, 초반에 익숙해지기 어려울 뿐이지 익숙해진다면 충분히 매력있는 요소 중 하나라고 생각한다.아마 한동안은 회사 업무로 인해 Python, Javascript보다 C#을 쓰는 일이 더 잦아질 것 같다. 또한 Flutter 개발을 위해 Dart도 쓰게 될 것 같은데...
빠르게 마무리하고, 대학원 진학 준비도 하고... 마지막 학기도 잘 마무리해야겠다.