Microsoft Silverlight 4 Business Application Development Beginner's Guide - Albert Cameron - E-Book

Microsoft Silverlight 4 Business Application Development Beginner's Guide E-Book

Albert Cameron

0,0
29,03 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

In Detail

Microsoft Silverlight is a programmable web browser plug-in that enables features including animation, vector graphics, and audio-video playback-features that characterize Rich Internet Applications. Silverlight makes possible the development of RIA applications in familiar .NET languages such as C# and VB.NET.

Silverlight is a great (and growing) Line of Business platform and is increasingly being used to build business applications. Silverlight 3 made a big step in LOB; Silverlight 4 builds upon this further. This book will enable .NET developers to feel the pulse of business application development with Silverlight quickly.

This book is not a general Silverlight 3/4 overview book. It is uniquely aimed at developers who require an introduction to building business applications with Silverlight. This book will focus on building a suite of real-world, useful business applications in a practical hands-on approach. This book is for .Net developers, providing the answers to many questions that are encountered when creating business applications in Silverlight, ultimately enabling rapid development with ease!

This book teaches you how to build business applications with Silverlight 3 and 4. Building a suite of applications, it begins by introducing you to the basic tools and skills needed to get started in Silverlight development. It then dives deeply into the world of business application development, covering all the required concepts needed to build sophisticated business applications and provide a rich user experience. Chapters include: building a public website, adding rich media to the website, incorporating RIA into your website, and much more!

By following the practical steps in this book, you will learn what's needed to create rich business applications-from the creation of a Silverlight application, to enhancing your application with rich media and connecting your Silverlight application to various Data Sources.

This book is based on Silverlight 4, Visual Studio 2010, WCF RIA Services and Expression Blend 3, since Expression Blend 4 was released after publication. However, you can also use Expression Blend 4 with this book as downloadable code is now available.

Approach

A Beginner's Guide tutorial, this book offers learning and techniques through a suite of business applications. It contains step-by-step instructions for developers who want to build rich business applications using Silverlight. The book focuses on practical examples and has a friendly approach, with the opportunity to learn by experiment and play. It uses illustrations, screenshots, and interactive experiences to understand the most complex topics related to Silverlight business application development. It is designed in such a way that you can refer to topics chapter by chapter, and read them in no particular order.

Who this book is for

If you are a .NET developer who wants to build business applications with Silverlight, then this is the book for you. No experience of programming Silverlight is required. Basic understanding of Visual Studio, C#, .Net development, XML, and Web development concepts (HTTP, Services) is required.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 316

