« November 2011 | Main | March 2012 »

January 2012

Real World .NET, C#, and Silverlight

It took some time until I received my newest book, but now it’s here - Real World .NET, C#, and Silverlight – Indispensable Experiences from 15 MVPs:

Real World .NET, C#, and Silverlight: Indispensible Experiences from 15 MVPs (1118021967) cover image

With this book I’ve written just one chapter – as all the other authors did. Great content fairly partitioned across different topics from 15 MVPs. I’m giving you my summary what I’ve seen covered in this book.

ASP.NET and jQuery gives from David Giard gives some Information on new features from ASP.NET Web Forms 4.0, an introduction to ASP.NET MVC, and a glimpse into jQuery.

ASP.NET Performance from Bill Evjen is about state management, caching, performance counters, content delivery networks, compressions to get performance out of ASP.NET Web Form applications.

Ethical Hacking of ASP.NET from György Balássy is a chapter you should read to secure your Web site. With this chapter you get Information about tools such as Fiddler, Firebug, IE9 Developer Toolbar, Lens, how session management works, attacking ASP.NET authentication, CSRF attacks, attacking the ASP.NET session, view state hacking… and what you need to protect against attacks.

How to Build a Real World Silverlight 5 Application from Gill Cleeren gives a good introduction to SketchFlow before showing data binding features of Silverlight, using WCF RIA services, applying MVVM, and customizing of controls.

Silverlight – The Silver Lining for Line-of-Business Applications - Jeremy Likeness takes a different route to Silverlight.  He starts by giving an overview of the different Silverlight project types and explains the Interfaces  IApplicationService and IApplicationLifetimeAware to hook into startup, shutdown, and exception handling events. Next he compares MVC, MVP, and MVVM patterns, explains dependency injection and demonstrates how MEF can be used. In this chapter you can also read a comparision of MVVM Frameworks such as Prism, MVVM Light, nRoute, Calburn.Micro, and Jounce.

Tips and Tricks for Designers and Developers is a very short chapter from Daron Yöndem just covering 9 pages. This chapter mentions “importing assets from Photoshop”, “Using sample data for a better design experience”, “using behaviors to make things easier”. I just would hope to read more Information about importing from Photoshop, what are the issues, how can it be solved; sample data not only created from code with DesignerProperties.GetIsInDesignMode, but also Information about designer specifications in XAML, and much more Information on behaviors and not only two pages.

MVVM Patterns in Silverlight by Kevin Grossnicklaus is a big chapter again. It comes back to MVVM and explains how an MVVM Framework can be created. This chapter goes that far to build composite screens, displaying dialogs, and communication between views. In the last part of the chapter exisiting MVVM Frameworks Prism, MVVM Light, and Caliburn Micro are compared to each other.

Windows Phone “Mango” for Silverlight Developers from Alex Golesh goes into specific Windows Phone 7.5 issues and covers the Camera API, Sensors API, Silverlight/XNA Hybrid applications, using a local database, fast application switching (FAS), Background agents, notifications, contacts/appointments data access – things a Siverlight developer needs to now creating apps for the phone.

Pragmatic Services Communication with WCF is from Christian Weyer, a thinktecture colleague. As expected from Christian, this is a chapter of 63 pages (and this without security – this is in the next chapter). At the first page of this chapter Christian explains that this is not a beginner’s introduction – and not a full reference as well. It still starts with basics of WCF (ABC), but already adds some real world experience to the introduction (e.g barely using message contracts nowadays). Soon Christian steps into several topics such as validation, mapping, tracing, hosting services, sharing contracts, async calls, the Web programming model, and much more.

The next chapter is from another colleague at thinktecture: Dominick Baier – Securing WCF Services Using the Windows Identity Foundation (WIF). Dominick is the security specialist from thinktecture and gives a whirlwind tour through WCF security, claims-based identity, and federation. If you are knowledgeable of traditional security models like principals, identities, and roles, you should read this chapter to get the idea of security Tokens and claims. Dominick goes into the Windows Identity Foundation and explains the WCF security stack.

Chapter 11 from Jeffrey Juday is about Applied .NET Task Parallel Library. Jeffrey covers the .NET 4 library within 38 pages, both data parallelism as well as task parallelism using the Task class, showing exceptions, cancellation, and concurrent collection classes of .NET 4.

Vishwas Lele goes into Windows Workflow Foundation with the chapter The WF Programming Language. This chapter starts with a simple workflow, explains XAML in the focus of WF, explains several activities for control flow, exception handling, Transactions and compensation, parallel execution, and also explains how custom activities can be implemented. Hosting workflows and using persistence is explained as well.

My chapter has number 13 and is about Practical WPF Data Binding. Back to MVVM from previous chapters, but here I’m just using MVVM with a lot of data binding aspects. This chapter goes into various data binding concepts, showing multibinding, using the CollectionViewSource, implementing data templates, grouping, hierarchical data binding, virtualization, editing data, validation, error display…

