You are previewing Pro Business Applications with Silverlight 5.
O'Reilly logo
Pro Business Applications with Silverlight 5

Book Description

Silverlight 5 has the potential to revolutionize the way we build business applications. With its flexibility, web deployment, cross-platform capabilities, rich .NET language support on the client, rich user interface control set, small runtime, and more, it comes close to the perfect platform on which to build business applications. It's a very powerful technology, and despite its youth, it's moving forward at a rapid pace and is gaining widespread popularity.

This book guides you through the process of designing and developing enterprise-strength business applications in Silverlight 5 and C#. You'll learn how to take advantage of the power of Silverlight to develop rich and robust business applications—from getting started to deployment, and everything in between.

In particular, this book will serve developers who want to learn how to design business applications. It will introduce the patterns you'll use, the issues you'll face, and how to resolve them. Author Chris Anderson, who has been building line-of-business applications for years, demonstrates his expertise through a candid presentation of how to tackle real-life issues, rather than just avoiding them. Developers will benefit from his hard-won expertise through business application design patterns that he shares throughout the book.

What you'll learn

  • How to structure your project to ensure a robust and maintainable application

  • How to create user interfaces with XAML and bind controls to data

  • How to communicate securely between the server and the client

  • How to view and maintain data within a Silverlight user interface

  • How to design unique user experiences and use advanced styling techniques

  • How to implement standard business application paradigms in Silverlight

Who this book is for This book is for developers experienced in other .NET technologies, such as WinForms or ASP.NET, looking to translate their existing skills to developing business applications with Silverlight. Patterns and methodologies associated with building robust applications will be introduced and are not prerequisite knowledge.

