US / UK-EMEA / Contact Ask DevelopMentor a Question800.699.1932

Essential Silverlight 5 Training

(FW1058) 5 Day Course, $2995
 
Upcoming Classes:

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Microsoft Silverlight 5 packages a scaled-down .NET runtime engine and library into a cross-platform, cross-browser plug-in, enabling you to create Rich Internet Applications (RIAs) and compelling Line of Business (LoB) applications using familiar tools and languages. Deliver online business applications, multimedia websites and games to Windows, Mac OS and Windows Phone 7.

 

NOTE: This class runs using the latest Release Candidate build of Silverlight 5. It is applicable to all Silverlight developers, including those targeting Silverlight 4 (our Silverlight 4 course is still available for delivery at your site).

 

You'll get answers to these questions:

  • What is Silverlight, and when should I use it in preference to HTML5 or WPF?
  • How do I use 2D and 3D graphics, animations, effects and media to build compelling user interfaces?
  • How do I build a multi-page app that provides deep-linking and integrates with browser forward/back?
  • How do I let clients run my application out of-browser? How do I request elevated trust?
  • How do I apply the M-V-VM pattern to Silverlight?
  • How do I integrate data into my application to create a dynamic user interface with minimal code?
  • How can I use WCF, HTTP REST & WCF RIA Services to retrieve and store data?
  • How do I use styles and templates to customize the appearance of my application?
  • How can I build custom controls for use in Silverlight?
  • How do I use Expression Blend to get the most out of Visual State Manager and Behaviors?

Learn to build Rich Internet Applications with Microsoft Silverlight. 

What You Will Learn

Course Highlights

Course Details

Dates & Locations

In this course, you learn to:

  • Identify when to use Silverlight and how to incorporate Silverlight content into existing sites
  • Use Expression Blend to design your user interface and Visual Studio 2010 to implement C# code
  • Exploit the layout controls to create compelling user interfaces
  • Build user and custom controls that support templates and styling
  • Use Behaviors, Actions and Triggers to create reusable functionality across applications
  • Integrate animations, special effects, perspective transforms and media to create a professional UI
  • Exploit the navigation, deep-linking and SEO features of Silverlight
  • Build dynamic user interfaces that use data binding and the M-V-VM pattern
  • Use all the available network stacks to load external data and resources
  • Handle mouse, keyboard and stylus input
  • Create out-of-browser and partially-connected applications
  • Maximize the performance of a Silverlight application, including using GPU acceleration

 

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Microsoft Silverlight brings Rich Internet Application (RIA) development to the .NET platform. It lets you build multimedia websites, casual games, and online versions of line-of-business applications on Windows, MacOS, or Linux using a variety of browsers.

 

Silverlight is a prime candidate for building complex line-of-business (LOB) applications, with its extensive support for data binding, elevated-trust installation, printing, WCF RIA Services and even COM interoperability. Silverlight is also one of the major stacks for building Windows Phone 7 applications, enabling you to maximize the investment in your code base.

 

Essential Silverlight provides an in-depth look at Silverlight technology: what it is, how it works, and how to integrate it into your existing applications. The course focuses on Silverlight 5, which includes a scaled-down .NET runtime engine and library. This means that you can create RIAs using the.NET languages and libraries that you already know.

 

The course shows you how to build Silverlight applications that utilize drag-and-drop, dynamic custom controls, streaming media, animation, and integrated Web Services to produce data-driven user interfaces.

 

By the end of the course you"ll have seen how all the major Silverlight features work together to create an engaging user experience on the web, and you'll have the core skills to build great Silverlight applications.

 


Day 1
Introduction

In this first module, you will get a high-level overview of Silverlight: its positioning, capabilities, and development tools. You will also see how Silverlight compares to other rich web-enabled technologies such as AJAX and Flash/Flex. Then you dive straight into creating a Silverlight application, gaining the core knowledge of how a Silverlight application is structured, deployed and rendered within the browser.

 

Fundamentals
This module will provide you with an overview of four core aspects of Silverlight development: the use of eXtensible Application Markup Language (XAML); the code-beside programming model; the concept of the visual tree; and the use and declaration of dependency and attached properties. The key, bedrock skills gained in this module will be further developed throughout the remainder of the class.

 

UI Elements and Graphics
Designers and developers need a rich set of controls to help them build compelling UIs quickly. Silverlight supports this with three categories of controls: runtime, SDK, and toolkit. Here we will see how the various controls are packaged, how to instantiate them in your application, how to handle events, and how to design complex user interfaces by arranging controls inside multiple nested panels. We also look at how to integrate 2-D vectors graphics into your UI and customize their appearance with brushes, effects, transforms, and plane projections.


