Which ArcGIS Server API or ADF Should I Choose?
December 1, 2009 6 Comments

One of the most common questions I receive from clients lately is: “Which API should I use?” Unfortunately it is not a simple answer; ESRI provides three APIs and two ADFs which include; JavaScript API, Flex API, Silverlight API and the .Net and Java Web.ADFs. I answer the question with a combination of questions needed to isolate the answer. For example:
What version of ArcGIS server are you running?
- The ArcGIS APIs are only supported at the 9.3 version. Any version bellow ArcGIS Server 9.3 would require the Web.ADF.
Is browser plug-ins an option?
- ArcGIS Server APIs for Flex and Silverlight require browser plug-ins. If your application cannot require a plug-in, the JavaScript API or one of the Web. ADFs will need to be your choice.
- The ArcGIS Server API for Flex requires the Flash plug-in, which 99% of Internet clients seem to have. The Silverlight plug-in has not yet reached the same level of ubiquity, but can be expected to gain ground. Plug-ins come in different versions, which may also present a hurdle in getting end users to experience the Web site in the way you expect. If you choose to use Flex or Silverlight, it is wise to consider how flexible you are to upgrade plug-in versions. The ArcGIS API for Flex requires Flash Player 9 or above. The 1.0 release of the ArcGIS API for Silverlight requires Silverlight 2 or above.
How quick do you want to get it done?
- Web.ADF out-of-the-box is the fastest way to deploy, followed by Flex, JavaScript, and then Silverlight. To get a client jumpstarted they have the following options; the sample Flex viewer template can be downloaded and configured using an xml file. JavaScript can be added to an html page and edited using note pad. Silverlight requires Visual Studio and Expression Blend and the sample template has some quality issues.
Which platform are your developers most comfortable with?
- Many beginning developers find the JavaScript and Flex easier to learn than the Web.ADF or Silverlight, but Silverlight and ADF have the power of the .NET framework behind it. I suggest choosing a platform that your staff already knows and can save you ramp-up costs. However, we are seeing a lot of community based support for the Flex API, lots of contributed samples and code snippets. We expect to see the same sort of community support for the Silverlight API as well. Additionally, the .NET ADF can become fairly heavy if a lot of customized functionality is needed. This can impact performance.
What Integrated Development Environment (IDE) is needed?
- When you choose an API, you are also making choices about the environment where you’ll spend your time coding. Flex developers use Adobe Flex Builder 3. .Net and Silverlight developers use Visual Studio or Visual Web Developer Express. Expression Blend is another option for Silverlight developers. Java developers use Eclipse or NetBeans. JavaScript programmers probably have the most choices, including the option to just write code in a text editor. Cost of the IDE may also a factor.
Do you need to edit features over the Web?
- GISi already has a limited editing framework for the APIs. The .Net and Java ADFs offer access to fine-grained ArcObjects, which can be used to edit feature geometries. The ADFs contain out-of-the-box tasks for basic Web editing operations. If you need to build an application with Web editing fast and now, go with the ADF. More editing features are planned for the JavaScript, Flex, and Silverlight APIs at the release of ArcGIS Server 9.4 in 2010.
What is the industry trend?
- I’m definitely seeing a trend away from the ADFs and towards the APIs. Out of the APSs it’s a close race. Flex has come out of the gates fast and has a bit of a lead on the others, but Silverlight has Microsoft behind it and ESRI is definitely working close to Microsoft.
After answering questions like these, the clients usually have a clear answer. Several of my answers might be subjective, so I try to keep my personal perspective or opinion and desires out of the equation, unless asked directly.
Dear Mr.Michael
firstly i would like to thanks for your vision ,its open to me big door about Esri products thats encouraged me to ask you Some outstanding questions about gis system design stratigy .im working with cosit-iraq (specialized in statistical processes concerning with population) .
we now putting system design for gis center to give services for population project at 2010 . my quistion is “im pushing our teams to use web application more than desktop” but they refused this opinion ,they told me we cannot make editing over the web application?! can you give us clear answer about it .
Best Regards , (sorry for My language is weak in english)
khalid
Administrator Server-based on mapping System
Khalid,
Thanks for the comment. Yes you can edit over the web using ArcGIS Server Standard 9.3.1. The most straight forward approach is using the edit tasks for the ADF. GISi uses web services for editing when using the API’s. ArcGIS Server 9.4 should support editing for the API’s (REST Editing). Web editing tools are not as robust as Desktop. Hope this helps.
Michael, What is your personal opinion on it. You can directly mail me your answer if you choose to. I am in a sort of jack of all position right now, having worked on javascript, .adf and apis being the way we are headed.
Personally, go with Flex, Silverlight or JavaScript API. I think the web adf is looking forward to retirement.
Thanks Michael, i was thinking of either Flex (because, most of the samples i found are for flex) or Silverlight (because ESRI is working close with Microsoft).
Thanks Michael for your thoughtful insight. Since Flash is not yet supported on iPhones and iPads, I’m assuming that the Flex API wouldn’t work on these either. Is that correct?