Pro Silverlight 5 in C# 4th Ed

Author: Matthew MacDonald
Publisher: Apress
Pages: 944
ISBN: 978-1430234791
Aimed at: Devlopers still using Silverlight
Rating: 4.8
Reviewed by: Ian Elliot

The latest, and probably last, update to a book we have previously highly recommended. How does this fourth edition compare?

It is widely assumed that Silverlight 5 is the last release of Microsoft's framework for building browser based apps. When it was released Microsoft stated that at least 12 months notice will be given of end of support for Silverlight - so it is still a product that hasn't come to the end of the line and is still widely used so having an up-to-date version of a comprehensive reference work for it seems a good idea.

One very noticeable, and disappointing, change is that the book no longer uses color printing for screenshots and code, something that was noted as one of the book's plus points in my reviews of the previous two editions.

 

Banner

 

As with most books that are successful enough to go through many editions, this one has mainly preserved its basic structure but has added new material to cover new features.

The first chapter provides an introduction to Silverlight that looks at its design tools and compares working with it using Visual Studio and Expression Blend - although the book assumes you'll work primarily with Visual Studio. It shows you how to start using Silverlight to create a simple website with no server-side code.Other early chapters deal with the basics of XAML, layout, dependency properties, events and elements. It then move on to the Application model and Navigation.

Up to this point there's little change from the previous edition although helpfully  the book includes What's New boxes that alert you to new features and where you will find them covered. So in Chapter 4 on Dependency Properties and Routed Events there's a new section "Double and Triple Clicks" and in the next chapter see "The Rich TextBlock" for the two additional specialized controls introduced in Silverlight 5 to enable you yo put text in multiple columns and wrap text around images.

An important new feature in Silverlight 5 is the ability to use vector-based printing. This is covered in Chapter 9, Brushes, Bitmaps and Printing and the material on transforms that had been in this chapter has been shunted to the previous chapter that is now re-titled Shapes and Transform, although it still covers paths and geometries as before.

There are now two chapters on Animation. Chapter 10 on Animation Basics that covers the improvement to the way animations are rendered introduced in Silverlight 5 that means  if you are using bitmap caching you can offload animation work to a separate, independent, thread. Chapter 11 covers more advanced aspects including animating transforms, creating animations programatically in code, page and wipe transitions and frame-based animation.

 

 

New features in Silverlight's audio and video support are covered in Chapter 12: Sound, Video and Deep Zoom and then comes the only completely new chapter in the book. Chapter 13: Silverlight 3D is devoted to a feature that is completely new in Silverlight 5. 3D support requires hardware acceleration and as Matthew MacDonald this introduces "a significant catch" explaining that by default Silverlight is blocked from using hardware acceleration to prevent denial of service attacks. He then outlines the options for overcoming this barrier and enabling 3D in a Silverlight project. It then introduces the DrawingSurface control and 3D co-ordinate system, how to build 3D objects with triangles and positioning the camera. By the end of the chapter you will have mastered the 3D basics and be ready to go forward either with a 3D design framework such as Balder or Babylon, or build a 3D app using your own math skills.

In the rest of the book other new features are introduced as they crop up and there's quite a bit of reordering to provide a better flow of information. So Chapter 14: Styles and Behaviours mentions the new support fir style setters that support data binding and the next one on Templates and Custom Controls covers layout transitions that help you incorporate animated affects in the ListBox control.

The chapter on Multithreading comes next in this edition, slotted in before Browser Integration. Immediately after this we find Out-of -Browser applications, a chapter that had been new in the previous edition and placed at the end.

After this the book returns to the previous running order with chapters on ASP.NET web services; Data Binding, where there are a couple of new sections to cover the refinements to the data-binding system in Silverlight 5; Data Control; File Access and Networking.

Reviewing this book not only reminded me of the high quality of Matthew Macdonald's clear, comprehensive and insightful coverage of the subject but also brought home what a good framework Silverlight became over the years. It is very sad to think that it no longer has a future.

 

Related articles

Pro Silverlight 4 in C#

Pro Silverlight 3 in C#

Silverlight 5 Release

Silverlight 5 - the end of the line

 

Banner


Beginning C for Arduino

Author: Jack Purdum
Publisher: Apress
Pages: 262
ISBN: 978-1430247760
Audience: Arduino beginners with no programming background
Rating: 3
Reviewer: Harry Fairhead

Working with the Arduino is usually seen as a hardware problem, but what about the software? This book aims to educate you about the C langua [ ... ]



Maintainable JavaScript

Author: Nicholas C. Zakas
Publisher: O'Reilly
Pages: 242
ISBN: 978-1449327682
Audience: JavaScript programmers
Rating: 4
Reviewer: Ian Elliot

It is commonly stated that you can write a big JavaScript program but you can't maintain it. So a book that claims that maintainable JavaScript is possible sounds  [ ... ]


More Reviews

 

Last Updated ( Friday, 23 August 2013 )
 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.