Veröffentlichungsjahr: 2010

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Microsoft Silverlight 4 Business Application Development Beginner's Guide
Credits
About the Author
About the Reviewers
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Getting Started
Skills needed
A special note for ASP.NET developers
A special note for Windows Forms developers
A special note for WPF developers
A special note for Flash/FLEX developers
New concepts of Silverlight
Separation of presentation and Logic
XAML: Relax it's just XML
Dependency properties
Bumps along the road to Silverlight bliss
GIF files need not apply
Visibility != Boolean
It's Button.Content, not Button.Text
But wait, there's more!
Tools needed
Visual Studio 2008 or Visual Studio 2010
Silverlight runtime
Silverlight toolkit
Expression Blend
Other useful tools
Deep Zoom Composer
Silverlight Spy
Expression Design
Expression Encoder
InkScape
Time for action - creating a Silverlight project
Have a go hero
What just happened
Summary
2. Enhancing a Website with Silverlight
Retrofitting a website
Adding pizzazz with Silverlight
A few words on search engine optimization
Building a navigation control from the ground up
Picking the right kind of container
Stack it up: Using the StackPanel
Time for action - building navigation buttons in Silverlight
What just happened?
Adding a little style with Styles
Styles
Time for action - adding the style
What just happened?
Creating applications in Expression Blend
A crash course in Expression Blend
An artsy Visual Studio?
Time for action - styles revisited in Blend
What just happened?
Have a go hero
Skinning a control
Time for action - Skinning a control
What just happened?
States of mind
Time for action - learning the Visual State Manager
What just happened?
Adding event handlers
Time for action - back to coding
What just happened?
Where are we really?
Animation in Silverlight
Time for action - animation time
What just happened?
Have a go hero - exploring animation options
Getting on the same page
Time for action - getting Silverlight onto a web page
What just happened?
Summary
3. Adding Rich Media
Adding media to a Silverlight project
Time for action - adding background music
What just happened?
Embedding files versus referencing files
Have a go hero – improving the experience
Adding video to a Silverlight project
Time for action - adding video
What just happened?
Using video as a brush
Time for action - creating and using a VideoBrush
What just happened?
Enriching an application with audio cues
Time for action - adding interactive sounds
What just happened?
Have a go hero – adding a few more sounds
Coding videos with Expression Media Encoder
A tour of the workspace
Encoding video
A quick word on video formats
Time for action - let's encode a video!
What just happened?
Have a go hero – explore the other templates
Summary
4. Taking the RIA Experience Further with Silverlight
Deep Zoom
Deep Zoom in action
Time for action - creating a Deep Zoom photo montage
What just happened?
Have a go hero - exploring the tiles
Using the Bing Maps Silverlight Control
Using the Map Control
Time for action - getting started with mapping
What just happened?
Getting credentials
Time for action - adding our credentials
Taking control of the Map control
Time for action - taking control of the Map control
What just happened?
Have a go hero - changing the map programmatically
Adding store locations to the map
Time for action - adding store locations
What just happened?
Have a go hero - re-styling a Pushpin
What just happened?
Drawing out ideas
The InkPresenter control
Capturing strokes
Time for action - building a basic sketching application
What just happened?
Changing drawing attributes
Time for action - controlling the appearance of Ink
What just happened?
Erasing Strokes
Time for action - adding an erase feature
What just happened?
Storing Strokes in Isolated Storage
Isolated Storage
Time for action - adding persistence
What just happened?
Have a go hero - where is isolated storage?
Uploading sketches
Asynchronous calls
Time for action - submitting sketches
What just happened?
Summary
5. Handling Data
Data applications
Time for action - creating a business object
What just happened?
Windows Communication Foundation (WCF)
Time for action - creating a Silverlight-enabled WCF service
What just happened?
Collecting data
Time for action - creating a form to collect data
What just happened?
Validating data
Data object
Time for action - creating a data object
What just happened?
Data binding
Time for action - binding our data object to our controls
What just happened?
Validation
Time for action - validating data input
What just happened?
Data submission
Time for action - submitting data to the server
What just happened?
Summary
6. Back Office Applications
WCF Rich Internet Application (RIA) Services
Time for action - creating a RIA Services application
What just happened?
Have a go hero - styling the listbox
SharePoint
Time for action - hosting a Silverlight application in SharePoint
What just happened?
Summary
7. Customer Service Application
Customer data
Time for action - creating the data model
What just happened?
ADO.NET Entity Framework and WCF RIA Services
Time for action - creating the Entity Framework
What just happened?
User experience
Time for action - saving customer information
What just happened?
Customer service
Time for action - creating a customer lookup form
What just happened?
Have a go hero - adding data validation to our customer details form
Summary
8. Executive Dashboard Application
Data visualization
Time for action - creating the Executive Dashboard
What just happened?
Have a go hero - adding more sales data
Spreadsheet data
Time for action - extending the Executive Dashboard
What just happened?
Have a go hero - adding paging to our grid
Summary
9. Delivery Application
Creating a signature capture control
Creating our own lookless control
Time for action - creating a custom control
What just happened?
Improving the default template
Time for action - putting the control together
What just happened?
Dependency properties
The OnApplyTemplate method
TemplateBinding
Implementing the custom control
Time for action - putting our lookless control to the test
What just happened?
Time for action - finishing the control
What just happened?
Mapping application
Geocoding
Time for action - Geocoding addresses to work
What just happened?
Route planning
Time for action - adding routing to our application
What just happened?
Summary
10. Where to Go From Here
More Silverlight features
Checking network connectivity
Time for action - detecting network connectivity
What just happened?
Have a go hero - refactoring the code
Executing outside the browser
Enabling out of browser support
Time for action - creating an out-of-browser solution
What just happened?
Time for action - checking the InstallState property
What just happened?
Installing a Silverlight application locally
Deployment concerns
Uninstalling a Silverlight application
Beyond Silverlight
Windows Presentation Foundation (WPF)
When to use WPF
Time for action - creating a WPF application
Future of Silverlight
Summary
Index

Microsoft Silverlight 4 Business Application Development Beginner's Guide

Frank LaVigne

Cameron Albert

Microsoft Silverlight 4 Business Application Development Beginner's Guide

Copyright © 2010 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: April 2010

Production Reference: 1300310

Published by Packt Publishing Ltd.

32 Lincoln Road

Olton

