Select a course:

Silverlight for Developers (inc Ria Services, M-V-VM and PRISM)

This course is for developers who need to use Silverlight 4 to build clients for their line of business applications.  We cover the essentials of Xaml and design on the course, but the main focus is on developing n-tier applications with the rich interactive client that Silverlight can provide. 

We provide guidance and tuition on adopting the the popular architecural patterns for RIA apps including RIA Services, M-V-VM and PRISM frameworks.

You will learn how to connect Silverlight with a range of technologies including  WCF, REST based services, duplex services and sockets.

We provide deep understanding of data binding as well as UI interaction including drag and drop, threads, Isolated Storage, datagrid, listbox & dataform controls, accessibility, and the Navigation framework.

You will learn how to create your own re-usable templatable custom controls, and how to right Silverlight Unit Tests, and finally how to host you app both on your own servers and using Windows Azure.

As always our courses are completely customisable so fee free to contact us if you would like to cherry pick some of these items for a custom course.


This course lasts 5 days

Outline

Silverlight Introduction

  • What is Silverlight?
  • Architecture
    • Project Architecture
    • Deployment
    • Assembly Caching
  • Running Silverlight Apps
  • Tools for Creating Silverlight Apps
  • Difference in versions 

Silverlight Xaml

  • Xaml Syntax
  • Xaml Namescopes
  • Silverlight namespace extensions
  • Content Models
  • Type Converters
  • Property Elements
  • Mapping Libraries
  • Dependency Properties Intro
    • Attached properties
  • Markup Extensions
    • Binding
    • StaticResource
    • TemplateBinding
    • RelativeSource

Silverlight Graphics, Media & Controls 101

  • Graphics & Text
  • Audio and Video (inc DRM overview)
  • Creating & Understanding Animation
  • Understanding Controls
    • Creating and Using User Controls
  • Resources, Style & Templates
    • Creating Resources
    • Resource Dictionaries
    • Loading resources dynamically
    • Application Resources
    • Creating & Using Styles
    • Creating, Modifying & Using Templates

Hosting Silverlight in the Browser

  • Plugin positioning and Dimensions
  • Hosting the control
    • Silverlight control
    • Object tag & options
    • Using a Xaml Splash Screen
    • Customising the Installation experience
  • Creating flexible layouts
    • Window Resizing
    • Panels
  • Full-Screen Support
  • Hosting the control
    • Object tag & options
    • Using a Xaml Splash Screen
    • Customising the Installation experience

UI Interaction

  • Keyboard input
  • Mouse Input
    • Wheel support
    • Multitouch support
  • Drag and Drop
  • Full Screen Mode
  • File Open and Save Dialogs
  • Isolated Storage
  • Background Worker & Threads

Interaction with the Environment

  • Controlling Html from Silverlight
  • Calling managed code from Javascript
  • Using the LocalConnection API to communicate between multiple Silverlight instances
  • Maximising SEO
  • Out Of Browser Support
    • Enabling OOB support
    • Using the Network Monitoring API
    • Updating an OOB Application

Working with Services

  • Creating Services for Silverlight

    • Silverlight enabled WCF services
    • BinaryXML
    • ADO.Net Data Services
    • RESTful services with POX and JSON
  • Consuming Services
    • WCF, ASMX
    • Ado.Net Data Services
    • Other Services (REST, POX)
  • Security restrictions
  • Sockets and Duplex Services
  • Cryptographic Services
  • Choosing a O/R mapper to use with Silverlight
    • EF
    • Linq to SQL
    • Others...

Data Binding

  • Understanding DataBinding in Silverlight
  • DataBinding Modes
  • DataBinding Syntax
  • DataContext
  • Change Notifcation
  • DataTemplates

      Creating Custom Controls

      • The Silverlight Toolkit
      • Motivation for creating custom controls
      • Creating custom controls
      • Understanding Generic.Xaml
      • Using custom controls

      Accessibility

      • Making Silverlight accessible
      • Achieving DDA Compliance
      • UI Automation

      Silverlight Unit Testing

      • Choosing a testing framework
      • Installing the framework
      • Writing Unit Tests for Silverlight code
      • Adopting TDD and Silverlight
      • Integration

      Silverlight Navigation Applications

      • Overview
      • Creating Navigation Applications
      • Creating clean Url's
      • Understanding Deep Linking
      • Applying other styles and assets
      • Using navigation in standard Silverlight applications

      Using .Net RIA Services for n-tier

      • Understanding .Net RIA Services
      • Pros and cons
      • Validation model and shared code
      • Creating RIA Services applications
      • Using the Data Form with Ria Services
      • Using RIA services with other data bound controls

      PRISM (i.e. Composite Application Guidance)

      • Understanding PRISM
      • Examing the parts of PRISM
      • Getting and installing Prism
      • Implementing PRISM in your Project
      • Pro and Cons

      Model-View-ViewModel

      • Motivation for M-V-VM
      • Using M-V-VM in Silverlight
      • Available M-V-VM frameworks

      Using Silverlight with Azure

      • Understanding Azure
      • Getting the Azure bits for Visual Studio
      • Creating Silverlight apps for Azure

      Review and Summary

      • Review of technologies and approaches
      • Summary and a look to the future.
       

      Related Courses

      Advanced Ajax for Asp.Net relates to Silverlight for Developers (inc Ria Services, M-V-VM and PRISM) because both deal with creating RIA apps for an enhanced User Experience (UX)
      Advanced Asp.Net Techniques relates to Silverlight for Developers (inc Ria Services, M-V-VM and PRISM) because the Silverlight course drills deeper into the use of Silverlight 1.0 and 2
      Silverlight for Developers (inc Ria Services, M-V-VM and PRISM) relates to Windows Live Platform Development because Windows Live provides silverlight streaming services
       

      About bbits training

      Professional developers and trainers

      All our training courses are delivered by professional developers who are also professional trainers.  We believe that training is a particular skill that needs to be backed up by real-world experience.  

      Real-world training

      The courses are based around achieving real-world productivity improvements, and providing a structured, encouraging environment that means delegates get the knowledge they need efficiently.

      Flexible

      Our courses, though they follow a structure, can differ each time they are delivered, because our trainers can focus on the areas of the course that are most important to the delegates.  We assess delegates requirements either with managers prior to the course, or at the start of each course with the delegates, so that we can provide the best possible course.  We can provide, at no extra cost, completely customised courses with different outlines and durations for any that require it - please contact us if you have a particular requirement.

      Hands-on involvement

      Each delegate will have their own computer and all our course contains a large proportion of "hands-on" work.  Each section is dealt with first by the trainer, who will fully involve the delegates in discussion, and through hand's on work, and be followed by exercises that will back this up, and push the delegates to go further.

      Free goodies

      At the end of the course, delegates recieve copies of all the examples and exercises to take back with them, together with a certificate, and other course materials on cd or usb stick. Look out for other goodies that we also provide!

      Seen our courses elsewhere?

      Our courses are often contracted out for other training providers, so you may see the same content elsewhere.  In fact we often deliver the courses for other providers too, so don't be surprised if you see our courses and trainers if you book through someone else.  Of course if you want to customise a course then please contact us directly!