8

Background:

A client is looking to upgrade an ancient ArcIMS site, which is quite complex. It has a table of contents, the ability to change symbology on-the-fly, print the map, use spatial bookmarks, identify the "active" layer, export data, etc. It's almost like an online version of ArcView 3.

They wish to upgrade to ArcGIS Server 10, and are seeking recommendations on which of the ArcGIS Server APIs to use.

I'm most familiar with the ArcGIS Server JavaScript API, so I don't know whether the Flex or Silverlight versions would offer advantages over the JS API.

  1. Is there a point of complexity after which the JS API no longer makes sense, and a plugin would offer easier development and better performance?
  2. Is it easier to develop a complex application (as described above) using Flex or Silverlight?
  3. Are there any online examples of very complex ("ArcView-like") sites built on the JavaScript API?
4
  • 4
    Stick to what you know.
    – Mapperz
    Commented Jun 10, 2011 at 2:52
  • 1
    A plugin makes more sense when it can do something Javascript cannot. That being said, I'm only familiar with the SL and Flex APIs, so I can't honestly compare them to the JS API. Of the things you listed, changing the symbology is the only thing I'm not sure that the JS API can do (the others should be trivial if you're handy with JS). If you can find out whether that's easy with the JS API, I'd say go for it. Commented Jun 10, 2011 at 4:11
  • 1
    @Mapperz if I did that I'd never learn anything new! @Michael thanks for the tips. You can apply a renderer when using a feature layer only (not a dynamic or tiled layer) according to help.arcgis.com/en/webapi/javascript/arcgis/help/… Commented Jun 10, 2011 at 6:04
  • 1
    can the client be swayed to move away from the one size app fits all, and start looking at dishing out multiple focussed apps for specific purposes?
    – jakc
    Commented Nov 28, 2012 at 12:47

3 Answers 3

4

1) I would argue that it depends more on what the intended users are running on the client side, when building web applications for use inside an enterprise intranet you typically have control over the OS and browsers, plug-ins etc, the users can use. But if you are targeting users on internet you can only make assumptions based on statistics. Javascript is the best option to target most platforms. If you are used to working in a Microsoft environment with Visual Studio and have control over the environment, I would suggest switching to Silverlight, because it has the same programming model as WPF and WP7.

2) It depends on how the applications are built. If you write code using best practices etc. the code will be easy to maintain regardless of language or technique.

3) Have you checked the ESRI samples, does it cover everything you want to do? Otherwise check out the Silverlight or Flex samples, do they provide better support for what you need to do?

1
  • Thanks for the tips - makes sense. Re: checking the ESRI samples, I'm confident that JavaScript can do each of these things individually - where I'm less confident is whether it can do them all in a single app. That's why I'm hoping to find a sample of a well-written JS app which is complex Commented Jun 12, 2011 at 6:24
3

I'd say it all depends on what you are most comfortable coding and if you have the available software like Flash Builder 4.5 to make a great Flex app. using the Flex API. I'd also take into consideration how good the documentation is on each choice, and how much discussion is facilitated on the various forums for each API as well. It really comes down to your preference though, as anything is possible with any language given enough time and money, much like everything else in life.

0

This question is somewhat out-of-date given the advent of the ArcGIS WebAppBuilder, which does out-of-the-box tasks which would have taken extensive development in 2011, when I first asked this question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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