lesley bross, august 29, 2010 arcgis 10 add-in glossary

19
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

Upload: imogene-mitchell

Post on 27-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

Lesley Bross,August 29, 2010

ArcGIS 10 add-in glossary

Page 2: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

Glossary

add-inAPIArcObjectsassemblyCLRCOMC#.dllIDE

.NET frameworkobject-orientedprojectreferenceSDKVBAVisual BasicXML

Page 3: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 4: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 5: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 6: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 7: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

CLR

• Common Language Runtime• Foundation of the .NET framework• Handles low-level execution environment for code• Common between C# and Visual Basic

Page 8: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 9: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 10: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

.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

Page 11: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 12: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

.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

Page 13: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 14: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 15: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 16: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 17: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 18: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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

Page 19: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary

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