본문 바로가기

프로그래밍&IT/기타

C# WPF는 많이 쓰이고있나? 그리고 다른건 또 뭐가 있나?

프리랜서한지 10년이 안되긴했지만, C# 그리고 winform(윈폼)으로 잘 먹고 살았다.

ASP.net (+MVC)는 많이 못 해봤고, WPF는 예전에 한 번 해보긴했지만

 

여튼 이 둘은 별로 인연이 없긴 했다. 그냥 개인적으로 공부해본게 전부이고..

이번에 WPF를 공부해야 할것같은데, 한 번 시장성이 궁금해졌다.

 

목차

  • MS의 C# WPF 많이 쓰이나, 많이 안 쓰이는것같고 일부만 쓰이는것 같은데
  • UWP , MAUI는 많이 쓰이나? 점유율이 올라가는지

 

MS의 C# WPF 많이 쓰이나, 많이 안 쓰이는것같고 일부만 쓰이는것 같은데

C#의 WPF (Windows Presentation Foundation)는 Microsoft에서 제공하는 데스크톱 애플리케이션 개발 프레임워크이며 주로 .NET 플랫폼에서 Windows 애플리케이션을 개발하는 데 사용됩니다.

그러나 최근 트렌드를 보면 WPF가 많이 쓰이지 않거나, 특정한 경우에만 사용되는 경향이 있습니다.

몇 가지 이유는 다음과 같습니다.

  1. 사용자 요구의 변화: 웹 및 클라우드 기반 애플리케이션의 증가로 인해 데스크톱 애플리케이션의 수요가 상대적으로 감소했습니다. 많은 기업이 웹 애플리케이션을 선호하며, 모바일 및 클라우드 솔루션으로 전환하고 있습니다.
  2. UWP 및 MAUI의 등장: Microsoft는 Universal Windows Platform (UWP) 및 .NET MAUI와 같은 새로운 플랫폼을 선보였으며, 이들 플랫폼은 WPF보다 더 모던한 인터페이스와 크로스 플랫폼 지원을 제공합니다.
  3. 유지보수 및 기술 채택: WPF는 여전히 유지보수되고 있지만, 그 혁신 속도는 느리며, 새로운 프로젝트보다는 기존 애플리케이션을 지원하는 데 주로 사용됩니다. 많은 기업이 새로운 기술을 채택하며, 특히 크로스 플랫폼 개발을 지원하는 기술에 더 많은 관심을 기울이고 있습니다.
  4. 일부 산업군에서의 사용: WPF는 여전히 금융, 엔터프라이즈 솔루션, 의료 등의 특정 산업군에서 많이 사용됩니다. 이러한 애플리케이션은 복잡한 UI를 필요로 하며, Windows 기반 데스크톱 환경에서 동작해야 하기 때문에 WPF가 적합할 수 있습니다.

결론적으로, WPF는 현재 주류 기술이라기보다는 일부 기존 애플리케이션 및 특정 산업에서 주로 사용되는 기술로 자리 잡고 있습니다.


사실 윈폼도 거의 시장이 줄고있는걸로 알고있긴하다.

웹 (ASP.net [+MVC]) 이면 그나마 나을지도?

애시당초 C#이 아니라, Java로 갔으면 고민을 덜 했을지도 모르겠다. 

 

UWP , MAUI는 많이 쓰이나? 점유율이 올라가는지

UWP (Universal Windows Platform)와 .NET MAUI (Multi-platform App UI)의 사용 추세는 각기 다릅니다.

둘 다 Microsoft에서 제공하는 플랫폼이지만, 기술의 진화와 함께 사용 범위와 점유율에 차이가 있습니다.

UWP (Universal Windows Platform)

UWP는 Microsoft가 Windows 10과 함께 도입한 플랫폼으로, Windows 애플리케이션을 하나의 코드베이스로 다양한 Windows 디바이스에서 실행할 수 있도록 설계되었습니다.

그러나 UWP는 예상만큼 큰 인기를 끌지 못했습니다.

<이게 핵심인가..>

UWP의 현재 상황:

  1. 제한적인 사용: UWP는 Xbox, HoloLens, Windows IoT 같은 Microsoft 생태계에서 주로 사용됩니다. 그러나 일반적인 데스크톱 애플리케이션 개발에서는 WPF나 WinForms와 같은 전통적인 프레임워크에 비해 점유율이 높지 않습니다.
  2. 느린 성장: UWP는 큰 시장 점유율을 확보하지 못했으며, 특히 비즈니스 및 엔터프라이즈 환경에서는 주로 다른 기술들이 사용되고 있습니다. Windows 전용 앱이라는 제한으로 인해 크로스 플랫폼 트렌드에 대응하지 못하는 점이 약점입니다.
  3. Microsoft의 우선순위 변화: Microsoft는 UWP 대신 크로스 플랫폼 지원을 강화하는 방향으로 기술 개발을 전환했으며, 이는 MAUI 같은 프레임워크의 중요성이 높아지는 이유 중 하나입니다.

.NET MAUI (Multi-platform App UI)

.NET MAUI는 Xamarin.Forms의 후속 기술로, 크로스 플랫폼 애플리케이션 개발을 지원하는 프레임워크입니다. 하나의 코드베이스로 iOS, Android, Windows, macOS에서 애플리케이션을 실행할 수 있도록 설계되었습니다.

MAUI의 점유율 및 사용 동향:

  1. 크로스 플랫폼 개발 트렌드: 최근 몇 년간 모바일 및 데스크톱 애플리케이션 모두를 지원하는 크로스 플랫폼 개발에 대한 수요가 높아졌습니다. 이에 따라 .NET MAUI는 기업과 개발자들 사이에서 점점 더 많은 주목을 받고 있습니다.
  2. 장점: MAUI는 .NET 기반이므로 C#과 XAML을 이용해 개발할 수 있고, 기존 .NET 생태계와 잘 통합됩니다. 또한 크로스 플랫폼 UI 프레임워크로서, 하나의 프로젝트에서 여러 플랫폼을 동시에 지원할 수 있는 것이 큰 장점입니다.
  3. 성장 가능성: .NET MAUI는 상대적으로 새로운 기술이지만, 점점 더 많은 개발자와 기업들이 이 기술을 채택하고 있습니다. 특히 기존에 Xamarin을 사용하던 개발자들은 MAUI로 전환하는 경우가 많습니다.
  4. 개발 지원: Microsoft는 .NET 6부터 MAUI를 핵심 크로스 플랫폼 프레임워크로 강화하고 있으며, 이는 MAUI의 점유율이 앞으로 꾸준히 증가할 가능성이 있음을 시사합니다.

결론:

  • UWP는 Windows 환경에 한정된 기술로, 크로스 플랫폼 지원이 부족해 사용이 제한적이며 점유율이 크게 증가하지는 않는 추세입니다.
  • .NET MAUI는 크로스 플랫폼 개발 수요에 따라 점차 인기를 끌고 있으며, 특히 .NET 생태계에서 크로스 플랫폼 앱 개발을 위한 주요 선택지로 자리 잡아가고 있습니다. MAUI의 점유율은 앞으로도 꾸준히 증가할 가능성이 큽니다.

WPF는 일반 기본적으로 해두고,

여유되면 UWP는 건너뛰고 MAUI로 가야할것같긴하다.