Chapter 14 is the longest chapter over 79 pages. Driving Development with User Stories and BDD by Scott Millett. Scott gives a short introduction to user stories, explains the shortcomings of Test-Driven Development (TDD), and gets into the advantages of Behavior-Driven Development (BDD). Next, Scott introduces some BDD Frameworks before going into an application that is done with BDD in mind. User Stories are captured for the Tic-Tac-Toe game, and then BDD is used to until all behaviors of the application are implemented. Showing all the BDD aspects within a full application should be the best Approach to learn BDD.

The last chapter of the book is from Caleb Jenkins about Automated Unit Testing. Caleb introduces unit testing with the three A’s Assign, Act, Assert, covers various testing frameworks, explains Continuation Integration (CI) servers, talks about fakes and mocks, covers testing on using MVC, MVP, and MVVM…

As you can see, there is a lot what’s covered by this book. Silverlight, WPF, parallel programming, BDD, unit testing, security, WCF, WF, ASP.NET, hacking… Of course this is not a beginner’s book. However, I think nearly every .NET developer will find interesting Topics within this book – this is a must-read.

Christian

CN innovation

Real World .NET, C#, and Silverlight from Amazon.com

Real World .NET, C#, and Silvelright von Amazon.de

Hello, 2012

Early 2011 I blogged about my predictions on 2011. What were the things I blogged about the last year, was it becoming true? How does 2012 look like? The main topics my blog was about Silverlight 5, Windows Azure, Windows Phone 7, Windows 8, and HTML 5. Let’s have a look how my thoughts from early 2011 look like today, and what I think are the most important topics for 2012.

Silverlight 5

2011 (and earlier 2010) I blogged about the features of the upcoming coming Silverlight 5. In December 2011 it was finally released as is described here.

Now Silverlight 5 might not look as important as it was in the beginning of 2011. It’s not the tool of choice for writing platform-independent applications which is HTML 5 now. Silverlight applications cannot be used for Metro style apps with Windows 8. However, the traditional desktop of Windows 8 still is an important part to write applications for it for the next years to come. Looking into version 5, Silverlight received a lot of features important and helpful writing full desktop applications.

Silverlight 5 is supported by Microsoft until 10/12/2021, or through the support lifecycle of the underlying browsers, whichever is shorter. This should give enough time to give Silverlight the emphasis it needs to write new applications now. And the knowledge of XAML and C# can still be used with Metro apps in Windows 8.

Windows Azure

In 2011 I also blogged about new things coming with Windows Azure. Windows Azure still keeps growing, new features are added in a continuously basis. The cloud is becoming more and more important as the same data should be accessible from anywhere, no matter what device is used, and in some scenarios scalability can be solved by adding Windows Azure instances and just paying the instances needed.

New features recently added are support for Node.js, Hadoop-based Services, Federations, queues, topics, and relay services… More to come in 2012

Windows Phone

I also mentioned Windows Phone 7 with the Mango update to support copy and paste. The 7.5 update delivered a lot more great features as described in What’s new in Windows Phone 7.5. I really like this update and use the integration of Facebook Twitter, LinkedIn… a lot.

Currently Microsoft’s phone does not have the market presence it should have. I think this will change – and Nokia still has a lot of announcements to do to make Windows Phone more successful. It’s not the first time that Microsoft was a little late in the game but finally succeeded.

Windows 8

Early 2011 I already blogged about Windows 8 and expected a PDC for 2011 that should be a lot bigger than the 2010 PDC. This conference was a lot bigger, and still outsold just with the early bird bookings – and all this without posting an abstract of a single session before the conference. Just the name of the conference changed: Build Windows.

Although I was expecting a lot that was announced at this conference I was still surprised how well this all worked out and really like the new UI of the upcoming operating system. Applications to use the Metro UI can use XAML/C# or HTML5/JavaScript or XAML/C++. The choices are here. The application UI design must be done differently to be successful. Writing applications for Windows 8 I’m thinking a lot more about usability and how to change the workflow to be both easy to use and effective for the user.

Early 2012 (February?) I’m expecting the Beta version of Windows 8 and I’m already working now on several apps.

HTML 5 and JavaScript

Early 2011 I already mentioned HTML5 and already had several customers in 2011 to support them with HTML and JavaScript. HTML and JavaScript is making a comeback. jQuery helped a lot to make JavaScript programming more efficient.

I’m not only giving HTML5 and JavaScript an important place to create platform-independent applications to run on different mobiles and desktops but also think it’s a great option to write Metro style apps for Windows 8. For platform-independent HTML I'm using ASP.NET MVC that allows for great control of HTML and JavaScript.

Languages

For 2012 I’m also seeing a comeback for C++. C++11 gets cool improvements, and the support from Microsoft with Metro and XAML/C++ is here again. There are some applications that didn’t change the C++ code to .NET, and such libraries can now be really easy to use with new Metro style apps.

Of course C# gets cool improvements for async programming in 2012 that’s not less important. I’m working with C#, C++, and JavaScript in 2012.

I’m expecting 2012 to be an exciting year, expecting some new tablets that let Windows 8 shine, and put my big focus for the year on Windows 8 Metro, Windows Azure, HTML5, ASP.NET MVC, C++, C#, and JavaScript. Of course I’m also still doing WPF, Silverlight, and WCF, and writing about improvements on .NET 4.5. Already working on the next edition of Professional C# for several months now…

Christian

CN innovation