Ja myślę, że dużo zależy od branży, w moim przypadku (automation/cnc/cad/cam/plc) 90% to desktop, a w tym 90% to winforms a 10% to wpf. Ma działać (matematyka i fizyka), a nie eye candy oczojebne sweet apki, więc obojętnie w czym będzie ten view.
Też pracuje z winformsami, fajne są na początek możesz w miarę szybko coś napisać. Natomiast w wpf musisz się trochę nagimnastykowac, aby zrobić tam jakieś ładne UI. Najlepiej będzie jak zaczniesz coś kodzić więcej się nauczysz niż czekać na odpowiedzi.
Teoretycznie zarówno WPF, jak i WInforms już nie żyją.
Nie jest to prawdą. Wraz z nowym .NET Core 3.0 Microsoft oddał kod źródłowy tych dwóch platform do Open Source i dodał integrację z platformą .NET Core:
https://github.com/dotnet/wpf
winforms
Myślę, że na ten moment najlepszym wyjściem pod okienka w windowsie będzie właśnie nauka .NET Core 3.0 + WPF.
NET Framework dostał ostatnią wersję i nie będzie dalej rozwijany.
Czym w takim razie różni się pisanie aplikacji przy użyciu .net framework, a .net core?
andijaw napisał(a):
Czym w takim razie różni się pisanie aplikacji przy użyciu .net framework, a .net core?
Z punktu widzenia kodu? Biblioteki stadardowe .NET mają prawie ten sam interfejs. Pisząc prostą aplikację konsolową nie ma różnicy.
Z punktu widzenia projektu?
- .NET Core jest multiplatformowy (Win/linux/iOS), jest Open Source
- posiada konsolę, która w zasadzie zastępuje wiele funkcjonalności visual studio. Kod można pisać notatniku, vs code czy nawet vimie :D i kompilować z konsoli. Podobnie z tworzeniem projektów, migracjami Entity Framework, testami, debugowaniem i deploymentem.
- plik csproj ma trochę inną składnie
- niektóre biblioteki zostały usunięte (np. WF)
- wsparcie dla C# 8.0
Tu masz trochę więcej na temat różnic:
Choosing between .NET Core and .NET Framework for server apps
Naprawdę warto zapoznać się z platformą Microsoft Docs. Jest tego dużo i sam się na początku w tym gubiłem, ale im częściej tam zaglądałem tym jaśniejsze miałem pojęcie o tej technologii. Są tam setki artykułów w tym poradniki krok po kroku jak zrobić własną aplikację desktop, web API, logowanie na stronę, obsługę różnych baz danych itp.