I remember trying to put some demos together to demonstrate the power of Silverlight 2 Beta within the SharePoint 2007 not too long ago, and now look, the Silverlight 3 is a first class citizen in SharePoint 2010.
Out of the box you are provided with a web part that will take any xap file and render it within the page.
To interact back with the SharePoint Server one possible way is to use the new REST services available in SharePoint 2010.
For more powerful interactions, the new Client Object Model is available for .NET, JavaScript and of course Silverlight. All you need, to use the Client Object Model inside Silverlight, is to get a reference to the Microsoft.SharePoint.Client.Silverlight.dll (262KB) and Microsoft.Client.Silverlight.Runtime.dll (138KB) available under the “C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions \14\TEMPLATE\LAYOUTS\ClientBin” folder.
The following code will get the site title and update it using the Client Object Model from a Silverlight application.
The Silverlight can be rendered inside a web page or can be installed on the client machine.
As you can see there is no more need to dispose of the site and web objects in the Client Object Model but I will talk about this later.
For now the great news are that Silverlight applications are fully supported and the developer has multiple ways of communicating back to the SharePoint server for gathering and update data as needed.
The story gets even better: We were told during the SPC2009 (SharePoint Conference 2009) that by RTM of SharePoint 2010 the referenced dlls would not need to be stored within each of your xap files thus reducing the page payload even further when using multiple Silverlight Applications within a composite page.
Using dynamic linking will permit separate versioning of the Client Object Model and of your Silverlight Application making the upgrade story much better.