Skip to main content

Key Concepts

Have you explored the VertiGIS Studio Mobile Designer?

The VertiGIS Studio Mobile Designer allows you to edit your application's layout, configure custom behaviors for buttons and other UI components, and solve complex business problems through VertiGIS Studio Workflow. Many use cases can be solved through the VertiGIS Studio Mobile Designer and don't require custom development.

Applications

The core element of the VertiGIS Studio Mobile Framework is an Application. Applications are composed of three main pieces:

1. Layout XML that represents the visual layout of the application

<?xml version="1.0" encoding="utf-8" ?>
<layout xmlns="https://geocortex.com/layout/v1">
<map config="default" />
</layout>

An layout is composed of components, such as a <map>, which are the conceptual building blocks of an application. Components can define their own UI, consume configuration, and can be nested and interact with other components.

Every component can have a config attribute; this attribute links a layout component to the app config.

2. App Config JSON for the application

app/app.json
{
"schemaVersion": "1.0",
"items": [
{
"$type": "map-extension",
"id": "default",
"onInitialized": [
{
"name": "ui.alert",
"arguments": {
"message": "Hello World"
}
}
]
}
]
}

App Config files describe component configuration and other values relevant to application behavior. An app config file is composed of a list of app items. App items can correspond to components in the layout, portal items, or any other defined item type.

3. The VertiGIS Studio Mobile code which renders the layout and powers functionality

The VertiGIS Studio Mobile Framework consumes layout and app config to create fully functional mobile-ready mapping applications. You can use this framework out of the box, or extend it using the VertiGIS Studio Mobile SDK.


These three pieces are the building blocks of an application, with the layout.xml and app.json files being the driving forces that control how an application looks, how it responds to user interaction, and what data it consumes. Extensive customization can be done simply by modifying these two files, without requiring any custom code.