I want to move on to WPF applications and convert my win-form apps(into WPF)
At the moment there is too much to learn about WPF in order to get nice application...
I found Prism : http://msdn.microsoft.com/en-us/library/gg406140.aspx
And I believe that this can be a shortcut that will allow me to get the cool abilities of WPF by simply adding my business logic.
Will it be possible to remove the Prism and build my own UI after I'll get more experienced with WPF?
Thanks.
No, Prism is a big layer that sits on top of WPF (or Silverlight). It will not make learning WPF any easier or remove the need to learn how WPF works. Prism is a very powerful abstraction layer that can accelerate the creation/maintenance of large enterprise applications - but it has a steep learning curve beyond the learning curve of WPF. If you are just building a simple application, build it in straight WPF. The things you learn doing that will help you later build things with Prism. To really be effective with Prism, you need to be comfortable with a lot of the more complex aspects of WPF development such as bindings, XAML, and the MVVM design pattern. Start by learning those things in isolation on a small project and then you have a better shot at using Prism effectively on a larger future project.
The answer which has been provided by Robert Levy is perfect, I would add something that when you move from Windows Forms to WPF try to avoid using same patterns which you can use in Windows Forms. Try to learn how tasks could be accomplished using WPF before starting implementation.
You can find here very good resource to learn MVVM pattern.
As other answers have suggested, Prism won't shortcut WPF learning. Prism is more about partitioning applications into modules, and developing each module independently.
Here are my suggestions:
Don't try to learn all of WPF. You can write great line-of-business apps with relatively little WPF.
Learn the MVVM pattern. MVVM is widely used to separate UI concerns from the back-end concerns of an app.
Learn Prism. It's useful for all but trivial apps. It does a good job reducing the complexity of WPF applications, and it reduces coupling between the parts of an app. Once you get the hang of it, it really does make apps easier to maintain and develop.
There are articles on CodeProject (including mine) and elsewhere to get you started on all of these topics.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With