lesley bross, august 29, 2010 arcgis 10 add-in glossary
TRANSCRIPT
![Page 1: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/1.jpg)
Lesley Bross,August 29, 2010
ArcGIS 10 add-in glossary
![Page 2: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/2.jpg)
Glossary
add-inAPIArcObjectsassemblyCLRCOMC#.dllIDE
.NET frameworkobject-orientedprojectreferenceSDKVBAVisual BasicXML
![Page 3: Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/10.jpg)
.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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/12.jpg)
.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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022072011/56649e375503460f94b27241/html5/thumbnails/19.jpg)
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