How to succeed with WPF and Silverlight

Preview:

DESCRIPTION

How to succeed with WPF and Silverlight using CaliburnHow to succeed converting WinForms to WPF

Citation preview

caliburn.codeplex.com

Pål Eie

About Me

• Paul Eie• Architect and project manager at Bouvet ASA• A totalt of approx. 120 consultants at Bouvet

Stavanger working with MS Development• 10 years experience• Blogging at iserialized.com• Paal.eie@gmail.com

Please ask questions!

Things you should know about

• Dependency injection• IOC• MVVM• MVP• WPF/SL• Convention over configuration

From Windows Forms to WPF

• Why?• Competancy• Value added?• Result

Why not WinForms?

Why not WinForms?

• How many of you have rather «stupid» code-behinds?

• How many of you have less than 100 lines of code in an average user control class?

• How many of you have in reality 0 lines of code in your code-behinds?

• Who trust they won’t end up in the same problem rewriting/converting to WPF?

Auto convertingWinForms to WPF

More on the differences between WPF and WinForms

JFGI

How to succeed with a rewrite?

The same was a:

How to succeed with WPF and Silverlight?

• ?• WPF/SL training?• Architecture training?

Framworks

Caliburn

Caliburn.Micro

MVVM Light

Why?

Caliburn

What’s Caliburn?

Designed to aid in the development of WPF and Silverlight applications, Caliburn implements a variety of UI patterns for solving real-world problems. Patterns that are enabled by the framework include MVC, MVP, MVVM, Commands and Application Controller.

Goals– Support building WPF/SL application that are TDD friendly.– Implement functionality for simplifying various UI design patterns in

WPF/SL. These patterns include MVC, MVP, Presentation Model (MVVM), Commands, etc.

– Ease the use of a dependency injection container with WPF/SL.– Simplify or provide alternatives to common WPF/SL related tasks.– Provide solutions to common UI architecture problems.

Cons

• ViewModelen (or Presenter) can turn out to be the new place to dump code

• Black magic• Error messages• Resharper and Caliburn are not quite best

friends

Convention over configuration?

Short:Exchange xml with black magic

Ex

• Usercontrol input of user information

UserInfoView <-> UserInfoViewModel

A deep dive into the source code

Not mentioned

• Caliburn.Micro• Caliburn.Micro og WP7

Caliburn in Bouvet

+++

More

• caliburn.codeplex.com• Caliburnmicro.codeplex.com• Twitter: @EisenbergEffect• Follow me on Twitter: @notoriousnerd• iserialized.com

Recommended