Birmingham, B27 6PA, UK.

ISBN 978-1-847199-76-8

www.packtpub.com

Cover Image by Tina Negus (<[email protected]>)

Credits

Authors

Frank LaVigne

Cameron Albert

Reviewers

Joel Cochran

Laurent Duveau

Acquisition Editor

Kerry George

Technical Editor

Aditya Belpathak

Indexer

Monica Ajmera Mehta

Editorial Team Leader

Aanchal Kumar

Project Team Leader

Lata Basantani

Project Coordinator

Poorvi Nair

Proofreader

Lesley Harrison

Graphics

Geetanjali Sawant

Production Coordinator

Aparna Bhagat

Cover Work

Aparna Bhagat

About the Author

Frank LaVigne has been hooked on software development since he was 12, when he got his own Commodore 64 computer. Since then, he's worked as developer for financial firms on Wall Street and also in Europe. He has worked on various Tablet PC solutions and on building advanced user experiences in Silverlight and WPF. He lives in the suburbs of Washington, DC. He founded the CapArea.NET User Group Silverlight Special Interest Group and has been recognized by Microsoft as a Tablet PC MVP. He blogs regularly at www.FranksWorld.com.

I would like to thank my wife Roberta for always being there for me. To my son Jacob, my world changed when I first got to hold you in my arms. Lastly, I would like to dedicate this book to my dad, who taught me the value of hard work and perseverance.

Cameron Albert is an independent software development consultant, with over ten years of experience, specializing in Microsoft technologies such as Silverlight, WPF, WCF, SQL Server, and ASP.NET. Having worked in the medical, insurance, and media/entertainment industries, he has been involved in a variety of development solutions featuring a broad range of technical issues.

Cameron also dabbles in game development, utilizing Silverlight and XNA. He maintains a blog that details his exploits in the development world at http://www.cameronalbert.com. Cameron lives with his wife in Connecticut.

I would like to thank my wife Lisa for being the light of my life and Frank for thinking highly enough of me to include me in the writing of this book.

About the Reviewers

Joel Cochran, an AS/400 RPG programmer earlier, Joel is a former Contributing Editor for ITJungle.com (originally MidrangeServer.com) and has taught various programming languages and Internet technologies at Blue Ridge Community college. He has been developing in C# full time, since 2003 and now focuses exclusively on developing WPF and Silverlight applications with Expression Blend. A self-described "Blend Evangelist", Joel is a frequent speaker at User Groups, Code Camps, and other Community events. He enjoys teaching and writing about these and other .NET technologies, which he happily shares on his blog at http://www.developingfor.net. Joel has served as the Director of Operations for Stonewall Technologies, Inc., in Staunton, VA, since 2000.

I'd like to thank Frank LaVigne and Packt Publishing for bringing me in on this project; it has been a tremendous learning experience and I had a great time to boot! I'd also like to thank all of my great friends in the Mid Atlantic .NET developer community for their constant support and interest in these fantastic new technologies. Finally, I'd like to thank my wife Kim and children Heather and Justin, without them none of this would be worthwhile.

Laurent Duveau is a Silverlight expert, the technology that fascinates him. He has followed its development since the very beginning in 2007. He has had the opportunity to give a multitude of Silverlight presentations at conferences such as TechDays, DevTeach, CodeCamp, User Group, MSDN Tour, and W3C. Laurent is a Microsoft Certified Trainer (MCT) since 2004, as well as a Silverlight MVP, Silverlight Partner, and Silverlight Insider. He is the Vice President of RunAtServer Consulting, a company based in Montreal, QC, whose focus is on Silverlight projects, coaching, and training.

Preface

Welcome to the world of Rich Internet Applications (RIA) and Silverlight. A world in which the user experience is paramount, and easy to use yet powerful applications are what we strive to create. Silverlight brings .NET developers into the RIA space in a big way, providing the controls we know with web and Windows development and allowing us to define a custom experience to best benefit the users of our applications.

The days of plain HTML web applications are coming to end, making way for more robust and powerful applications. Already the widespread use of AJAX has helped us deliver more user friendly applications and have opened doors that were shut to plain HTML. Silverlight takes this a step further by giving .NET developers what is essentially a thin client that runs within the user's environment and can communicate with our backend servers and services. The ability to make use of the user's memory to run our application rather than sending everything to the web server for processing improves overall user experience and removes some of the traditional application wait times and general unsatisfactory behavior of web applications.

