Answer the question
In order to leave comments, you need to log in
How to become a professional WPF developer?
Hello.
I have been developing ASP.NET MVC applications all my life, and then only the back-end part. Knowledge of standard HTML / CSS is very low - I can’t write everything beautifully. I decided to go into desktop development. Therefore, I ask a question.
Decided to study WPF, XAML. Then he suddenly discovered that WPF without MVVM cannot exist. And MVVM has no general rules, everyone implements it differently. And I have not seen really good, multifunctional and understandable projects on WPF + MVVM. The situation is aggravated by MVVM frameworks, all sorts of Prisms (sort of like a big monster), and so on. And I have a dissonance - what to study first, where to dig, what to do in general, what is worth studying and what is not. It would be great if they gave materials / tips / examples and an exemplary application (task) with rich functionality (in terms of WPF) that needs to be implemented.
Dear developers who have extensive experience in WPF / MVVM development, please share materials and advice on how to quickly get into this business. How to sort through this pile of information and select only what is needed and correct, namely:
Answer the question
In order to leave comments, you need to log in
And MVVM has no general rules, everyone implements it differently.
1. Start by reading the book and understanding the basics: routed events, data binding, comands, styles & triggers. Metasite has a section on WPF
2. Books, articles
3. For example, here is an example of a simple MVVM
4. Search on codeproject, github
5. I would advise looking towards caliburn micro . Look at the source code of the project.
6. In my understanding, making an interface on Blend is the same as creating a page on FrontPage. Personally, I don't like him.
I will not answer in detail, they already answered normally.
5. The only thing you can look at at the start is MVVM Light, it will simplify the routine, but at the same time leave the standard architecture. You can’t take Prism at the start at all, the brain can break, and at the same time it allows you to implement only typical projects, again with a lot of magic. Catel is also a monster, I like it much more than Prism, more flexible. Caliburn Micro is the main evil of MVVM, it may be suitable for small projects, but it will be very difficult to support large projects with it, because there are no obvious connections, everything is built on the magic of internal implementation.
It is necessary to get acquainted with Prism and Catel, but not immediately. Caliburn Micro is better not to even touch, not to clog the brain.
Hello,
1. MSDN + professorweb.ru (a good resource for beginners)
2. Online resources and a desktop reference, for example ( https://www.ozon.ru/context/detail/id/7589270/)
3. Classics of the genre: https://msdn.microsoft.com/en-us/magazine/dd419663.aspx
4. It doesn't come to mind, see https://github.com/MarkWithall/worlds-simplest-csh...
5. Use or not, you will understand after you dive into topic
6. At this stage, it is not needed. In the future, everything will depend on you.
I'm also learning WPF at the moment. Half a year ago, I considered the technology half dead, until I found out that Microsoft bought Xamarin. The prospect of developing multi-platform applications in the "native" language blew my mind and strongly motivated me to finally start learning. As colleagues have already mentioned, WPF is in demand only in the enterprise. Working in a startup, I begin to understand the future value of my knowledge of WPF. In-house development of a desktop application is planned.
At the moment, not all the components of WPF have been comprehended by me. I study at ITVDN courses. Everything is superficial, but for an initial understanding of WPF components, it’s very normal IMHO.
I recommend the free book from SyncFusion WPF Succinctly . You can also download it for free from their official website, but you need to register.
As my experience has shown, the use of Prism is from a cannon to sparrows. Even in large projects, I managed with my own abstractions, I agree with the previous comments, I highly recommend Autofac. An example of using it with MVVM is described here .
The main thing is to inject all dependencies through the constructor, and ViewModel into View, and Autofac will do the rest for you.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question