Table of Contents

  1. Title
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Introduction
    1. Who This Book Is For
    2. About This Book
    3. Introducing Silverlight
    4. Introducing Business Applications
    5. Summary
  9. Chapter 1: Getting Started with Silverlight
    1. Collecting the Required Tools
    2. Working with the Silverlight Project Templates
    3. Workshop: Creating a Silverlight Project
    4. Exploring the Base Silverlight Business Application
    5. Exploring the Initial Silverlight Project Structure
    6. Recommended Project Template Modifications
    7. Understanding XAP Files
    8. Summary
  10. Chapter 2: An Introduction to XAML
    1. Overcoming XAML's Steep Learning Curve
    2. Why Learn XAML?
    3. Understanding XAML Syntax, Document Structure, and Features
    4. Controls
    5. Working with Resources and Resource Dictionaries
    6. Applying Styles
    7. Introducing Templates
    8. Data Binding
    9. Designing User Experiences
    10. Enhancing the Designer/Developer Workflow
    11. Designing XAML User Interfaces from a Different Perspective
    12. Summary
  11. Chapter 3: The Navigation Framework
    1. Getting Started with the Navigation Framework
    2. Exploring the Components of the Navigation Framework
    3. Navigating Between Views
    4. Passing Data Between Views
    5. Working with Deep Links
    6. Enabling Friendly URIs with URI Mapping
    7. Integrating with the Browser History
    8. Handling Navigation Events
    9. Caching Views
    10. Workshop: Practicing with Views and Navigation
    11. Applying Visual Transition Effects
    12. Creating Custom Content Loaders
    13. Working with Alternative User Interface Frameworks
    14. Summary
  12. Chapter 4: Exposing Data from the Server
    1. Why Expose Data from the Server via Services
    2. Creating a Data Access Layer Using the Entity Framework
    3. WCF Services
    4. WCF RIA Services
    5. WCF Data Services
    6. Duplex Communication (Pull + Push)
    7. Summary
  13. Chapter 5: Consuming Data from the Server
    1. Communicating Asynchronously
    2. Consuming Data from the Server Using WCF Services
    3. Consuming Data from the Server Using RIA Services
    4. Submitting Changes to the Server Using RIA Services
    5. HTTP Requests
    6. Cross-Domain Access Policies
    7. Summary
  14. Chapter 6: Implementing Summary Lists
    1. Creating the Summary List
    2. Populating a Summary List with Data
    3. Manipulating Summary List's Contents
    4. Using the BusyIndicator Control
    5. Drilling Down on a Record
    6. Summary
  15. Chapter 7: Building Data Entry Forms
    1. Creating the Data Entry User Interface
    2. Structuring Objects for Use by Data Entry Forms
    3. Data Validation
    4. Workshop: Creating a Master/Details Screen
    5. Summary
  16. Chapter 8: Securing Your Application
    1. Implementing Server-Side Security Using RIA Services
    2. Implementing Client-Side Security
    3. Encrypting Data Passed Between the Server and the Client
    4. Restricting Access to Your Application
    5. Summary
  17. Chapter 9: Styling Your Application
    1. Considering the Designer/Developer Workflow
    2. Defining Style Resources
    3. Applying Control Templates
    4. Theming
    5. Effectively Using Icons and Images
    6. Applying Animation
    7. Applying Pixel Shaders and Effects
    8. Miscellaneous Styling Tips
    9. Summary
  18. Chapter 10: Advanced XAML
    1. Ignoring Elements and Attributes
    2. Comments in XAML
    3. Defining “Constants”
    4. Using OR to Combine Enumerated Values in XAML
    5. Triggers, Actions, and Behaviors
    6. Custom Markup Extensions
    7. Blendability
    8. Creating Consolidated Namespaces
    9. MoXAML Power Toys
    10. XAML Extensions for Visual Studio 2010
    11. Summary
  19. Chapter 11: Advanced Data Binding
    1. Assigning the Source of a Binding
    2. Instantiating a Class in XAML
    3. Defining Resources in the Code Behind
    4. Binding to Nested Properties
    5. Binding to Indexed Properties
    6. Binding to Dynamic Properties
    7. Enhancing Data Binding
    8. Binding Using Property Element Syntax
    9. MultiBinding
    10. Data Binding in Code
    11. Getting and Setting Attached Property Values in Code
    12. Additional Tips
    13. Commands
    14. Summary
  20. Chapter 12: Creating User Controls and Custom Controls
    1. Adding Functionality to an Existing Control
    2. Creating User Controls
    3. Creating Custom Controls
    4. Content Controls
    5. Summary
  21. Chapter 13: The Model-View-ViewModel (MVVM) Design Pattern
    1. Benefits of Implementing the MVVM Design Pattern
    2. MVVM Theory
    3. MVVM in Practice
    4. MVVM Frameworks
    5. Implementing Common Scenarios with MVVM
    6. Common MVVM Questions
    7. Alternative View / ViewModel Configurations
    8. Summary
  22. Chapter 14: The Managed Extensibility Framework
    1. Terminology
    2. Using MEF
    3. Workshop: Getting Started with MEF
    4. Workshop: Specifying a Contract
    5. Workshop: Importing Multiple Parts
    6. Workshop: Configuring Catalogs and Downloading Modules
    7. Summary
  23. Chapter 15: Printing and Reporting
    1. The Importance of Implementing Reporting
    2. Potential Solutions for Implementing Reporting
    3. Choosing a Reporting Strategy
    4. Using Silverlight's Native Printing Functionality
    5. Generating and Displaying a PDF Report
    6. The PivotViewer Control
    7. Summary
  24. Chapter 16: Interacting with the Host Operating System
    1. Running Silverlight Applications Out of the Browser
    2. Caching Data Locally
    3. File System Open and Save Dialogs
    4. Drag-and-Drop Target
    5. Clipboard
    6. Running in Full-Screen Mode
    7. Configuring Elevated Trust
    8. Summary
  25. Chapter 17: Application Deployment
    1. Deploying the Application to the Server
    2. Deploying the Application to the Client
    3. Improving on the Default Application Loading Screen
    4. Partitioning Your Application
    5. Digitally Signing Your Application
    6. Summary
  26. Index