Archive

Archive for May, 2012

ASP.NET MVC4 and WebAPI

I had a great time Tuesday night speaking at the Greenville Spartanburg Developers Guild.  Thanks to all who came out to the presentation!

Here are the slides and sample code:

Slides and Sample code

Hope you enjoy…

Advertisements

Mastering LOB Development for Silverlight 5: A Case Study in Action

May 11, 2012 1 comment

I recently picked up a copy of the Mastering LOB Development for Silverlight 5: A Case Study in Action and started going through the book.

If you have never done any development in Silverlight and would like a practical pragmatic example of how to setup your solutions in Visual Studio as well as get exposed to the different frameworks that are available, then this is an excellent choice! The book is broken up into eleven chapters and it starts from introducing you to the basics of developing in XAML and quickly builds upon this knowledge to lead you into understanding windows and controls.

Chapter 3 is about data binding but it doesn’t stress the need for separation of concerns enough. I would have rather seen examples done the right way instead of the easy way. There were no advanced examples of attached properties or use of the System.Windows.Interactivity. The title of this book implies that we will be covering Silverlight 5 but I don’t see a single mention of debugging data bindings which is brand new to Silverlight 5 nor is there any hint of ancestor relative binding, implicit data templates, custom markup extensions, etc.

Chapter 4 is on Architecture but it too is lacking in being truly comprehensive. There is no sign of Prism 4.0 nor is there any mention to Caliburn.Micro. Both of the frameworks are very powerful and more mature than either of the frameworks mentioned in the book. Although both MVVM Light Toolkit is a good tool but MEF is more of a tool for DI/IOC and not a full fledged framework that can handle messaging like event aggregation that the other frameworks provide. Another sad aspect is that there is no mention of compartmentalizing your architecture to only download XAPs on demand. Most Silverlight frameworks support this out of the box.

Chapter 5 talks about data access. The chapter focuses on RIA Services but I find it very problematic that it does not cover any authorization or authentication. It does go into good detail about using RIA Services in conjunction with Entity Framework. However, I have spent way too much time fighting RIA Services to know that it is not appropriate for enterprise level development except for smaller line of business applications. The other common issue I have with this chapter is that it doesn’t address the common scenario of “Server Not Found“. This happens when RIA Services has an exception on the server and this will happen a lot. There are techniques to solve this and it is important for you as the developer to know this.

Chapter 6 discusses Out of Browser applications and this is for the most part has good coverage of the topic.

Chapter 7 is on Testing. This is a good chapter as well but it is unfortunate that it took us until this chapter to get a mention of DI/IOC. Dependency injection and inversion of control is just as important in your architecture and design as it is in your testing projects. I wish they would have covered some of the behavior driven development libraries that are available to you such as SpecFlow. BDD really compliments and makes your development experience so much better.

Chapter 8 is on Error Control. It covers the basics but still doesn’t address how to deal with exceptions on the server.

Chapter 9 is on Integrating with other Web Applications. I personally don’t see this as an important chapter for a book on line of business applications. I would much rather have a consistent architecture and UI instead of dealing with mashups.

Chapter 10 is on Consuming Web Services. This chapter covers the basics but doesn’t go deep as learning WCF requires a book just for itself. I did like that they cover consuming a Twitter API and processing JSON.

Chapter 11 is on Security. It is here that we see our authentication and authorization for both RIA Service and WCF. We also look at what how to make cross domain calls.

This book is a great reference for building line of business applications. Although I believe that it is missing some fundamental topics in building a line of business application and is a little weak on the coverage for Silverlight 5, it is still a very good read and you will walk away armed with good knowledge for building line of business applications.

Hope the review helps…

Managing Data and Media in Microsoft Silverlight 4: A mashup of chapters from Packt’s bestselling Silverlight books

I have been meaning to do a blog post and let you know that I am co-author of the book Managing Data and Media in Microsoft Silverilght 4: A mashup of chapters from Packt’s bestselling Silverlight books. It is a great honor to be selected as a contributing author and I look forward to getting ready on my next book. This book covers a lot of practical techniques regarding data and line of business applications.

Managing Data and Media in Microsoft Silverlight 4

Check it out and let me know what you think!

Categories: English Tags: , ,

Carolina Code Camp 2012

I had a great time speaking at our annual Carolina Code Camp this year! We had a great turn out. I spoke on the following two topics:

Compiler as a Service – Introducing Roslyn

Have you ever wanted to perform dynamic eval operations C# just like you can in JavaScript or Ruby? Well, look no further! With Roslyn we have to power to build our own Read-Evaluate-Print-Loop (REPL) engine. We will also take a look at how you can use Roslyn to build your own template engine like Razor.

Client Side JavaScript Applications a.k.a. Single Page Applications

In this session we are going to take a look at Knockout.js, Infuser.js, Path.js, and a whole new approach for building client-side JavaScript applications. We will look at the overall architecture and see what we can do to manage the whole development process. One area of importance is loading HTML view templates on demand instead of the traditional Script reference. We will also address some limitations like Search Engine Optimization (SEO) that aren’t supported out of the box.

I had a great time and appreciate all who attended my sessions.

ASP.NET MVC4 and WebAPI

I will be speaking Tuesday, May 15 at the Greenville Spartanburg Developers Guild in Greenville, SC on ASP.NET MVC4 and Web API.

Here is my presentation summary:

Microsoft likes big stacks! Look at Windows Presentation Foundation (WPF) or, better yet, Windows Communication Foundation (WCF). With either of these “foundations”, you start out a noob and you come out the other side a freak’in Ph.D in Quantum Physics. It doesn’t have to be that hard! There has to be a better way.

Well, Microsoft has been definitely been going the right direction. If you have followed any of the work on the WCF Web API, then you know how awesome this stuff is. This is its new home but you can still self host just like you could before. We are talking about a Web API that is heavily Convention-Over-Configuration based! Gone are the days of looking through a myriad of documentation as to how to setup your web.config file. Those days are over and you will be surprised at how nice the new stack is.

Look forward to seeing you there!

Carolina Code Camp 2012

May 2, 2012 1 comment

If you have no plans this coming weekend and are in the Charlotte area. Come out to our annual Carolina Code Camp.

I will be speaking on the following topic: Compiler as a Service – Introducing Roslyn

Here is the abstract for the session:

Have you ever wanted to perform dynamic eval operations C# just like you can in JavaScript or Ruby? Well, look no further! With Roslyn we have to power to build our own Read-Evaluate-Print-Loop (REPL) engine. We will also take a look at how you can use Roslyn to build your own template engine like Razor.

Look forward to seeing you there!

Categories: English Tags: , , , ,