??? ArcGIS API for WPF??? or ???Hosting the ArcGIS Windows Form Control in a WPF window???

2290
6
12-08-2011 07:49 AM
yangzishe
New Contributor
We develop a stand-along application with WPF. The application will run on laptops without internet access. The map files will be stored locally.

It seems there are two solutions of using WPF with ArcGIS.

1, Use ArcGIS API for WPF;

2, Use ArcGIS Engine controls, which are Windows Forms controls, in a WPF environment. The WindowsFormsHost control will be used as a container.

Could you please advise which one fit our project?

Thanks!
0 Kudos
6 Replies
RichardWatson
Frequent Contributor
I'll take a stab at a response.  Fellow developers, please correct me if my understanding is not correct.

I think that you have to go with the Engine solution because I believe that both the Silverlight and WPF solutions require ArcGIS Server, i.e. they were not developed (as of yet) to support disconnected situations.

FWIW, I believe that in 10.1 there is the new ArcGIS Runtime which provides an alternative to Engine.
0 Kudos
yangzishe
New Contributor
Thanks! All examples of the new api for wpf I can have found need a ArcGIC Server. I am not sure if it is true or not. If the ArcGIC Server is need for the new api, certainly I can not use it.

I'll take a stab at a response.  Fellow developers, please correct me if my understanding is not correct.

I think that you have to go with the Engine solution because I believe that both the Silverlight and WPF solutions require ArcGIS Server, i.e. they were not developed (as of yet) to support disconnected situations.

FWIW, I believe that in 10.1 there is the new ArcGIS Runtime which provides an alternative to Engine.
0 Kudos
MichaelBranscomb
Esri Frequent Contributor
Hi,

Currently, with ArcGIS 10.0 for fully offline work your main option is ArcGIS Engine and the WindowsFormsHost control. Or alternatively, if your solution is going to be intermittently connected and you want an edit synchronization framework you could look at ArcGIS Mobile and again the WindowsFormsHost control.

As per Richard's post, we're working on a full WPF solution called the "ArcGIS Runtime SDK for WPF". This SDK is designed to work with both online services from ArcGIS Server (on-premise/cloud) and offline local content for mapping, search/query, editing, geocoding, and geoprocessing. This will enable you to create WPF applications which are completely disconnected but also you can write applications which are partially/intermittently connected or fully connected too.

there are some introductory videos you can watch here: http://video.arcgis.com/tag/639/arcgis-runtime

We're just about to release Beta 2 of the ArcGIS Runtime SDK for WPF so now is a great time to join the beta community if you're not already signed up. You can start here: http://beta.esri.com/community/. The first version of this product will be shipping around the same timeframe as ArcGIS 10.1 next year.


Cheers

Mike
0 Kudos
RichardWatson
Frequent Contributor
Mike,

I have a conceptual question about the ArcGIS Runtime.

For Engine, Desktop, and Server it is possible to customize the system using low level (fined grained) ArcObject APIs. 

Is there any similar provision for ArcGIS Runtime?

Essentially, do you have an extension mechanism which runs in disconnected environments which allows a non-ESRI developer to access ArcObjects?
0 Kudos
MichaelBranscomb
Esri Frequent Contributor

For Engine, Desktop, and Server it is possible to customize the system using low level (fined grained) ArcObject APIs. 

Is there any similar provision for ArcGIS Runtime?

Essentially, do you have an extension mechanism which runs in disconnected environments which allows a non-ESRI developer to access ArcObjects?


Richard,

The ArcGIS Runtime SDKs do not allow you to access ArcObjects in a disconnected environment. The current point for extensibility is Geoprocessing, including support for Python scripts. However, on the longer term roadmap, we are considering an extensibility framework for the ArcGIS Runtime ideally based on an "add-in" model which would continue to support the simple Xcopy-style deployment story.

Cheers

Mike
0 Kudos
RichardWatson
Frequent Contributor
Thanks for the response Mike.  I appreciate it.

I think that the ArcGIS Runtime is really cool.  I like the idea of being to run it against ArcGIS Server or in a disconnected mode using functionality on the local system.  I also really like the architecture in that it forks off requests to multiple processes, i.e. it issues asynchronous HTTP requests that can be processed locally.  This will work well with Windows 8.

As an application developer what I want to do is to be able to add application specific coarse grain APIs to the set of functions exposed out.  Today I can do that using an SOE in conjunction with ArcGIS Server.  The thing that I'd like to be able to do is to leverage that work in the ArcGIS Runtime locally.  I ask for that because having to develop a custom set of libraries/add-ins for the runtime is expen$ive.  Perhaps this is not possible but if GP works then alot of the core infrastructure must in place.  I have a dream that one day I will be able to write code for the ESRI platform that works across the various technologies you offer.
0 Kudos