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
도 쓰게 될 것 같은데...
빠르게 마무리하고, 대학원 진학 준비도 하고... 마지막 학기도 잘 마무리해야겠다.