Here are my notes on WPF, which are from this MSDN article by Tim Sneath:

INTRODUCTION

There has traditionally been competition in the world of application development between stand-alone applications and web-based applications, each having somewhat opposite strengths and weaknesses.  There is a need for a client application model for both standalone and browser-based applications that offers ease of deployment, tools support, and deep platform integration. 

Modern video cards have come a long way in the last few years and most of today’s mainstream applications don’t take full advantage of their powerful abilities.

WPF is the new strategic Windows graphics subsystem that harmonizes user interface, 2D and 3D graphics, documents, and media.  It takes full advantage of modern graphics hardware and supports both stand-alone and web-based applications.  It is built on the .NET framework.  It allows designers to be more involved in the development process via declarative programming models (see XAML below).

DESIGN PRINCIPLES:

Integration: Seamless integration between base services, media services, document services, and UI services

Vector graphics: WPF takes full advantage of the powerful new Graphical Processing Units (GPUs) with vector graphics, a large pixel system, and extensive color support.  It offers resolution independence.  It also has great support for layout, which adapts to content and manages the position of controls and items within a window.

Declarative programming: WPF uses XAML (eXtensible Application Markup Language) for defining and building the UI.  Allows designers and developers to work more closely

Easy deployment: Supports both stand-alone apps and web-browser apps

Document lifecycle: Supports new document and print technologies

XAML

XAML is not required for WPF; it is merely a conventient shorthand for UI programming.  Anything written in XAML can also be written in C# or VB. 
It is intended to be used alongside a traditional programming language.

I have been watching a series of webcasts created by Microsoft MVPs that introduce various features of SharePoint to .NET developers.  The entire series can be found here.  These are my notes from the third webcast, on SharePoint and Silverlight.

PRESENTER:
Andrew Connell
MVP Office SP Server
www.andrewconnell.com/blog

SILVERLIGHT OVERVIEW

Silverlight develops a rich user experience with zero postback

Some types of data Silverlight can provide:

  • images, sounds, videos, rss
  • custom web service
  • existing intranet services
  • public internet mashup APIs

HISTORY OF SILVERLIGHT

Silverlight 1.0:

  • Silverlight 1.0 is the current production release (RTW) and was shipped in Q3 2007
  • It defines the render(design) part using XAML
  • Uses a WPF-based interface
  • A Silverlight application lives inside of a webpage
  • The webpage will include some custom JavaScript (AJAX) to talk to the Silverlight app and to the various web services.  I.E., the code-behind is 100% JavaScript-driven

Silverlight 2.0:

  • Today: Silverlight 2.0 is in beta.  It doesn’t need JavaScript to talk to Silverlight
  • The Silverlight plugin deploys a tiny version into the .NET Framework, and now I can write C# or VB code and then complie the code into an asembly, and now the assembly will be part of the Silverlight file (control) and the assembly will be running on the client machine.  I.E., the code-behind uses managed code
  • Some of Silverlight 2.0 runtime features include 2-D, graphics, audio, video, animations, text, controls, layout, styles/templates, data binding, networking, .NET Support, LIN1, XML API’s, generics, HTML integrtions, local storage, Crypto APIs, and threading

Silverlight 2.0 SDK libraries include:

  • Full support for dynamic languages
  • Addition controls like sliders, grid controls
  • LINQ for XML
  • XML Serialization
  • RSS feeds

SHAREPOINT AND SILVERLIGHT

Environment needed:

  • WSS 3.0 SP1
  • Config of IIS Web app

Server config needed:

  • .NET Framework 3.5 if using Silverlight 2.0, or .NET 2.0 for Silverlight 1.0
  • Deploy System.Web.Silverlight.dll in GAC
  • Extend web.config if ISS web app with ASP.NET extensions and SL 2.0 config elements
  • MIME type registration of the .XAP file extension for IIS web app (format: application/x-silverlight-2-b1

Dev environment needed:

  • Visual Studio 2008 extended with tools for Silverlight 2.0
  • Microsoft Expression Blend
  • Silverlight 2.0 SDK (which would be included in VS 2008 tools)

Client prerequisites: Silverlight 2.0 plug-in must be installed

Scenarios for using Silverlight:

  • Complex and dynamic interaction with dashboard data (visually impressive reports, etc)
  • Visualize multimedia data stored in SP
  • Rich navigation controls
  • Interactive field types, Web parts, and pages
  • Off-load more work to the clients (browsers)

SILVERLIGHT 2.0 AND SHAREPOINT

Host containers that can be used to trigger a Silverlight control:

  • Web Parts
  • App pages and site pages
  • Custom field types
  • Navigation control

Data can be passed in both directions:

  • InitParameters – passes data into Silverlight (like if you were calling a method)
  • Hidden Fields or XML Data Islands
  • Web Services
  • WPF
Follow

Get every new post delivered to your Inbox.