Wednesday, November 2, 2011
DevConnections Demos– WCF Flavors and Async
Today I am giving two talks at DevConnections. One that compares and contrasts WCF, WCF Data Services, WCF RIA Services, and WCF Web API. The other focuses on Async – the Parallel frameworks, Task Parallel Library, and the Async CTP. Here are the slides and demos for those who want them: WCF Flavors – Slides Demos Async – Slides Demos
Saturday, October 1, 2011
NOVA CodeCamp Keynote–Slides and Demos
Today I gave the keynote for the NOVA CodeCamp, in which I focused on the new features of Silverlight 5 and what’s coming with Win 8 and WinRT / Metro development. I covered XAML enhancements, security, text improvements, graphics, 3D, and other features of Silverlight 5. Then I summarized what Windows 8 is all about and what WinRT and Metro are and how they relate to Silverlight and other development technologies for the Microsoft platform in use today. You can grab the slides and demos here: Slides Demos
Wednesday, September 28, 2011
CapArea.NET BUILD Summary
Last night I gave a talk at the Capital Area .NET Users Group (http://caparea.net) summarizing the announcements and new technologies coming out from the BUILD conference. We had a good crowd and great interaction with lots of questions as people tried to grok Windows 8, WinRT, and Metro and what it really meant to the kinds of apps they are building today. About half the crowd had not watched any of the videos from the conference, so they were starting with a clean slate in terms of understanding the new stuff, which made it interesting to see the kinds of questions I got. I had a pretty simple slide deck and spent most of the time demoing things and discussing the concepts and implications, but here are the slides for anyone who is interested. Slides
Friday, September 16, 2011
Silverlight Developers Have the Smoothest Road to Metro
There is a ton of discussion going on around the announcements at //BUILD/ this week and what the implications are for Silverlight developers and for the future of Silverlight itself. A lot of that speculation has quickly sped to the realm of FUD. As a Silverlight MVP, I for one thing the future is quite bright and shiny for Silverlight developers, and even for Silverlight applications in terms of moving to the new platform and building Metro style applications. If you have no idea what a “Metro style” application is or what WinRT is, you have lots to read. The short story is that a WinRT application is one built for codename Windows 8, and one that runs with the new user interface style and experience called Metro. Just go check out some of the many videos available now of Windows 8 to get a better sense of what this means. But from a developer perspective, it mean you build a client app to run against the new Windows runtime (WinRT), and it is not a .NET Framework application. There is a lot more to say there, but that is for other posts. What I want to focus on here is what it means at a high level for Silverlight developers. If you are a Silverlight developer, here are a set of characteristics of your application that you have to deal with on every Silverlight app you write because they are part of the platform: - It is a XAML-based user interface application, with code behind in C# or VB
- The XAML that you use is a constrained set of XAML compared to WPF – there are some capabilities missing, even in SL5
- It runs in a security constrained sandbox by default, with constrained access to underlying machine capabilities
- Anything in the platform API (Silverlight) that might take “a while” is only exposed as an Async API
So what are some of the things we can say about developing Metro apps at a high level? These same exact statements about the platform hold true for Metro, they just have some slightly different manifestations. This means that not only will developing applications for Windows Metro feel familiar and comfortable to Silverlight developers, more of their code will be portable to Metro applications than other .NET UI applications. Now I am not saying your Silverlight apps are going to “just run” or that you won’t have to do some non-trivial porting to turn a Silverlight application into a Metro application, but there will be a lot less impedance mismatch there than there will be for your typical WPF or Windows Forms application. Those applications will likely have tons of code that is doing synchronous things that have to become async, and probably also use parts of the .NET Framework capabilities that just wont exist in WinRT, at least for the first release. However the kinds of capabilities that are in the Silverlight plug in and its supporting libraries are exactly the kinds of things that WinRT will support, just with different namespaces, type names, and some different API member names and arguments. So the kinds of things you will have to change to port your application if it is well designed will include: - XAML – there are new controls to comply with the Metro look and feel, but they follow very similar patterns to existing ContentControl and ItemsControl derived controls in Silverlight
- Code that touches the Silverlight framework APIs themselves – but this should be fairly straightforward if you are not too exotic in what you do
- Any COM/PInvoke code
So while it is not going to be “just a weekend project” to port a significant Silverlight application to Metro, a well designed and layered Silverlight application should also not be anything close to a total rewrite. Significant parts of things like model objects, view models, service calls, and application logic should just recompile to WinRT. Significant parts of your XAML and XAML resources can probably still be used as-is. The rest should have fairly straightforward porting paths since the underlying platforms are really very similar. Now I should caveat this with the fact that I have not sat down and done a significant port of any Silverlight apps I have yet to validate this perspective. I plan to dig into that over the next few weeks and will definitely continue to share my perspectives. But at least from what I have seen at the conference, I’m not sweating it. I like what I see and I am looking forward to continuing to use the skills I have invested in Silverlight and WPF to start building Metro apps.
Wednesday, August 10, 2011
WCF RIA Services talk at Twin Cities Developer Group
Last night I gave an overview talk on WCF RIA Services. I covered what RIA Services is for, what the features are and spent most of the time demonstrating those features. I went through basic query and update with RIA services, validating data, and securing and personalizing your app. You can find the slides and demos for that session here: Slides Demos
Friday, July 15, 2011
Tuesday, May 31, 2011
DevTeach: Expose and Consume WCF Data Services Session
Today I am giving a session on WCF Data Services at DevTeach. In the session, I cover the concepts of WCF Data Services including what it is for, how it works, OData protocol,, REST-style web services, and relations to other parts of the .NET communications stack. Then I spend most of the session walking through a demo building up a data service, showing how to query it from various clients, showing how to create a .NET client and query and update through it, as well as using interceptors and securing the service. The resulting demo code can be downloaded here: Demos.
Tuesday, May 24, 2011
Friday, May 20, 2011
DevTeach Sessions: Async, RIA Security, and WCF Data Services
I’ve just uploaded my materials for my upcoming DevTeach sessions and I’m really looking forward to the conference. DevTeach is a great conference, and Montreal is a beautiful city to visit in the spring. This year I am giving three talks. The abstracts are below for those. Keep an eye on my blog the week of the event if you want to get your hands on the demos for the sessions. If you are planning to attend, you can check out the schedule here so you can try to fit these in. NET323 – Expose and Consume WCF Data Services WCF Data Services is a framework built on top of WCF that allows you to easily expose collections of data via the OData protocol for ad-hoc query from clients as well as for data updating scenarios. In this session, you'll learn how to define and host WCF Data Services, how to consume them from .NET clients, how to secure access to the data, and how to perform data updates through the services with validation and business logic in the call chain. You'll learn a little bit about the OData protocol along the way and how these same services can be consumed by any platform since they are based on open standards. SLV365 – Secure and Personalize Your Silverlight Apps with WCF RIA Services One of the appealing features of WCF RIA Services is that you can easily secure calls to your services using standard browser-based security mechanisms including Windows and Forms authentication. You can use RIA Services declarative security model in your domain services to authenticate and authorize access to them, as well as to establish a security context in the Silverlight client that can be used for authorization and personalization. These features can be used from WCF RIA Services even if you do not use any other aspects of WCF RIA Services and just call other WCF services as part of your application. Additionally, the WCF RIA Services security can be integrated with other WCF services in the same host for a single unified security model. This session will walk you through how to leverage these features of WCF RIA Services. SLV368 - Tackle the Complexity of Async Calls in Silverlight and WPF clients Whenever doing blocking tasks, particularly service calls in a Silverlight or WPF client, you will need to make those calls asynchronously. While async calls have been around for a long time in .NET, the patterns for addressing them have been changing and improving. This session will cover several common patterns for addressing async calls in client applications, including new and emerging approaches to async patterns including Reactive Extensions that let you treat asynchronous execution like a LINQ collection and the Task-based Async pattern and keywords coming for the C# and VB languages. This session will take the mystery and confusion out of what happens when and how to keep your code clean and safe in an inherently asynchronous client world.
Wednesday, May 18, 2011
TechEd NA MID 311–WCF RIA Services–Ready for Business
I’m about to head off to do my talk on WCF RIA Services at TechEd and wanted to make the demo code available to the attendees ahead of time. In this talk, I cover the concepts and capabilities of WCF RIA Services. I talk about what it is good for, as well as some scenarios where you should not use it. I cover the features of querying, updating, and validating data, as well as securing your Silverlight clients with it. The demos I will do during the event can be downloaded here: Demos. Enjoy!
|








| May, 2013 (1) |
| April, 2013 (2) |
| March, 2013 (2) |
| February, 2013 (2) |
| January, 2013 (2) |
| December, 2012 (3) |
| November, 2012 (1) |
| October, 2012 (1) |
| August, 2012 (2) |
| June, 2012 (2) |
| May, 2012 (3) |
| April, 2012 (1) |
| March, 2012 (2) |
| February, 2012 (2) |
| January, 2012 (1) |
| November, 2011 (4) |
| October, 2011 (1) |
| September, 2011 (2) |
| August, 2011 (1) |
| July, 2011 (1) |
| May, 2011 (5) |
| March, 2011 (4) |
| February, 2011 (2) |
| January, 2011 (3) |
| November, 2010 (4) |
| October, 2010 (1) |
| September, 2010 (5) |
| August, 2010 (5) |
| July, 2010 (6) |
| June, 2010 (8) |
| May, 2010 (2) |
| April, 2010 (2) |
| January, 2010 (1) |
| December, 2009 (3) |
| November, 2009 (2) |
| October, 2009 (3) |
| September, 2009 (3) |
| August, 2009 (2) |
| July, 2009 (3) |
| May, 2009 (3) |
| April, 2009 (2) |
| March, 2009 (1) |
| February, 2009 (2) |
| January, 2009 (2) |
| December, 2008 (1) |
| November, 2008 (2) |
| October, 2008 (5) |
| September, 2008 (4) |
| August, 2008 (2) |
| July, 2008 (1) |
| June, 2008 (2) |
| May, 2008 (2) |
| April, 2008 (3) |
| February, 2008 (6) |
| January, 2008 (3) |
| December, 2007 (1) |
| November, 2007 (1) |
| October, 2007 (5) |
| September, 2007 (1) |
| July, 2007 (3) |
| June, 2007 (8) |
| April, 2007 (2) |
| March, 2007 (4) |
| February, 2007 (1) |
| December, 2006 (2) |
| November, 2006 (9) |
| October, 2006 (5) |
| September, 2006 (3) |
| August, 2006 (2) |
| July, 2006 (4) |
| June, 2006 (5) |
| May, 2006 (10) |
| April, 2006 (4) |
| March, 2006 (2) |
| February, 2006 (12) |
| January, 2006 (7) |
| December, 2005 (2) |
| November, 2005 (15) |
| October, 2005 (6) |
| September, 2005 (7) |
| August, 2005 (3) |
| July, 2005 (10) |
| June, 2005 (11) |
| May, 2005 (7) |
| April, 2005 (8) |
| March, 2005 (6) |
| February, 2005 (2) |
| January, 2005 (6) |
| December, 2004 (3) |
| November, 2004 (5) |
| October, 2004 (2) |
| September, 2004 (5) |
| August, 2004 (13) |
| July, 2004 (6) |
| June, 2004 (14) |
| May, 2004 (17) |
| April, 2004 (12) |
| March, 2004 (8) |
| February, 2004 (10) |
| January, 2004 (14) |
| December, 2003 (9) |
| November, 2003 (13) |
| October, 2003 (3) |
Sign In
|