Silver Light API :
Microsoft released Silver light 2 recently. The new API has features like .NET framework support, rich controls like Datagrid, List Box, Scroll viewer, Slider and calendar controls. Deep zoom: This enables unparalleled interactivity and navigation of ultrahigh resolution imagery.
We have already seen some of these new features used. Richie Carmichael developed a nice Microsoft Silverlight Map Viewer For ArcGIS Server 9.3. Microsoft Silverlight 2 will be available for download from http://www.microsoft.com/silverlight and if you have already been using Silverlight you will automatically updated.
Richie has a full write up about this new map control. You can find his write up here. Albert Pascaul has written about Using the ESRI Javascrip API as the silver light control SDK .
ESRI resources on Silver Light API is here
2) One major difference here is that you have to make reference to the dojo.for Each class in the header script for your application. With flex you can simply write the for each loop and not have to write any includes statement; the code that allows you to write the for each loop is in the flex library that you include in your flex project. Similarly, you have to find and include references for each component in the framework that you would like to use.
3) Developmentally speaking, Flex is hands down the winner (when developing with Adobe’s Flex Builder or Flex Builder Pro. Note that you don’t have to use the adobe developmental products, but it makes development fun!). Flex Builder has integrated support for CSS, component drag-and-drop, code collapse, auto completion, top-notch debugging tools and a profiling tool that allows you to gauge the performance of your application, capture data snapshots and identify areas where you can implement code and memory saving techniques to limit the number of object instantiations.
4) The dojo toolkit is poorly-documented. Half the time the web site with the api listed on it doesn’t even work. The flex framework is open-source, but it is privately-maintained by the Adobe company. If you are building applications that will replace an old IMS application or something like that, I have greater trust that a the flex framework will be better supported and be better integrated into whatever comes after flex then whatever the open-source equivalent is. Plus, the flex language reference, flex api and example snippets are all VERY instructive. Even the people who wrote dojo acknowledge that it is a work in progress, and the api has changed many times in the past year or so.
I guess the big difference here, for me, is the fact that the flex framework was developed privately and then released to be open-source. Dojo is intrinsically trying to develop from an open-source perspective. The result is a mess!
5) Object orientation of your code is easier with flex. If your application is a larger application and you need to encapsulate functionality in a series of objects, flex is the way you should go. To be sure, the dojo toolkit offers you the ability to develop an object-oriented application, but the management of the objects in flex builder as well as the testing and debugging functionality make life a lot easier. Unit testing is much easier with the flex unit testing framework (from adobe), then whatever dojo has going on.
But finally one big reason to go off the Web ADF. It uses the post back model and doesn’t work on ASP.NET MVC. Callbacks is eliminated when we use JS API and provides easy mechanism for the developer.
Cast your vote now ; and your answers will certainly matters a lot.