190 likes | 289 Views
ArcGIS 10 add-in glossary. Lesley Bross, August 29, 2010. Glossary. .NET framework object-oriented project reference SDK VBA Visual Basic XML. add-in API ArcObjects assembly CLR COM C # . dll IDE. add-in. New ArcGIS 10 feature for desktop developers/users
E N D
ArcGIS 10 add-in glossary Lesley Bross, August 29, 2010
Glossary .NET framework object-oriented project reference SDK VBA Visual Basic XML add-in API ArcObjects assembly CLR COM C# .dll IDE
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