Some good news on Pro SDK learning resources – a number of informative videos have just been posted online this week -- Dev Summit sessions and a new Live Training Seminar recording.
The 2016 Esri Developer Summit technical sessions are now available on the Esri E380 website, and there are four excellent Pro SDK session recordings available. These presentations were given by the actual Desktop SDK Team, so you are getting some excellent instruction from the authorities on the Pro SDK. Here are each of the sessions available online with links and descriptions:
- ArcGIS Pro SDK for .NET: Programming Patterns
- Learn how to write add-ins for ArcGIS Pro. We introduce the ArcGIS Pro SDK for .NET. We cover declarative programming with DAML and the Pro UI Elements. We delve into Pro’s new asynchronous APIs learning how to use async and await and Pro Framework’s QueuedTask.
- ArcGIS Pro SDK for .NET: Editing and Geodatabase Integration
- Learn how to write construction and editing tools in Pro. We customize both the DAML and code-behind to integrate custom construction tools into the Pro Editor and layer Create Feature templates. We introduce edit operations for creating and modifying Geodatabase features.
- ArcGIS Pro SDK for .NET: Integration with ArcGIS Online
- Learn how to write ArcGIS Pro add-ins that take advantage of Pro's integration with Portal and ArcGIS Online. Use EsriHttpClient and Json.Net to search and retrieve Online items such as map services, feature services, and web maps and add them to your project. We cover item uploading as well.
- ArcGIS Pro SDK for .NET: UI Design and MVVM
- Learn how to write Add-ins for Pro with advanced user interface components. We focus on MVVM and integration of WPF to write compelling UIs with Pro. We also cover multi-threading considerations when developing UIs in Pro.
- ArcGIS Pro SDK for .NET: Animation and Map Exploration
- Learn about the camera for 2D and 3D and 2D and 3D selection with Map Tools. The second half of the session introduces the new Animation API for Pro.
Also, the recording for last week’s Live Training Seminar on the ArcGIS Pro SDK – “Extend ArcGIS Pro Functionality with Add-ins”, is now available here. The 60-minute LTS provides three short presentations by Rob Burke, of Esri Educational Services. Rob is a long-time veteran of training developers on ArcObjects and ArcGIS Desktop development, and he provides a great introduction to the Pro SDK and asynchronous programming for Pro.
Thanks again to those that attended last week’s LTS and sent in questions. Answers to your questions have been provided below. Keep in mind that you can always check for answers to your SDK questions by searching the post threads on the Pro SDK Group, and also the FAQ page on GitHub. If you can’t find your answers there, feel free to post your question here to the group.
Pro SDK LTS Q&A Recap:
What is the licensing model for development with the Pro SDK?
The Pro SDK comes with each level of ArcGIS for Desktop (Basic, Standard, and Advanced). Developers at each level are able to create customizations that correspond to each of those levels. End users of a customization need to have the appropriate level of ArcGIS for Desktop that is required for the customization. For example, if you were creating a customization with a specific tool that takes advantage of editing a multiuser enterprise geodatabase, you would need a Standard or Advanced level license in order to use that functionality.
What versions of Visual Studio are supported with the ArcGIS Pro SDK?
The current version of the Pro SDK for ArcGIS Pro 1.2 currently works with Visual Studio 2013 and 2015:
- Visual Studio 2013: Professional, Premium, Ultimate, and the free Community edition
- Visual Studio 2015: Professional, Enterprise, and the free Community edition
How do I upgrade to the latest version of the Pro SDK?
You can upgrade either directly through Visual Studio using the Extensions and Updates dialog box and accessing the Visual Studio Gallery, or if you prefer, you can download the VSIX or MSI files from the My Esri website and go through the installation process. It is recommended that you check out the ProGuide page for this topic found on the Pro SDK GitHub wiki, this page is dedicated to installation and upgrades.
Are Pro add-ins supported in a Citrix environment?
Yes, just like with ArcMap add-ins, your ArcGIS Pro add-ins will work in a Citrix environment. All of the supported virtualized environments are listed here at the Pro system requirements page. Also, there is a helpful Pro virtualization whitepaper here.
Can the Pro SDK and the ArcObjects SDK both be installed in Visual Studio at the same time?
Yes, there are no issues with having both of Desktop SDKs installed at the same time.
What are some of the similarities and differences between development with the Pro SDK and traditional ArcObjects?
There are some similarities in developing add-ins between ArcMap and Pro, such as the familiar UI controls such as buttons, tools, dockpanes, etc., and also with the Pro SDK, there are some new controls and patterns, such as in leveraging the ArcGIS Pro ribbon, and asynchronous programming. With this said, the ArcObjects and Pro SDK’s are very different, and so add-in’s for ArcMap built using ArcObjects, and add-in’s for ArcGIS Pro built using the Pro SDK, will be different, and so are not interchangeable. Also, another difference is that ArcObjects uses COM, Microsoft’s Component Object Model, whereas the Pro SDK does not use COM. Finally, the Pro SDK has been built to be efficient and take advantage of the many new capabilities of Pro, and so there are new development patterns unique to the Pro SDK.
Are we able to make ArcGIS Pro extensions with the Pro SDK?
Extensions for ArcGIS Pro are part of the core software from Esri, and most of these extensions require additional licensing, such as the ArcGIS Spatial Analyst. Although there are similarities between Extensions and Add-ins, developers can only extend Pro with add-ins.
How will installation for custom add-ins be handled?
Add-in’s for Pro follow the same “double-click” installation process as Add-in’s at 10.x. Assuming ArcGIS Pro is installed, an .esriAddinX file can be downloaded or copied onto the target machine. Double clicking on the Add-in will install it. ArcGIS Pro also comes with an Add-in Manager that can be accessed off the Project backstage within Pro. The Add-in Manager can also be used to install an Add-in.
What are the best ways to create features using the Pro SDK?
Check out the ProConcepts guides for the Editing and Geometry topics, found directly off of the Pro SDK GitHub wiki. These guides are excellent starter concept guides to show you how to implement particular tasks and patterns. Also, check out the ProSnippets pages for these topics which provide helpful code snippet examples which can show you how to get started with those operations.
What is the best way to get started learning the Pro SDK?
There are a number of great resources found right off of the main Pro SDK landing page, including all of the SDK ProConcept and ProGuide pages, the Pro Snippets, and community samples, also found right off the SDK GitHub wiki page. Whether you’re an experienced ArcObjects developer or new to GIS development, there are resources to help you get started.
There are also Pro SDK technical sessions from this year’s Esri Developer Summit that are available on the Esri E380 site, the four session links are found at the beginning of this post. Also, check out and join the Pro SDK group on GeoNet, where you can connect with other users, ask questions and go through archives of previous helpful posts and question threads, which may find answers to your questions.
We’re also planning a formal Pro SDK course as part of the overall Esri training curriculum which will be available sometime later this year. We will be sending out updates on GeoNet as we get close to the course’s release. In the meantime, here are the top online reference resources for learning the Pro SDK:
Can the Pro SDK be used to run console apps outside of Pro? Will the Pro SDK support stand-alone applications?
At this time, add-ins are built directly off of the Pro application. Many ArcGIS developers may be familiar with ArcGIS Engine, where you could build your own standalone applications with ArcObjects. Right now, there are no plans for an equivalent approach for ArcGIS Pro. With this said, the ArcGIS.Core assembly can be referenced in either an ArcGIS Pro add-in or embedded in a console or WPF app on machines where ArcGIS Pro is also installed. This can be useful for small utility type applications. Check out the ProConcepts CoreHost page for more information.
What are the supported Visual Studio languages with the Pro SDK.
The languages supported with the tools and templates for Microsoft Visual Studio and .NET are C# and Visual Basic. You can find the concepts, snippets and community samples are built around these two languages supported in Visual Studio. Although some of our community samples have been contributed in Visual Basic, most are built in C#, as that is what the Desktop SDK Team uses, and all of these can help guide you with ideas for getting started. The community samples can be leveraged to help you get started with your own add-ins.
Is it possible to create Pro add-ins that access and work with ArcGIS online?
Yes, there is a ProSnippets page that gives examples for accessing ArcGIS Online or a Portal, as well as an ArcGIS Online community sample. Also, there is an excellent Dev Summit tech session available here.
Is there a way to set the priority on a specific function running on a thread?
Yes, it’s possible to use the way that you structure your fine-grained methods in coarse grained functions and then run those asynchronously and use the await operator to control the order and allow you to have control over the sequence and timing of what is happening. You may have a data management function that runs, and you want that function to complete entirely before you proceed with an analysis routine which conducts an analysis on the dataset that was just updated. A helpful Microsoft reference page on asynchronous programming is found here.
Can I sell my Pro add-in on the ArcGIS Marketplace?
We are currently working on this, and we envision that developers will be able to post and sell Pro add-ins.
Is it possible to develop custom geoprocessing tools with the Pro SDK?
It is possible to develop custom geoprocessing tools with Python or ModelBuilder. There is no COM or ArcObjects support in ArcGIS Pro and so custom geoprocessing function tools written with ArcObjects are not supported in ArcGIS Pro. The geoprocessing API in the Pro SDK provides the method ExecuteToolAsync. This method allows you to run any system or custom geoprocessing tool by specifying its name and location, parameters, and environments. More information found here: ProConcepts Geoprocessing.
Will there be Visual Basic documentation and samples developed for the Pro SDK?
There are both Visual Basic and C# Pro SDK templates and references available, although the SDK documentation is primarily being developed for C#. There are some community samples being contributed which use Visual Basic. The Desktop SDK Team is developing the documentation and samples including ProSnippets in C#.
Is there a way to access the Pro SDK without Visual Studio?
Accessing the Pro SDK through Visual Studio is required. If obtaining a Visual Studio license is a concern, you may want to explore the free Community edition of Visual Studio.
Is the Pro SDK development compatible with the Universal Windows Platform (UWP)?
A Pro SDK add-in only extends the existing ArcGIS Pro Desktop application. To develop standalone ArcGIS apps which leverage the Universal Windows Platform, see information on the ArcGIS Runtime SDK for .NET, at: https://developers.arcgis.com/net/