Wednesday, November 19, 2008
DevConnections 08 Day 1
1. KeyNote – Scott Guthrie, Microsoft
Scott Gu’s keynote wasn’t exactly impressive, since there weren’t surprising release news or anything like that (all that happened during PDC2008 a couple of weeks ago) but it was good to see him and get to meet him too.
During his presentation he talked a lot about ASP.NET MVC Framework and its enhancements for Visual Studio regarding the project templates. Unit Testing improvements, ASP.NET enhancements, CSS2 support, Master Pages optimizations were some of the topics he touched. He also remarked on the future capabilities of VS2010 for working with ASP.NET (WebForms and MVC). He also talked a little about Silverlight and presented six successful applications, and two of them were Schematic projects: NBCOlympics08 and Library of Congress, so that was pretty cool.
After the presentation I went to meet him and talk a little. He said that next version of Blend is going to support TFS connectivity and that the workflow between Blend and Visual Studio is going to be improved on the next versions. Visual Studio 2010 will have many improvements on the visual designer for XAML pages, so that’s great. He also said they were working very hard on making the integration between Silverlight and MVC as seamless as possible.
2. Visual Studio Team System: Soup to Nuts – Doug Seven, Microsoft
This presentation was pretty much covering the features of Visual Studio Team System and the differences with other Visual Studio versions. He covered Work Items, Documents, Reports and builds but he hadn’t enough time to present advanced techniques of higher level tools. He remarked the traceability enhancements that VSTS offers for large development teams with the source control and work items features. He said that they know that PM’s and people outside the .NET development teams have a hard time getting used to VS, so that in the future we could expect lots of improvements for Team Access and on the Team Project site that VSTS generates when creating a new team project. He mentioned also more integration between VSTS and Office applications like excel, which is already there but it is going to be enhanced. He also mentioned new enhancements for Agile Development templates, although he didn’t went into details. Regarding VSTS 2010 he showed a nice tool for previewing refactoring changes, so you can know exactly how the changes are going to look and what files and classes are going to be affected.
After that he went into details regarding the Data Base features showing how to make schema comparison between local and remote database versions, and that we will be able to use Unit Testing for the data base. One of the features he remarked was the data generation tools for testing with “almost real” data. At the end he pointed out that the next VSTS version will have heavy enhancements for testers.
3.Silverlight Controls, From Soup to Nuts – Jesse Liberty, Microsoft
This one was a disappointing one. I knew that Jesse Liberty is not that good just by looking at his tutorials on the Silverlight web site, but I was hoping to see something cool or learn a couple of tricks. The truth is that we are beyond the level of this conference, and what he exposed was very basic, pretty much how to use silverlight controls and change their styles and templates, something that I believe we all know how to do, and do it better than it was demonstrated.
4. ASP.NET MVC: So what? – Scott Hanselman, Microsoft
This one was a great presentation. He clarified a lot of confusing points about ASP.NET MVC framework and he is also a great speaker so this one was fun and interesting. The most important thing to remember about this one is that he made a lot of emphasis about ASP.NET being greater than WebForms or MVC, so they are all part and contained by ASP.NET. The key is to learn and to think about how to mix things like this inside ASP.NET. For example you could have ASP.NET applications that combine WebForms, MVC and Silverlight. He also mentioned that ASP.NET MVC will have full support for JQuery since Microsoft if fully supporting it.
Hanselman showed a couple of demos showing how MVC routes the requests hiding the URL details of each call, so the URLs remain friendly. MVC is contained in the System.Web.MVC namespace, so we know for sure that this thing is going to last since it has been included in the System.Web namespace.
There were three main concepts remarked about MVC: it is flexible, since you can rewrite or swap any part you want (like writing your own controllers). It promotes dry code (not having redundancy and duplication of code) and it uses HTTP handlers (he did a demonstration following the call stack to show how the calls are being made) meaning that MVC is playing by the rules, no magic behind the scenes.
Regarding MVC views he showed a couple of code samples on how you can chose to not specify a view and how it is going to try to return the view with the same name of the method, not caring or getting confused by extensions. On the other side, you can specify the exact view you want returned no matter the method’s name. I really think that the more we get familiar with MVC the better since Microsoft is putting so much attention on this.
5. Rest in WCF 3.5 – Rob Bagby, Microsoft
This was a good presentation too, and I was really interested since I have been researching a lot about WCF and more recently the WCF 3.5 capabilities for implementing RESTfull applications. This is his site.
He first talked about the Content Driven Web Architecture that has been the one followed in the past, where you had the browser, the URI’s, HTML, Hyperlinks and HTTP GET basically. He remarked that today’s web is equal to content plus capabilities. Then he switched to what he believes is the today’s web architecture: Capability-Enabled Web Architecture where you have rich browser clients, HTTP, domain neutral data oriented formats like JSon and ATOM, and presentation formats (HTML, CSS, XML).
He mentioned that web developers should retake the HTTP status codes (200, 201, 500, 404, etc) which are the simplest and most known error handling codes. This is something that REST architecture concepts also emphasize on. He pointed out that REST is an architecture or style of development and that this means that there’s always to be a debate around it.
Regarding code demonstrations, he showed how to create a RESTful applications with WCF 3.5 using Low Rest concepts, meaning that he was specifying a lot by code using attributes to set base addresses and names for the methods to call throw HTTP, and also using the application configuration file to define the services endpoints. Then he showed a similar demo using High REST concepts, which included the use of the REST STARTER KIT which gives you some factory namespaces for this type of applications. If you use the factory then the configuration happen behind the scenes and the configuration file endpoint sections are no longer needed unless you need to specify different bindings for the same service.