Clarity. Direction. Confidence.
SHAREPOINT + SILVERLIGHT
Developing with Silverlight & SharePoint 2010 = Awesome
BEST PRACTICES CONFERENCE SHAREPOINT
Speaker bio
Name Tobias Zimmergren
Company TOZIT AB (www.tozit.com)
Roles Architect, Developer, Mentor & Trainer
Twitter @zimmergren
Blog www.zimmergren.net
User Group www.ssug.se
BEST PRACTICES CONFERENCE SHAREPOINT
Agenda
Silverlight 101
Integration points: Adding Silverlight to SharePoint 2010
Integration points: Communication
Client Object Model
Developer Tools
Demo: Built in support for Silverlight in SharePoint 2010
Deployment paths
Demo: Custom Silverlight Web Part
Out of browser experience
Demo: Out of browser
Lync Silverlight controls
Demo: Lync silverlight controls in Visual Studio 2010
Silverlight vs HTML5...?
BEST PRACTICES CONFERENCE SHAREPOINT
Silverlight 101
Silverlight is a subset of WPF
.NET based
Started out as JS-based in v1.0
Moved over to .NET in 2.0 and forth
Cross Browser
IE, FF, Safari, Chrome, ..
Cross Platform
Windows
Internet Explorer
Firefox
Safari
Chrome
Mac OS
Firefox
Safari
Linux
Moonlight (mono)
BEST PRACTICES CONFERENCE SHAREPOINT
Silverlight 101: Why Silverlight?
Microsofts primary way of creating Rich Internet
Applications (RIA)
Windows Phone 7
Streaming media
SharePoint 2010 OOTB support for Silverlight
Silverlight executes on the client
Silverlight Client Object Model
Take the load off the server
Execute all the fancy-pants code on the client and send batched
requests to the server only when you need to.
BEST PRACTICES CONFERENCE SHAREPOINT
Integration points: Adding Silverlight to
SharePoint 2010
OOTB Silverlight Web Part
-> Upload XAP
Embedded HTML to render an tag
"
"
"
Custom Silverlight Web Part
BEST PRACTICES CONFERENCE SHAREPOINT
Integration points: Communication
You can make your Silverlight applications talk to
SharePoint 2010 in a variety of ways, including:
REST
/_vti_bin/listdata.svc
Read, Update, Delete data in lists
Compliancy: SharePoint 2010
Web Services
Build your own or use the built in.
Compliancy: SharePoint 2007, SharePoint 2010
Client Object Model
.NET managed code
14\TEMPLATE\LAYOUTS\ClientBin\
Microsoft.SharePoint.Client.Silverlight.dll
Microsoft.SharePoint.Client.Silverlight.Runtime.dll
BEST PRACTICES CONFERENCE SHAREPOINT
Client Object Model, you say?
Additional Web Services have been a request for a long
time
You’ll get a managed API instead of web services to work
with
Gives you an abstraction-layer with objects that
corresponds to the Serverside objects
Consistent developer experience
JavaScript Client Object Model (ECMAScript Client OM)
.NET Client Object Model
Silverlight Object Model
BEST PRACTICES CONFERENCE SHAREPOINT
Development tools
Expression Blend 4
Silverlight Project
Microsoft Visual Studio 2010
Silverlight Tools
”Designer vs Developer”
BEST PRACTICES CONFERENCE SHAREPOINT
Demo: Built-in support for Silverlight
”Create new” dialog
OOTB Silverlight Web Part
Create a new Silverlight Application with Expression Blend
Upload the .XAP file
Use the Silverlight Web Part to render the application
BEST PRACTICES CONFERENCE SHAREPOINT
Deployment paths
Sandboxed solutions
Deployment through a Module
Think: Office 365
Farm solutions
Deployment through a Module
Deployment to the SharePointRoot
/14/TEMPLATE/LAYOUTS/ClientBin
Manual deployment
Upload to a Library
BEST PRACTICES CONFERENCE SHAREPOINT
Demo: Custom Silverlight Web Part
A custom Silverlight Web Part
Built using Visual Studio 2010
One Silverlight Project
One SharePoint Project
Any choice of deployment...
BEST PRACTICES CONFERENCE SHAREPOINT
Debugging?
Enable Silverlight Debugging
Attach to iexplorer.exe
BEST PRACTICES CONFERENCE SHAREPOINT
Out of browser experience
A property in your Silverlight project
Enables you to install and run the Silverlight application
from your desktop!
BEST PRACTICES CONFERENCE SHAREPOINT
Demo: Out Of the Browser
BEST PRACTICES CONFERENCE SHAREPOINT
Lync Silverlight controls
Lync SDK provides Silverlight and WPF controls for Visual
Studio 2010
Enables you to develop custom applications for
communication in your organization
BEST PRACTICES CONFERENCE SHAREPOINT
Demo: Lync Silverlight controls & samples
Lync 1: Conversation Translator
Lync 2: Proposal Tracker
Lync 3: Exploring the Lync Silverlight SDK
BEST PRACTICES CONFERENCE SHAREPOINT
Silverlight vs HTML5 ... ?
Microsoft says
We’ll put 100% effort into Silverlight and
We’ll put 100% effort into HTML5 but
In different scenarios
Media
Media LOB
BEST PRACTICES CONFERENCE SHAREPOINT
HTML5
Working draft, 400 people working on the new HTML5
standard
Work is led by three peers
Microsoft
IBM
Apple
All about making standards
Simplify tasks that today require scripting
Making all browsers render things the same way
All major browsers are part of the HTML5 work
Caveat: Priority differentiates between them
BEST PRACTICES CONFERENCE SHAREPOINT
Why would I choose Silverlight today?
Richer functionality and the power of .NET
More browser support
Functionality
Time
BEST PRACTICES CONFERENCE SHAREPOINT
Next steps?
DEV205 - Creating Dynamic Client Applications in
SharePoint 2010
16.00
By Eric Schupps
Silverlight.com
Download the Lync SDK
BEST PRACTICES CONFERENCE SHAREPOINT
Clarity. Direction. Confidence.
GO AHEAD, BE AWESOME.
ASK A QUESTION!
BEST PRACTICES CONFERENCE SHAREPOINT