This book will bring ASP.NET and Windows developers into the Silverlight realm by showing them how to leverage their existing .NET skills with Silverlight. The transition into Silverlight should be smooth by following the contents of the chapters in order. The intent is to introduce you to the concepts of Silverlight while getting you into the code right away. We will build on each chapter while creating an application for a fictitious company that creates specialty cakes. By using the concept of the cake company we can identify some real client needs and work to provide solutions using the Silverlight platform to deliver the results.

What this book covers

Chapter 1: Getting Started introduces Silverlight development including the concept of XAML, dependency properties, and some basic controls while leveraging existing .NET skills.

Chapter 2: Enhancing a Website with Silverlight covers the use of Expression Blend, container controls, the Visual State Manager, animation, and the designer/developer workflow, while adding Silverlight to an existing web site.

Chapter 3: Adding Rich Media explains how to include media such as video and audio into a Silverlight application and how to make use of Expression Encoder to prepare video for Silverlight.

Chapter 4: Taking the RIA Experience Further with Silverlight 4 introduces Deep Zoom, the Bing Map control, and the use of the Ink Presenter control to capture ink input from a tablet or touch screen, store information in isolated storage, and communicate with a web server via HTTP.

Chapter 5: Handling Data covers collecting and handling data input from a customer, saving input on the server using Windows Communication Foundation (WCF), and making use of the powerful data binding feature of Silverlight to bind customer data to Silverlight controls.

Chapter 6: Back Office Applications covers the implementation WCF RIA Services to provide a common middle tier between our server and Silverlight application and introduction to using Silverlight in SharePoint.

Chapter 7: Customer Service Application introduces how to build a simple customer service application to allow the business to process input from customers using the Entity Framework, WCF RIA Services and the DataForm control.

Chapter 8: Executive Dashboard Application covers the topic of making use of the charting controls in Silverlight with data binding to present reports to business decision makers.

Chapter 9: Delivery Application introduces the creation of an application for delivery personnel, including a signature capture control and next level usage of the Bind Maps control and API.

Chapter 10: Where to Go From Here includes a sample of the out-of-browser mode for Silverlight, a basic introduction to Windows Presentation Foundation (WPF), and a look to toward the future of Silverlight.

What you need for this book

You will need the following tools to view the samples and run the code provided. While the Expression tools are discussed and used within the book they are not a requirement to build Silverlight applications, they simply make it easier. Visual Studio 2010 provides a design view of XAML pages so that you can visually design the interface, which saves a lot of hand coding of XAML.

Visual Studio 2010Silverlight 4 Tools for Visual StudioWCF RIA ServicesExpression BlendExpression EncoderSQL ExpressA SharePoint VPC or development installation (for the SharePoint samples)

Who this book is for

If you are a .NET developer who wants to build business applications with Silverlight, then this is the book for you. No experience of programming Silverlight is required. A basic understanding of Visual Studio, C#, .NET development, XML, and Web development concepts (HTTP, Services) is required.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text are shown as follows: "Inside the Default.html file, you'll see the object tag that actually hosts the Silverlight control."

A block of code is set as follows:

<UserControl.Resources> <Style x:Name="biggerTextStyle" TargetType="Button"> <Setter Property="FontSize" Value="18"/> </Style> </UserControl.Resources>

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

<UserControl.Resources> <Style x:Name="biggerTextStyle" TargetType="Button"> <Setter Property="FontSize" Value="18"/> </Style> </UserControl.Resources>

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Start Visual Studio and open the CakeORamaApp solution we created in the previous chapter".

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an email to <[email protected]>, and mention the book title via the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book on, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Tip

Downloading the example code for the book

Visit http://www.packtpub.com/files/code/9768_Code.zip to directly download the example code.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books — maybe a mistake in the text or the code — we would be grateful if you would report this to us. By doing so, you can save other readers from frustration, and help us to improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to any list of existing errata. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at <[email protected]> with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at <[email protected]> if you are having a problem with any aspect of the book, and we will do our best to address it.

Chapter 1. Getting Started

Welcome to the wonderful world of Silverlight, Microsoft's platform for building Rich Internet Applications (RIA). The earliest versions of Silverlight focused on rich media, interactivity, and animation. Now Silverlight has gotten down to business with new features geared towards making business application development faster and easier. Of course, you still have access to all the graphics and animation tools. With the usability bar raised considerably by Web 2.0, end users are demanding more from their applications. Silverlight 4 will help you deliver steak and the sizzle to business application development.

In this chapter, we shall:

