> Nearby Locations
Des Moines
515-226-3265
 
 
 
My Account  |  View Cart
Search:
 


Class Outline*


| Request Info | Contact Us


IDesign Architecting WPF and Silverlight Applications Master Class

Duration:
5 Days

Overview:
To build great, compelling, responsive, secure smart client and web applications with WPF or Silverlight, not just the basic building blocks of WPF and Silverlight need to be mastered, but also how to compose the rest of the application that sits behind the façade of the user interface.  User interface presentation patterns need to be understood to have good separation between the UI definition and the supporting logic code.  Loose coupling between different pieces of functionality in the application is necessary so that they can be independently developed, maintained, tested, and deployed.  Communication between the loosely coupled parts of the application with events and commands is necessary.  The application needs to be secured, credentials need to be collected from the user, they need to be authenticated, and actions need to be authorized authenticated against remote services, databases, and other external resources.  Concurrent and asynchronous work needs to be managed in the client, and the threading issues of the UI context needs to be dealt with.  Data needs to be retrieved and updated and even cached locally for offline use, and that data needs to be synchronized for online use.  Services need to be called and notified on events outside of the application, such as changes to back-end data.  And, finally, the application has to be deployed.

Obviously, there is much more to WPF and Silverlight development than just adding elements to a UI and creating styles to make the UI look nice.  This course is all about how to apply WPF and Silverlight in the context of a modern application - the patterns and techniques required addressing the issues mentioned above.  The course starts by reviewing the key building blocks of WPF and Silverlight (which overlap by at least 70%) and how and when to best use them. Next, students will learn how to build composite UI applications with dependency injection, modularity, dynamic UI composition, and loosely coupled commands and events.  The course then gets into the system issues of handling multithreading and concurrency, securing the application, and working with services from the client application. Students will also get a brief introduction to HTML 5 to understand the fundamental differences and limitations of building applications with HTML 5 versus Silverlight or WPF.

The focus of the course is on how to properly apply WPF and Silverlight and tie them in with the rest of the application, which enables students to successfully build the rest of their smart client applications so that they are testable, maintainable, extensible, and flexible.

The material presented includes IDesign's original techniques and utilities and goes well beyond anything that can be found in conventional sources.  The course is a unique opportunity to learn how to best apply WPF and Silverlight from IDesign, which was part of the strategic design review process for WPF and Silverlight and participated in the architecture and design of the application blocks.

Format

The course uses a combination of frontal presentations, code demonstrations, and hands-on lab exercises to reinforce all of the concepts presented.  The demos provide a code library to refer back to when building applications, and the labs help cement the key learning elements of the course using step-by-step procedures to accomplish the tasks covered.

Audience:

Any .NET developer or architect responsible for building smart client applications with WPF or web applications with Silverlight will benefit from the training.  Some exposure to the basics of WPF or Silverlight concepts is helpful.  WCF familiarity is a plus.

Prerequisites:

Some exposure to the basics of WPF concepts is helpful.  WCF familiarity is a plus.

Topics

Choosing a Client Technology

  • The Client Technology Landscape
  • WPF and its Future
  • Silverlight and its Future
  • HTML 5 and its Future
  • Choosing between WPF, Silverlight, and HTML 5

WPF and Silverlight Essentials

  • WPF and Silverlight Capabilities
  • Development Tools
  • Deployment models
  • XAML Programming
  • XAML Best Practices
  • Compilation and Packaging

WPF and Silverlight Architecture

  • Application structure
  • Dependency Properties
  • Behaviors
  • Routed Events and Commands
  • Triggers and Resources
  • Styles
  • Control Templates
  • Visual State Manager

Controls

  • Control types
  • Layout and sizing
  • Custom controls

Data Binding

  • Data sources
  • DataContext and Bindings
  • Data Templates
  • Collection Views and Data Providers
  • Value conversion and data validation

Graphics

  • 2D Vector Graphics
  • Bitmaps
  • Animation
  • 3D constructs

HTML 5 Applications

  • HTML 5 Capabilities
  • HTML 5 Technologies and Tools
  • HTML 5 Client Architecture

Design Principles

  • S.O.L.I.D. Principles
  • Testability/TDD
  • Separated UI Patterns (MVC, MVP, MVVM)
  • Dependency Injection (MEF and Unity)

Composite UI Applications

  • Prism Overview
  • Application architecture
  • Modules
  • UI Composition
  • Composite Events
  • Composite Commands
  • Navigation

System Issues

  • Multithreading and concurrency
  • Security
  • Deployment
  • Data caching and synchronization

Working with Services

  • WCF RIA Services
  • WCF Data Services
  • WCF Services - SOAP and REST
  • Creating client proxies
  • Working with data contracts
  • Calling cloud services
  • Service pub/sub events

*Content, days, and times vary depending on your location. Please view the outline prior to purchase or contact the local center for more information.