I'm a GIS analyst hoping to upgrade to GIS Developer some day. I hope to make this switch for a few reasons:

  • I think I can earn more money as a developer (generally true?).
  • I'm tired of scrubbing data and other mundane aspects of analysis.
  • I love programming. Currently I do as much work as possible with Python.

The direction of development that interests me is for Windows/desktop applications, since this is what I know and work with the most. I'd like input into which direction to pursue to be as marketable as possible. So should I focus on ArcObjects or ArcGIS Runtime? ArcObjects seems very popular, and between ArcObjects and Runtime there are far more questions for ArcObjects here on this site. But is Runtime going to eventually be a replacement for ArcObjects? Is it generally superior and just needs to catch on? In the job market for GIS development currently, which will be best? Or should I focus on a something completely different to become a developer that I'm not even aware of?

closed as primarily opinion-based by Vince, blah238, Chris W, Chad Cooper, PolyGeo Jul 9 '15 at 0:29

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    In the end they are the same thing. Both use the same API. With 'ArcObjects' you start with ArcGis and get a reference to your running application, conversely with Runtime you start with a blank slate... which you can do with 'ArcObjects' install. Why the difference you ask, Runtime is a cheaper license because you don't get ArcGis with it. – Michael Stimson Jul 9 '15 at 0:12
  • 1
    @MichaelMiles-Stimson you may be confusing ArcGIS Runtime with ArcGIS Engine. ArcGIS Engine is based on ArcObjects while ArcGIS Runtime is not. – blah238 Jul 9 '15 at 0:14
  • 1
    @blah238 my mistake. Yes I did get the two confused. Sorry Emil. It looks like Runtime is for Web/mobile applications where Engine/ArcObjects is for desktop applications... so I guess you need to decide if you want to be a web/mobile developer or desktop application writer. Good arguments could be proposed for both sides. If you want to 'play' with ArcObjects download Microsoft Visual Studio Express 2010 (free, but registration required) and install the SDK, make a desktop plugin and see how you like it. – Michael Stimson Jul 9 '15 at 0:18
  • 1
    I recently applied for a job that specifically mentioned arcobjects developer as the primary skill. Now I've been developing tools in ArcObjects since 2000 so felt reasonably confident that I had the skills for the post. Did not get it they wanted someone with arcserver skills... So you are damned if you do and damned if you don't. – Hornbydd Jul 9 '15 at 0:20
  • 1
    I think Runtime can also be used for desktop development: esri.com/software/arcgis/runtime/features – Emil Brundage Jul 9 '15 at 0:20

These types of questions almost invariably get closed as "primarily opinion-based", but I will say that it's going to be much more difficult and take much more time to learn ArcObjects than Runtime, especially when you take into consideration that in either case you will also have to learn a new programming language and framework (e.g. C# and .NET).

ArcObjects is close to 20 years old, is absolutely huge, and is based on COM which is itself an arcane monstrosity. ArcGIS Runtime is much more recent and meant to be much simpler to pick up and use, without all the baggage that comes with ArcObjects, and although it is not going to be nearly as flexible, it does support more platforms than ArcObjects.

I don't know what the adoption rates are for the two, but I doubt Runtime is going to "take off" in any big way, and likewise, ArcObjects is not going to disappear anytime soon, though its popularity is certainly waning.

It really all depends on what you want to do, who you want to work for and what they need, and how much you are willing to dedicate yourself to learning a whole bunch of new stuff.

Also I think you are definitely limiting yourself by choosing between these two libraries. There are lots of other ways to become a "GIS Developer", whatever that means.

My suggestion would be to get on some of the job sites out there and survey the types of jobs, industries and companies you are interested in to see what skills and experience they demand.

And if you just want to get started with one of the two, start with Runtime because it's going to be a lot easier, and some of the knowledge will likely be transferable over to ArcObjects if you do decide to start learning that as well.

  • 1
    Thanks for the answer - it all sounds like good advice. And you made it just under the [on hold] wire. – Emil Brundage Jul 9 '15 at 0:36
  • Can anything replace ArcObjects one-for-one? (I'm sure something will, eventually) From an enterprise perspective, what can top it? A lot of the new stuff from Esri seems to be focused more on the end-user experience of providing a slick and modern interface, but the people who create and maintain the data aren't concerned with that. We just want a fast, lightweight, powerful machine (which ArcMap may not be the best example of) to do what we need it to without complaint. Is anything on the horizon, or existing now, that can fill that roll? I don't see Runtime as doing that, at least not yet. – Dan Jurgella Jul 9 '15 at 1:06

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