Leverage your existing .NET skill set to SilverlightDiscuss the new concepts of SilverlightDiscuss what software is needed to develop Silverlight applicationsDevelop a Silverlight application

Skills needed

To get the most out of Silverlight business application development, you must be comfortable with Visual Studio, and have some knowledge of .NET development, be it ASP.NET development or Windows Forms development. As many of the core concepts of .NET development are the same across the different target platforms, the more accustomed you are to them, the easier your transition into Silverlight will be. In addition to basic .NET development skills, you should feel comfortable with XML. You need not have read the specification, but you must know your attributes from your elements, and your namespaces from your angle brackets. You should know what the CLR is and know how to tell the difference between your DLLs and your HTMLs.

As developers, we are all on a journey of learning and discovery. I was fortunate enough to have delved into the worlds of ASP.NET, Windows Forms, and WPF before encountering Silverlight. Now, let's discuss who you are and see how best to approach Silverlight.

A special note for ASP.NET developers

With web applications, the mantra for development, testing, and deployment might as well be "Write once. Run anywhere", but test everywhere in every possible configuration. The more complex your interaction code, the more you have to worry about testing your code on a myriad of browsers, platforms, and mobile devices. You know there's got to be a better way, and there is; Silverlight. It encapsulates all of the interactive features that AJAX, jQuery, and so on provide and much more. Best of all, Silverlight applications run the same way, regardless of platform or browser. Your testing burden is significantly lighter. Your applications, whether external facing or behind-the-firewall intranet applications, will benefit greatly from having Silverlight incorporated. Your users will appreciate the added interactivity and inclusion of rich media, and you, as a developer, will appreciate not having to worry about browser and platform compatibility.

A special note for Windows Forms developers

As a 'SmartClient' developer you've endured the slings and arrows of web developers who taunt you with deployment concerns and platform portability concerns. Deep down, you knew they had valid arguments about cross platform deployment, but you were frustrated at the lack of awareness of ClickOnce. ClickOnce has largely erased the deployment headaches normally associated with 'thick clients', a term you find both antiquated and offensive when it is applied to Windows Forms. In a very real way, you already understand the need for a declarative language for defining user interfaces on client applications, especially if you have already written code to parse out an XML file or some other data source to render Windows Forms controls to create 'forms on demand'. Microsoft has not deprecated the technology, but it is also not releasing new versions. The time for this technology is coming to an end.

The direct successor to Windows Forms is WPF(Windows Presentation Foundation), which shares many traits in common with Silverlight. Despite the initial learning curve, the journey to Silverlight will be well worth it, as you will have learned quite a bit about WPF as well. Two technologies for the 'price' of one!

A special note for WPF developers

If you are already comfortable with WPF, then you are well prepared to enter the world of Silverlight. You are already familiar with many of the key concepts such as XAML, Storyboards, and dependency properties. However, your journey is not without its challenges. WPF and Silverlight do share a common language and philosophy, but there are numerous differences between the two platforms. Silverlight has been built from the ground up, to be cross-platform and web centric, whereas WPF has been designed to develop applications only on Windows.

Note

Silverlight's original 'codename' was WPF/E, or WPF Everywhere.

WPF has access to the whole .NET Framework and all the resources on a user's machine. However, due to security concerns, Silverlight runs in a 'sandbox' mode. This means that the Silverlight runtime has certain security restrictions, even with full trust mode enabled. For example, Silverlight applications do not have direct access to the full file system.

A special note for Flash/FLEX developers

Flash developers have been at the forefront of RIA development for nearly as long as there has been a World Wide Web to host Rich Applications on. However, times are changing, competition is coming to this space and Silverlight will add more tools to the tool belts of web designers and developers everywhere. Silverlight and Flash come from different perspectives on RIA, and if you know both, you can pick the platform that is best for the needs of your projects.

Tools needed

Now that we've covered the skills that are required to effectively use Silverlight, and saw the concepts which are new to Silverlight, let's go over what tools you will need to start developing in Silverlight.

At a bare minimum, you will need the following software installed on your Windows powered computer:

Visual Studio 2010 or Visual Studio 2008 SP1 with Visual Studio Tools for SilverlightThe Silverlight runtimeSilverlight ToolkitExpression Blend 3

Note

The Get Started section on the official Silverlight site: http://silverlight.net/GetStarted/ will have the most up to date links and installation instructions.

Visual Studio 2008 or Visual Studio 2010