Day 2
Out-of-browser Applications
Silverlight applications can include a manifest that allows them to be installed on the user's local machine. The apps can then be run "offline", i.e. outside of the browser. Locally installed apps run inside the same security sandbox as in-browser applications by default; however, apps can partially escape this sandbox by requiring the user to grant "elevated trust" upon installation. This module shows how to create OOB applications, including how to handle state transitions, cache required data in isolated storage, and detect changes in network connectivity. You will also learn how to work with elevated trust, and to sign your application to give the user a pleasing installation experience.

 

Navigation
One of the most important features of a RIA is its ability to integrate into the Web. In this module you will learn how to work with the browser to provide a navigable user interface that fully supports bookmarking and the back/forward buttons. This naturally leads to the user being able to "deep link" into the Silverlight content, and you will understand how this works, the issues that you need to address, and take a look at the extensibility points within the navigation framework.

 

Input
How hard can it be to handle input? Well, Silverlight's keyboard handling is far less capable than that of WPF; it has to cope with multiple browsers running on multiple operating systems and has to be more constrained due to the security restrictions of the plug-in. Support for the mouse is also fairly rudimentary; with no built-in drag 'n' drop support and limited access to the right button and wheel. Even with these limitations, it is still possible to provide drag 'n' drop and other fun mouse-driven features in your application. Silverlight also has basic support for touch events but they require you to do some work to map them into logical events for your UI elements. Here we study all the nuances of Silverlight's keyboard support, see how to make the most out of the mouse, and investigate its touch and gesture capabilities.

 

Animation
Smooth, carefully designed animations improve the usability of applications. Silverlight is loaded with animation types and comes with great tool support from Expression Blend. In this session you will learn how to create animations both declaratively and from code, to apply easing effects to animations to add depth and subtlety to your applications, and to work with fluid transitions.


Day 3
Data Binding

All good UI technologies support declarative data binding, and Silverlight is no exception. In fact, it is fair to say that data binding is the most important aspect of Silverlight development. In this critical module you will learn how to bind data to UI elements; how to bind between UI elements to minimize your coding; how to implement the key interfaces that enable the UI to be updated automatically, such as INotifyPropertyChanged, and how to fully utilize the flexibility afforded by data templates, value converters, fallback values and string conversion.

 

Data Presentation
The Silverlight SDK and toolkit contains numerous controls for displaying data and capturing user input. In this module you will work with the various graphing controls, along with the DataGrid and the DataForm.

 

Input Validation
Bound user interfaces are fantastic, but you need to be able validate the user input. In this module you will examine the various validation techniques that are available in Silverlight, such as throwing exceptions and reporting errors via various interface and events. You will also see how you can implement validation by decorating your types with attributes and by writing custom validators.

 

Model-View-ViewModel
Many years of experience tell us that interleaving code and presentation leads to unmaintainable, untestable, and designer-unfriendly code. The strongest pattern to emerge in WPF and Silverlight to overcome this is the Model-View-ViewModel pattern, and in this module you will gain a deep understanding of what it is; how to structure your code to support testing, "blendability" and maintainability; how to work with ICommand; and how to support designers effectively.


Day 4
Behaviors

Traditionally, designers create appearance and developers add behavior. A strict separation can slow down the designer's work since they must wait for the developers to add even simple behavior such as starting an animation or changing the UI in response to a mouse-over. Silverlight Behaviors simplify this process: developers encapsulate blocks of functionality into Behaviors and designers apply them to the UI through Expression Blend. This module shows you how to write reusable Behaviors, and to create and use custom Triggers and Actions to provide fine-grained support to the designers. The understanding gained in this module will truly enable you to build software that enables highly productive workflows in your Silverlight development.

 

Custom Controls
Silverlight has a very strong story for developer/designer interaction and separation of concerns. Starting with a review of User Controls, you will rapidly move on to learn how to create re-skinnable custom controls, gaining a solid understanding of Silverlight's famed 'parts and states" model. You will learn how to create and manage control templates using Expression Blend, and use Visual State Manager to reduce code and maximize design flexibility, implementing controls along the same M-V-VM model that underpins robust Silverlight applications.

 

Shell Integration
This module explores several ways to interact with the environment outside the Silverlight host: through the clipboard; via drag and drop from the shell; through printing, including pagination; and via COM (automation) interoperability. You will also gain a solid understanding of the impacts of the security sandbox on these features.

 

