Good day to all!

I think this question has already been raised many times. I'm interested in the state of affairs for today.

Please tell me if it makes sense to learn WPF right now? What are the prospects for this technology? As I understand it, there is no point in exploring WinForms if the project is complex.

  • four
    WPF is primarily a XAML markup language, and it, in turn, is used in UWP, Xamarin.Forms. So knowing WPF is easy to start writing applications for smartphones and tablets. - Bulson
  • @Bulson is more important than xamarin native, because Xamarin Forms has few opportunities - linking directly to 3 platforms .. - ParanoidPanda
  • @ParanoidPanda everything flows, everything changes. This technology is actively developing, so your remark will soon become obsolete. - Bulson
  • 3
    WinForms can safely pass by. WPF is a frozen project, but if you really choose between WinForms and WPF, the difference is colossal. But the future of WPF ... the world is developing under the slogan "fashionable is better than good" and therefore all sorts of waverings are in the direction of js, now in the direction of the castrated variations of WPF, and WPF itself is almost abandoned in development (which does not prevent it from being a wonderful tool for creating UI) - vitidev

2 answers 2

WPF gives a huge range of possibilities for working with UI, starting from customizing absolutely any UI controls, ending with a description of your own ( UserControl ). But it should be understood that the UI consumes a certain amount of resources. I advise you to study WinForms for review, it doesn’t hurt, sometimes it is easier to catch up and make WinForms a lightweight crafts to work with, for example, with a visual representation of serialization / deserialization of any data, or work with DB - processing and presentation. Where priority on the algorithm and speed than on the visual component.

  • 7
    You can quickly make up and do crafts in WPF. It is enough to use <Canvas/> as the root element, and then, like WinForms, you can throw controls with the mouse, set their sizes and distances between them. And, like WinForms, programming on the basis of events + you can use bindings. WinForms has no advantage over WPF. - Bulson
  • one
    @Bulson you missed the word "lightweight." With all the drawbacks of WinForms, including its age and abandoned bugs, which will never be fixed, there are still two advantages: a low threshold for entry and lightness, compared to WPF. Forms work almost on pure WinAPI, so the consumption of additional resources is minimal. For the interface for configuring service services, this is the most, and it is better to spend extra time on the services themselves. IMHO of course. - rdorn
  • one
    @rdorn, I agree, I really forgot about this side of the question. You're right. - Bulson

Please tell me if it makes sense to learn WPF right now?

There is!

What are the prospects for this technology?

prospects that it will be the only and abandon WinForms, as from obsolete.

As I understand it, there is no point in exploring WinForms if the project is complex.

WinForms does not make sense to study if you work with projects with an important GUI component (that is, interface).

And vice versa. It makes sense if you work in projects where it does not matter.

Dealing with WPF will be more difficult. But it's worth it. (although for the sake of fairness, I will say that I did not get to him myself.)

  • one
    The project I'm working on uses weak iron. The interface itself is not so important - the usual input / output information. However, I am attracted to the use of MVVM, which should have a positive impact on the further support of the program. Yes, and working with XAML is convenient (I know, I know, not everyone likes it). So I decided on the choice of technology. Maybe later I will spit)) Who knows) - Eladei