Visual Studio is the Integrated Development Environment (IDE) for developers working on Microsoft's .NET platform. You can use either Visual Studio 2008 or Visual Studio 2010. If you're already a .NET developer, then Visual Studio will feel very familiar to you. The following screenshot should look recognizable to you, even if you've never opened up a Silverlight project before. You can readily identify the Solution Explorer, Toolbox and all the usual suspects. ASP.NET developers will instantly recognize the split window pane of the rendered view and the markup view:

Silverlight runtime

To develop applications in Silverlight, you will need to have the Silverlight plugin installed. If you come across a page that uses Silverlight and you do not have it installed, you will likely see an image like the one in the following screenshot:

Silverlight toolkit

The Silverlight toolkit contains Silverlight controls, components, and utilities built by the Microsoft Silverlight product team. The toolkit adds extra functionality quickly for designers and developers outside of the regular Silverlight product development cycle. It includes full source code, unit tests, sample code, and documentation for the over two dozen controls in the toolkit. You can download the Silverlight Toolkit for free at: http://www.codeplex.com/Silverlight.

Expression Blend

Developers often find Expression Blend's stark interface somewhat confusing at first. Gone are the familiar layout of tools and properties from the last several versions of Visual Studio. Expression Blend is primarily aimed at designers, whereas Visual Studio is aimed at developers. Accordingly, Blend's interface more closely resembles essential design tools such as Adobe Illustrator or Adobe Photoshop, as you can see in the following screenshot:

I know what you're thinking: "I'm a developer so why would I care about a silly design tool?" In this instance, you should resist the temptation to dismiss Expression Blend as nonessential.

Blend will make your work in Silverlight easier and maybe even more fun. If you are still not sure about the place of Expression Blend within your development toolkit, think of it as a really large XAML generator. While Visual Studio 2010 made incredible advances in the Silverlight developer experience, Blend still adds considerable value. Blend has a much better tool for creating animations and you can import assets directly from Adobe Photoshop and Adobe Illustrator into your Silverlight projects. You can certainly develop Silverlight applications without Blend, but once you see its power and elegance, Blend will become an essential part of your development toolkit.

Throughout the course of this book, we will be using Blend as well as Visual Studio. By the time you reach the end, you'll feel right at home with this great new tool.

Other useful tools

In many business application development situations, the bare minimum software tools will rarely get the development job done. While Visual Studio and Blend are fully-featured development and design tools, there are a few other essential tools that you should have in your Silverlight development toolkit.

Deep Zoom Composer

One of the coolest features of Silverlight is Deep Zoom, where your users can browse high resolution images, without having to wait for the files to download. A great example of Deep Zoom put to good use is Hard Rock's Memorabilia web site at: http://memorabilia.hardrock.com, where you can browse gigabytes of images instantly. If you want to create your own Deep Zoom experiences, you will need to download Deep Zoom Composer, which as of this writing is a free download from: http://www.microsoft.com/downloads/details.aspx?FamilyID=457B17B7-52BF-4BDA-87A3-FA8A4673F8BF&displaylang=en.

Silverlight Spy

Silverlight Spy is a utility that lets you peek into a running Silverlight application, enabling you to break down, analyze, and even alter the XAML or code of any Silverlight application. If you ever wondered "How they did it" or like to learn by reverse engineering, then this is the tool for you. Just remember to respect other's intellectual property.

Note

Silverlight Spy is available as a free trial download and will automatically install locally on your machine. You can download the Silverlight Spy trial at: http://firstfloorsoftware.com/silverlightspy/download-silverlight-spy.

When running, Silverlight Spy looks like this:

Expression Design

Expression Design is a vector graphics tool, and the ideal companion application to Expression Blend. If you're familiar with other vector drawing tools, Design, illustrated in the following screenshot, will look familiar to you:

Indeed, Expression Design bears many similarities to other vector graphic tools, but its tight integration with XAML sets it apart. With Design, you can create graphics to use in your Silverlight applications, either by exporting the artwork to XAML, or by selecting elements and choosing Copy XAML from the Edit menu.

Expression Studio 3, includes Blend and Design, as well as Encoder, and Web. This suite package is available for purchase by MSDN subscribers with Visual Studio Professional MSDN Premium, and higher. For details, check out: https://msdn.microsoft.com/en-us/subscriptions/securedownloads/default.aspx.

Expression Encoder

Expression Encoder is a multimedia conversion and rudimentary editing tool. Silverlight supports certain media formats natively, and encoders can convert a wide array of video file formats into file formats that Silverlight supports.