The first version (1.0) of the ArcGIS API for Microsoft Silverlight/WPF was released by ESRI in July 2009 after a few public beta versions earlier this year.
I first downloaded and played around with the first beta version at a hotel in Las Vegas a couple of days before the ESRI Developer Summit in Palm Springs in March. It was really simple to get started with the new API, especially since I had worked with Silverlight previously.
During the developer summit it was a lot of sessions and a lot of fuzz about the new API and I must say that I think ESRI done a really good job with this API. They have made it really easy to use which is good (unlike the WebADF). They have also sorted out the bugs found during the beta process so the released first version is very stable and work very well. There are however a few important things missing still but that has more to do what the ESRI REST API exposing rather than the Silverlight API. Most of the things I am missing will hopefully be implemented in ArcGIS Server 9.4 so let me come back with that list after the 9.4 release. One major thing that is missed however in Silverlight (not just the ESRI API) is good printing capabilities and I was a bit surprised that Microsoft didn’t include this in Silverlight 3. I have been told that it will be included in the next version of Silverlight (4) which is good. There are however workarounds for printing right now (like using the WriteableBitmap API) but I think there should be an easier way of doing this.
So getting started with Silverlight and the ArcGIS API for Silverlight/WPF is very easy like I mentioned before. ESRI have done a good job helping developers getting started. I have listed a few software below that might be useful when you get started with Silveright and the ESRI API.
Software requirements
You need to have at least these three key components downloaded and installed on your computer in order to build map applications with the API:
- Visual Studio 2008 sp1 or
Visual Web Developer Express sp1.
-The latter one is free and can be downloaded here.
- Silverlight Tools for Visual Studio (or VWD)
-This installs all you need to get started with Silverlight on your machine such as the Silverlight runtime, the Silverlight SDK, Tools and templates for VS etc.
- ESRI ArcGIS Server Silverlight/WPF API
-This is the actual API from ESRI and it is just a ZIP file that you can extract wherever you want on your machine. It contains the dll'a you need to reference from your Visual Studio project. You must log in with your global ESRI user in order to download the API.
Once you have installed the three components above you are ready to build your mapping applications with Silverlight and the ESRI API. You could in theory use other applications instead of VS2008 or VWD but I can't see why you would want to do that..
There are additional tools that you probably will find really useful when designing and writing your Silverlight applications:
ESRI ArcGIS Silverlight Toolkit
-Includes source code and libraries for the ESRI ArcGIS Silverlight Toolkit SDK.
ESRI Silverlight API Contrib
-A codeplex project that adds additional functionality to the ESRI Silverlight API. It has been created by: http://viswaug.wordpress.com/
Expression Blend
-This is the design tool for Silverlight and WPF. You can download a free trial version of it but after it expires you need to pay for it (around 600 dollars for Expression Studio)
Sketchflow
-Sketchflow is a tool that allow you to sketch your applications before you start writing them. Once you have come up with an workflow of the application the sketch can easily be transformed to code.
Silverlight Toolkit
-This is a codeplex project with a bunch of controls for Silverlight. It includes all the source code so that you can go through and take a look on how they written the tools.
Deep Zoomer Composer
-This is a tool that allows you to prepare your images for use with the Deep Zoom feature in Silverlight 3.
.NET RIA Services
-Enables you to work with .NET RIA Services which is an excellent way of bringing together Asp.NET and Silverlight.
Fiddler
-Fiddler is an excellent tool to see what is going on between your client and the server. It helps you troubleshoot issues that might come up when working with Silverlight.
Build your first application
ESRI have created a really good video that explain how to get started with the Silverlight API: http://resources.esri.com/help/9.3/arcgisserver/apis/silverlight/help/index.html (under getting started)
It explains how to get started and how to build your first application with the API. Once you have done that you can then start to play around with the API and look at all the good samples from the ESRI websites which will teach you how to do most basic things you want to do such as adding different types of data, create tools, overview maps etc. This is a great first place to look at and get to know how to build your application using the API.
If you do have questions along the way or want to have something explained you can post your questions on ESRI’s Silverlight forum where people are very helpful. You can also find interesting samples in the code gallery which might be useful to look at.
This just show you have to get started with the Silverlight applications but the workflow is almost the same if you want to build a Windows Desktop WPF application instead. You can work with the API both in Silverlight 2 or Silverlight 3 but I recommend you to work with Silverlight 3 if possible.