German and Stubbs are authors of the new book SharePoint 2010 Development with Silverlight, which came from their parallel exploration of the way the technologies could be used together. Silverlight is a browser plugin technology, which can be used for the same sorts of things as Adobe Flash--animation, video, and slick user interfaces that go beyond the limitations of the browser--although there are also significant technical differences between Flash and Silverlight. When embedded in a SharePoint page, Silverlight can deliver either entire applications, or user interface components that can be mixed and matched with HTML Web content.
The authors said the intersection between SharePoint and Silverlight is not documented as well as either one is on its own--or, at least, the documentation that does exist is scattered across many articles on the Microsoft Developers Network website and other places. "I suppose, in theory, everything in the book is available somewhere, but to find it and bring it together is major challenge," German said. "I can attest to that, because that's where I started."
"We also document stuff that didn't exist, techniques that did not exist anywhere," Stubbs said, such as an easier way of packaging Silverlight applications for deployment on SharePoint that he developed.
[ How do you choose an internal social networking platform? See 7 Enterprise Social Platforms Think Beyond Facebook. ]
The book is targeted at developers familiar with Microsoft's .NET framework and includes tutorials on the basics of both SharePoint and Silverlight development for those who haven't worked in those environments. "It's not a comprehensive book on SharePoint or Silverlight because it would be 10,000 pages," German said. "Instead, we focused on how to package an app created with Silverlight so it works well in SharePoint."
Stubbs is a Microsoft technical evangelist for SharePoint and Office. German recently moved from a job as an application architect at the Microsoft Technology Center in Boston to play a similar role at the consulting firm BlueMetal Architects.
For .NET and SharePoint developers, one of the great virtues of Silverlight is they can work in the same Visual Studio environment and program interactions in the same languages they would use for any other application.
The plugin works with all the leading Web browsers on Windows, as well as Safari and Firefox on MacOS. Silverlight also has a mobile story, as one of the primary app development platforms for Windows Phone 7, and Stubbs and German devote a chapter to this option for creating mobile SharePoint apps. On the other hand, it's a non-starter on the iPad, iPhone, and Android devices.
SharePoint 2010 introduced a Client Object Model for Silverlight, which makes it easier to access SharePoint resources from a Silverlight application. However, this is one of those things that most SharePoint books touch on only briefly, German and Stubbs said. It also comes with some pitfalls, where a naive implementation could result in the application downloading the Client Object Model code repeatedly, whereas their book shows how to cache it for better performance.
Another gotcha: Developers often create applications that seem to work fine in a test environment, only to fail upon deployment because of browser security rules intended to foil cross-site scripting hacks. Developers need to be aware of those limitations and how to work around them with techniques such as proxies for Web services, the authors said.
Once you understand the environment, you can do great things with it, German said. For example, he has had several clients ask for a richer people-search capability to supplement the social networking capabilities of SharePoint. The sample application he created for the chapter on Web services integration does just that.
"It doesn't add any new capabilities to SharePoint, but it lets you take the capabilities that are there and integrate them in a new way," German said.
More broadly, that is the point of the whole book.
In this Cloud Connect webcast, learn how an automated, secure service in the cloud can remove the burden of managing the complex and error-prone data protection process. It happens Jan. 17.