HTML Integration
Very few Silverlight applications are completely isolated from their containing site. Therefore, in this module you will learn how to support interoperability with existing HTML elements so that you can combine Silverlight, AJAX and standard HTML programming to create a uniform and integrated experience for the user.

 

Day 5
Networking
RIAs naturally become richer and more dynamic when they communicate with external data sources. Therefore, in this session, you'll use the many network stacks, such as WCF and the simple RESTful APIs, to pull resources from your own and other domains' servers, gaining a deep understanding of the limitations of and support for cross-domain calls.

 

WCF RIA Services - Overview
WCF RIA Services simplify working across a client-server boundary. You define CRUD operations on the server and the WCF RIA Services tooling in Visual Studio generates the client-side proxy automatically. The client code does change tracking on your data and provides a method to send the batch of changes to the server to update your data source. You can build your data access layer using Entity Framework, LINQ to SQL, or your own custom code. This module focuses on how to build and consume a WCF RIA Service. It also surveys a few other features such as shared code projected to the client, validation attributes, and the XAML helper classes.

 

Local Messaging
Patterns that have multiple parts like Navigation+Content or Banner+Skyscraper ads are often implemented using multiple Silverlight applications. The apps typically need to communicate to coordinate their activities; for example, you might want an animation that starts in the banner ad to continue into the skyscraper. Silverlight includes a Local Messaging API to allow multiple Silverlight applications on the same machine to communicate. The connection works within a page, across processes, across browsers, and even with Silverlight apps running out-of-browser.

 

Media
Silverlight excels at supporting rich high-definition media. In this module, you will learn how to leverage Silverlight's built in video capabilities to control and display A/V content within your application. We will cover playback basics, full-screen mode, and video brushes. You will also use Microsoft Expression Encoder to create and transform A/V content to fit the limitations of the Web. You will add markers to your video during encoding and then write C# code to react when the markers are reached during playback: a technique that allows you to coordinate targeted overlay or banner ads to really maximize the value of your media content.

 

 

Appendices (not taught)

The course materials also include the following extra modules:

  • Working with Files: local files, Isolated Storage, data files, zip files.
  • Ink: how to capture, store, and display stylus input.
  • Graphics: complex shapes and curves, writeable bitmaps.
  • GPU Acceleration: discuss the pros and cons of Silverlight's support for GPU acceleration.
  • Pixel Shaders: overview of how to write and apply a custom pixel shader.
  • Splash Screen: how to display an informative splash screen while your app is loading.
  • Installation: how to respond when the user doesn't have the Silverlight plug-in installed.
  • Control Reference: a quick-start guide to many of the available controls.
  • Duplex Networking: how to implement a push service using WCF.
  • Composition: how to dynamically load assemblies.
  • Asynchronous Execution: multi-threading support in Silverlight including a brief discussion of timers.
  • Dependency Injection Primer: conception overview of dependency injection.
  • MEF: how to use the Managed Extensibility Framework for dependency injection.
  • PRISM: overview of how to use PRISM to build modular Silverlight applications.
  • Blend: a Quickstart guide to using Expression Blend.
  • Sockets: an overview of Silverlight's TCP and UDP socket API.
  • WCF RIA Services - Entity Inheritance: how to build an inheritance hierarchy of entity types and transport them across the client-server boundary.
  • WCF RIA Services - Library: how to refactor your WCF RIA Services code into separate .dlls.
  • WCF RIA Services - Methods: how to define and consume the various categories of Domain-Service methods (CRUD, Named Update, and Invoke).
  • WCF RIA Services - POCO Domain Service: how to define and consume a Domain Service based on your custom entities and Data Access Layer.
  • WCF RIA Services - Validation: how to use attribute-based validation to easily apply validation code on both client and server.


What You Will Learn

Course Highlights

Course Details

Dates & Locations

Upcoming Dates & Locations

Boston
June 18 - 22, 2012
Map
Los Angeles
August 6 - 10, 2012
Map
Boston
September 17 - 21, 2012
Map
Los Angeles
October 29 - November 2, 2012
Map
Boston
December 10 - 14, 2012
Map
Ready?
Connect
Signup for our Free Newsletter!
Latest news
Twitter Feed MORE
There is something to this statement: Why Quit? Because They Have Bigger Monitors http://t.co/9FrGETG5 #dm (via @mkennedy)
19 hours ago (details)
Essential RESTful Services Training. The new #REST course @BrockLAllen and myself where working on is online. http://t.co/XXhGN5JP #dm ^MdB
2 days ago (details)
Testimonials
  • Brock Allen is always very good. Great instructor. He shows a great depth of knowledge. John V.