Developing Rich Internet Applications Using Microsoft Silverlight 4 (10554)
This course covers intermediate and advanced topics required to develop professional Silverlight 4 applications that can be deployed to the Web, Windows desktops, and Windows Phone 7 devices. The course will include hands-on labs that comprise approximately 50% of the classroom time and enable the student to learn Silverlight 4 programming within a variety of real-world scenarios.
Who should attend
Professional developers who have experience with XAML (either through WPF or Silverlight), a limited amount of Silverlight development experience, and experience working in Visual Studio 2010. This audience is interested in learning to develop advanced Silverlight 4 applications using Visual Studio 2010.
This course is intended for developers who have programming experience using either Visual Basic .NET or Visual C# and who understand the concepts of object-oriented programming. This course is designed for developers who are comfortable using Expression Blend and Visual Studio 2010. This course is not designed for new programmers.
After Completing this course, students will be able to:
- Build data-driven Silverlight applications
- Create advanced user interfaces
- Implement advanced media techniques in Silverlight
- Work with Silverlight Media Framework
- Access hardware in Silverlight applications
- Create application that can be Globalized & Localized
- Implement Network Communications
- Deploy Silverlight applications
- Understand the basics of developing Silverlight applications for Windows Phone 7
- Implement advanced Silverlight techniques for Windows Phone 7 Development
Detailed Course Outline
Module 1: Introduction to Building Silverlight Business Applications
This module an overview of Silverlight for building business application and describes how to build out-of-browser applications.
- Overview of Silverlight 4.0
- Silverlight Architecture
- Developing Out-of-Browser Applications with Silverlight
Lab: Building Silverlight Business Applications
- Creating a Silverlight Application
- Configuring Out-of-Browser settings for the Silverlight Application
Module 2: Building Data-Driven Applications
This module discusses various data access techniques in Silverlight, and focuses on how to use ADO.NET entity data models in Silverlight applications.
- Overview of Data Access in Silverlight 4.0
- Defining Data Access by Using ADO.NET Entity Data Models
- Displaying Data by Using Domain Services
Lab: Consuming Data
- Connecting to a Database in a Silverlight Project
- Querying and Displaying Data from a Database
Module 3: Advanced Data Management
This module explains how to modify data using domain services, implement data binding, and format data for display.
- Manipulating Data by Using Domain Services
- Binding and Validating Data
Lab: Manipulating Data
- Implementing Full Read-Write Scenarios
Module 4: Implementing User Controls and Navigation
This module describes how you can create user controls that allow you to group various controls in a single unit and customize both the display and functionality to suit your needs. Depending on how generic you create your user controls, they can easily be reused across your Silverlight applications.
- Working With Controls
- Implementing Navigation
Lab: Implementing User Controls and Navigation
- Adding a Navigation User Control
- Updating the Number of Cards Periodically
Module 5: Creating Advanced User Interfaces
This module explains how you can create your own presenter objects to contain other objects, and define collections and templates for sub-objects, all in a flexible way.
- Creating Content Presenter Classes
- Creating Item Templates for Presentation
- Developing Classes as Item Instances
Lab: Presenting Items, Classes, and Dependency Properties
- Creating ItemsControl Objects
- Configuring Content Classes for use in the ItemsControl Class
- Using the Custom ItemsControl object in a User Control
Module 6: Using Local Assets
This module discusses how you can add features that allow users to use local resources, e.g., print data from your solutions. Additionally, it explains how you can persist settings across sessions, and enable users to open and save files to the local computer's file system.
- Printing in Silverlight Applications
- Accessing Local Storage in Silverlight Applications
- Accessing Local File Systems in Silverlight Applications
Lab: Using Local Assets
- Printing from Silverlight Applications
- Accessing the Clipboard in Silverlight Applications
- Accessing Isolated Storage in Silverlight Applications
- Accessing the File System in Silverlight Applications
Module 7: Implementing Advanced Media Techniques in Silverlight
This module explains how you can implement deep zoom and play media files.
- Implementing Deep Zoom in Silverlight
- Playing Media Files
Lab: Implementing Advanced Media Techniques in Silverlight
- Adding a Deep Zoom Image
- Adding a Media Player
Module 8: Developing Silverlight Media Framework Solutions
This module explains how you can use Silverlight Media Framework to implement many enhancements over the built-in media elements of Silverlight, and simplify your job of developing rich media-based solutions.
- Introduction to the Silverlight Media Framework
- Developing Silverlight Media Framework Solutions
Lab: Developing Silverlight Media Framework Solutions
- Adding Support for the Silverlight Media Framework
- Configuring the Silverlight Media Framework Player
Module 9: Accessing Hardware in Silverlight Applications
This module focuses on how you can use Silverlight to develop solutions that interact with hardware devices, such as webcams, audio equipment, mouse wheels, and keyboards. Adding interaction with such hardware and implementing features such as video capture and image creation from video sources enables you to add a high degree of rich interactivity to your solutions.
- Interacting with Mice and Keyboards
- Interacting with Audio and Video Hardware
Lab: Interacting with Hardware Programmatically
- Interacting with the Mouse Wheel
- Interacting with the Keyboard
Module 10: Globalization and Localization
This module explains how you can develop solutions that can be globalized to work across cultures, and localized to a specific culture.
Lab: Globalizing and Localizing Applications
- Globalizing an application
- Localizing an application
Module 11: Implementing Network Communications
This module, describes some common techniques for providing configuration data to Silverlight applications, such as providing initiation parameters that identify external XML configuration files or services, and consume such external XML configuration files or services by using various approaches. Also it explains how to implement communication between Silverlight applications by using sockets and local TCP connections.
- Configuring Applications for Network Communications
- Implementing Web Calls
- Implementing Low-Level Communications
Lab: Building Dynamic Silverlight Applications
- Consuming Initiation Parameters
- Consuming Data by Using HTTPWebRequest Objects
- Consuming Data by Using WebClient Objects
- Sending and Receiving Data by Using Local Connections
Module 12: Deploying Silverlight Applications
This module covers how to host a Silverlight application and thus make it available to end users, as well as which features you can make use of after your application has been deployed.
- Application Features and Hosting
- Managing Application Resources Dynamically
Lab: Deploying Silverlight Applications
- Adding Application Features
- Loading Resources Dynamically
Module 13: Application Guidance
This module focuses on the MVVM design pattern and the Prism guidance.
- Getting Started with the MVVM Design Pattern
- Getting to Know Prism
Lab: Implementing the MVVM Design Pattern
- Installing the Simple MVVM Toolkit
- Examining a Silverlight MVVM project
- Implementing MVVM Items
Module 14: Windows Phone Development First Look
This module explains the basics of Windows Phone Application Development.
- Introduction to Windows Phone
- Beginning Windows Phone Development
- Creating a Windows Phone Application
Lab: Creating a Windows Phone Application
- Capturing User Input
- Responding to Orientation Changes