Upload
imogene-mitchell
View
213
Download
1
Embed Size (px)
Citation preview
Lesley Bross,August 29, 2010
ArcGIS 10 add-in glossary
Glossary
add-inAPIArcObjectsassemblyCLRCOMC#.dllIDE
.NET frameworkobject-orientedprojectreferenceSDKVBAVisual BasicXML
add-in
• New ArcGIS 10 feature for desktop developers/users• Allows packaging of a collection of customizations (toolbars,
menus, windows, etc.) into a single file• Doesn’t require installation or COM registration; Uses ArcGIS
add-in manager• Created with XML configuration files along with .NET or Java
implementation classes
API
• Application Programming Interface• Many software packages provide an API for developers to
customize the software• API authors expose selected items; Usually not everything• Most API’s are published; They serve as a dictionary for
developers; Start here• ArcObjects is an API for ESRI software
ArcObjects
• The API for ArcMap software• Available for both client and server• Many different languages
– VBA (soon to be retired)– C++– Python– .NET (C#, VB)– Java– Web clients (Javascript, Silverlight, Flex, etc.)
• Different languages expose different elements; None expose everything
assembly
• A compiled group of .NET code modules that can be used by client programs and built upon by developers
• Compiled means humans can’t read it• Also known as libraries• ESRI provides assemblies to be used as the foundation for
customizations
CLR
• Common Language Runtime• Foundation of the .NET framework• Handles low-level execution environment for code• Common between C# and Visual Basic
COM
• Component Object Model• Software components using this model can
communicate with each other• Predecessor to .NET but .NET can still use COM
components• ArcObjects COM API exposes more functionality
than add-in• Pure COM model requires components to be
added to registry; Add-ins do not
C#
• “see-sharp”• Developed by Microsoft as alternative to Java• Part of the .NET framework and an option for
developing ArcGIS add-ins• Commonly used in large enterprise environments
(ArcGIS server)• Syntax is familiar to developers with C and Java
programming experience
.dll
• Dynamic Link Library• Microsoft’s shared library (assembly)
implementation• “helper” components• ArcObjects provides .dll’s• Add-in files include customized .dll’s• This is compiled code that can’t be read by
humans
IDE
• Integrated Development Environment• Most developers use an IDE when programming• IDE’s for add-ins are Visual Studio, Visual C#
Express, or Visual Basic Express• Provides functionality to aid development
– Intellisense code completion– Wizards and templates– “snippets”– Compilation– Integrated debugging– Packages add-ins for other users
.NET framework
• Development environment used to create programs and components for Windows
• C# and Visual Basic are examples of .NET languages
• ArcObjects is a library of COM components that can be accessed by the .NET framework
object-oriented
• Programming model where objects work together to accomplish a task
• Objects have properties and methods (adjectives and verbs)
• Objects can inherit from other objects• C# and Visual Basic .NET are object-oriented
languages• This is a very, very simplified definition
project
• The files for an add-in are stored together in a project
• Projects have a set of configuration files that define them. These configuration files include references
• Both C# and Visual Basic use the concept of projects
• Every customization starts with a project• ArcObjects provides wizards so that projects are
set up correctly according to the developer’s intentions
reference
• Add-in projects will have a set of references to ArcObjects assemblies
• These references are version-specific (9.3.1 vs 10.0)
• References are configured in the IDE as part of the project
• These references allow the custom code to locate and interact with existing ArcObjects code
• Never re-write what you can reference and re-use
SDK
• Software Developer Kit• Many software packages provide an SDK for developers to
customize the software• Includes the API along with help files and programming
samples• The ArcObjects SDK integrates with an installed IDE to simplify
ArcObjects development• Install the SDK for the language you wish to use
VBA
• Visual Basic for Applications• Built-in customization language of ArcMap
desktop • Starting in version 10.0 must be installed
separately• Not truly object-oriented• Most code can be “converted” to VB .NET through
a series of steps• Microsoft ended support in 2008
Visual Basic
• Part of the .NET framework and a language for developing ArcGIS add-ins
• Object-oriented programming language• May be ‘easier’ to use than C# depending on
experience• Syntax is familiar to VBA developers
XML
• Extensible Markup Language• Designed to store and transport data• XML documents can be validated against a
schema• Metadata for add-ins is contained in an XML
configuration file• This configuration file describes declarative part
of the add-in including captions, tooltips, help, languages, and initial details
• ArcGIS wizards maintain this file but it can be manually edited