We are building a spatial application targeted to laypeople which will involve viewing and editing vector geodata (currently just points, but linestrings and polygons in the future) with a raster underlay. We'll deploy both web and mobile (iPhone now, Android and perhaps others later) versions. The server is a custom app we are writing, and there are no ESRI products on the server side.

My question, therefore, is: How do we choose which client-side mapping toolkit to use? I'm aware of the following options, are there others?

  • Google Maps API or similar (Yahoo, MapQuest, etc.)
  • OpenLayers (does it work on mobile browsers?)
  • ESRI's web/mobile APIs

We are particularly interested in the pros/cons of the ESRI APIs under this scenario. Our company does have some kind of relationship with ESRI, though I know nothing about the details (and our group currently has no involvement with ESRI or ESRI products).

  • 2
    I'd check and see if "some kind of relationship with ESRI" means you already have a license for ArcGIS server. I think that would be a factor in choosing a toolkit. Mar 31, 2011 at 15:45
  • @Kirk, that's a good point. In our case, we won't be using Arc server stuff because our server app works nicely on top of a standard OGC spatial database, not to mention our total lack of expertise in Arc. :)
    – Reid
    Mar 31, 2011 at 17:04
  • What sort of programming do you do in your shop (java, .NET, python, etc.) ? Mar 31, 2011 at 17:07
  • I'm with Kirk, figure out what kind of relationship you have with ESRI, then I'd check with your team to see what they're using. You may be able to use something like geoserver or openlayers to build and host a WMS, but beyond that I'd imagine that how you get that fed to the client mobile device is dependent on what you want to code in: developer.android.com/index.html I'm investigating droid currently, but I work against ArcServer and will most likely need to use the Javascript API for portability sake.
    – Luke
    Mar 31, 2011 at 17:18
  • @Kirk, we have Ruby on Rails on the back end (this is already in progress), and we also have lots of web dev expertise (JavaScript and all that) as well as some iOS expertise. Right now on the front end we have a prototype using (I believe) mapping stuff that comes with Xcode. It appears to be Google Maps-based.
    – Reid
    Mar 31, 2011 at 18:41

2 Answers 2


The Esri APIs are definitely geared toward working with ArcGIS server but it is technically possible to develop your own server side solution that would work with the client APIs for Esri's REST API. Take a look at the GeoServices REST spec. For editing points, you would implement feature service which is section 9 in the spec.

Your raster layer(I'm assuming it is tiled) could be implemented as a custom layer. There are a few JavaScript samples out there showing how to do this:

  • For information, Openlayers has been updated recently to work with mobile devices. You can test it by yourself browsing examples ;
  • Tile5 is a young project based on top of html5. Maybe not yet ready for production because of compatibility issues but appears to be really promising and it is developed for mobile devices. But not a good solution for older browsers.

How do we choose which client-side mapping toolkit to use?

Depends of many criterion : The money you can put on development, your opinion regarding free software, your target, the robustness of the solution you are looking for, the support you want, browser compatibility and so on ....

(Sorry, I don't know about ESRI webmapping products)

Not the answer you're looking for? Browse other questions tagged or ask your own question.