# Jigx Concepts

Jigx uses concepts, terminology, and elements you might not be familiar with. Below is an explanation of the main core concepts to help you understand and use Jigx better.

## Jigx Solutions

Jigx refers to a native mobile app as a *solution*. With Jigx you can build and publish more than one solution to your Jigx mobile app. You can *switch* between solutions by tapping the *More* ellipsis icon in the navigation bar and selecting your desired solution. The currently active solution is highlighted with a checkmark icon. If only one solution is available, the *More* icon is hidden.

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2Fn1jGxZCauSKhKFLUxcj3%2Fjigx-solutions.png?alt=media&#x26;token=bc0c26ea-c003-4110-a38f-87e65b12daf4" alt="" width="375"><figcaption></figcaption></figure>

## Home Hub

The *home hub* is the first screen you see when you open and sign into the Jigx mobile app. The Home Hub can display navigational menu blocks called *grid-items*, containing *images*, *widgets*, or custom controls. Once you tap on a grid-item, you are directed to a jig, which is a screen used to display various forms of content. The *index.jigx* file ﻿is the place to configure the bottom navigation bar. In addition to grid-items, you can style the Home Hub by adding a [video-player](https://docs.jigx.com/understanding-the-basics/jigx-concepts) or [carousel](https://docs.jigx.com/understanding-the-basics/jigx-concepts) at the top of the Home Hub. For more information, see ﻿[Home Hub](https://docs.jigx.com/building-apps-with-jigx/ui/home-hub) and [Creating a Home Hub](https://docs.jigx.com/building-apps-with-jigx/ui/home-hub/creating-a-home-hub).

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FWX2QnjH7SVTDk4FhqD6x%2Fjigx-homehubs.png?alt=media&#x26;token=c9d49911-640c-4ebf-9976-b0c8831493ba" alt="" width="375"><figcaption></figcaption></figure>

## Jigx Builder

Native mobile solutions are built in Microsoft Visual Studio Code, a development environment installed on many platforms, including Windows and Mac. Jigx extends VS Code with the [Jigx Builder](https://github.com/jigx-com/jigx-docs/blob/main/docs/building-apps-with-jigx/jigx-builder-code-editor/jigx-builder-code-editor.md), which is an extension that allows you to build, test, and publish Jigx mobile app solutions. The **Jigx Builder** extension uses YAML, SQL, JSON, and JSONata. A YAML editor is provided that includes IntelliSense, which allows for code completion by simultaneously pressing the control and spacebar (ctrl+space) keys. Only valid options in the current cursor context are displayed in the code popup. There is built-in [debugging](https://github.com/jigx-com/jigx-docs/blob/main/docs/building-apps-with-jigx/jigx-builder-code-editor/debugging.md) functionality to assist with troubleshooting your development. Predefined code snippets are provided in the .jigx files to help make development easier and faster. The Jigx Builder loads with a [folder structure](https://github.com/jigx-com/jigx-docs/blob/main/docs/building-apps-with-jigx/jigx-builder-code-editor/editor.md) to categorize the various files needed to build app solutions. These folders are actions, assets, databases, datasources, functions, jigs, and translations.

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FXzVq4KYHEDtL03b0l7Z8%2FDebug-1.png?alt=media&#x26;token=a83b5c9a-c233-4499-b7e8-984b146f583f" alt=""><figcaption></figcaption></figure>

## index.jigx file

The *index.jigx* file is located at the root of the Jigx solution project in the Jigx Builder. In the index.jigx file, you configure what must be displayed on the home screen (Home Hub) of your solution on the Jigx mobile app. The file opens with a pre-populated code snippet to help you configure the Home Hub. For more information, see [Index settings](https://docs.jigx.com/building-apps-with-jigx/ui/home-hub/index-settings), and [Creating a Home Hub](https://docs.jigx.com/building-apps-with-jigx/ui/home-hub/creating-a-home-hub).

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FFGmCSNMYNVMM89PuwPN9%2Findex.png?alt=media&#x26;token=d4af9d4b-da72-4bd2-a08f-6f6a862a630b" alt=""><figcaption></figcaption></figure>

## Widgets

Widgets are navigational menu blocks set up on jigs, allowing them to be utilized in various parts of the solution, including the Home Hub and multiple jigs (screens). These widgets are configurable to display various UI elements, such as locations, images, charts, and more. For more information, see [Content widget components](https://docs.jigx.com/understanding-the-basics/jigx-concepts).

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FzBqROPF9CYKHrdE5LFui%2Fjigx-widgets.png?alt=media&#x26;token=3b688b4b-30ab-4e0e-a75d-1f2cdcaba1af" alt="" width="375"><figcaption></figcaption></figure>

## Jig

A jig is a container used to configure content. A jig can be configured as a calendar, a form to capture or view data, a PDF or HTML document, a list of data, or even a combination of any one of these. Usually, tapping on a widget in the [Home Hub](https://docs.jigx.com/building-apps-with-jigx/ui/home-hub) opens a jig. For more information, see [Jigs (screens)](https://docs.jigx.com/building-apps-with-jigx/ui/jigs-_screens_) and [Jig Types](https://docs.jigx.com/understanding-the-basics/jigx-concepts) sections in this guide.

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FpYW9dRCsrgXeDLhf1GWf%2Fjigs-types.png?alt=media&#x26;token=eb0a860e-d248-4081-b9d1-28bf7a383d7e" alt="" width="375"><figcaption></figcaption></figure>

## Components

Components are elements that can be used when creating a Jigx solution in the Jigx Builder. These elements provide an incredible amount of functionality. Components include interactive images, video players, expanders, and charts. For more information, see [Components (controls)](https://docs.jigx.com/building-apps-with-jigx/ui/components-_controls_) and [Components](https://docs.jigx.com/understanding-the-basics/jigx-concepts) example topics in this guide.

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2F8EoxqrKTvrbkVbrmql2G%2FComponentOverview.png?alt=media&#x26;token=05d6a2f4-abe2-40bc-88c1-ee335fd1a9d6" alt=""><figcaption></figcaption></figure>

## Actions

Actions allow you to do something, for example, go back to a previous screen, open a URL, or submit a form. For more information on the available actions as well as code samples for each one, see the [actions](https://docs.jigx.com/building-apps-with-jigx/ui/actions) and [action examples](https://docs.jigx.com/understanding-the-basics/jigx-concepts) sections of this guide.

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2Fkw8tFaTorKAZNvcCUkBT%2Fjigx-actions.png?alt=media&#x26;token=73d19d3a-5c7f-4a13-9f33-3f5bdd44044d" alt=""><figcaption></figcaption></figure>

## Functions

Functions enable integration with other platforms through data providers. Creating a new function using one of the provided template options adds the skeleton code to the function definition, making it easier to configure with their authentication requirements. For more information, see [REST Functions](https://docs.jigx.com/administration/solutions/rest-functions), [SOAP Functions](https://docs.jigx.com/administration/solutions/soap-functions), and [SQL Functions](https://docs.jigx.com/administration/solutions/sql-functions).

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FhQE7B9zXbQEwTVVwi8s2%2Fjigx-function.png?alt=media&#x26;token=cfd11dfe-0d85-4cbb-829f-d98a62995890" alt=""><figcaption></figcaption></figure>

## Expressions

Expressions allow you to structure data before binding it to the UI components. Expressions are **JSONata** language-based. JSONata is a lightweight query and transformation language for JSON data. JSONata is a rich complement of built-in operators and functions providing options to manipulate and combine data. Learn more about [JSONata](https://jsonata.org/) and try out your expressions in their [JSONata Exerciser](https://try.jsonata.org/). The root element of Expressions in .jigx files starts with "@ctx" vs. "$." in JSONata Exerciser (e.g., @ctx.data vs. $.data). Jigx supports shorthand $ expressions for JSONata. For more information, see [Expressions](https://docs.jigx.com/building-apps-with-jigx/logic/expressions), [Expressions - cheatsheet](https://github.com/jigx-com/jigx-docs/blob/main/docs/building-apps-with-jigx/logic/expressions-1/expressions-cheatsheet.md) and [Expression examples](https://docs.jigx.com/understanding-the-basics/jigx-concepts).

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2FUBQqg0OrHt2s9fbZcavB%2Fjigx-exp.png?alt=media&#x26;token=dd807988-c21e-4006-bbcb-a064a9cd6378" alt=""><figcaption></figcaption></figure>

## Datasources

[Datasources](https://docs.jigx.com/building-apps-with-jigx/data/datasources) are sets of data that are available throughout your whole solution (global) or only inside a jig (local). Datasources can be static or dynamic. Jigx **Dynamic Data** is a built-in database that can be used to create, read, update, and delete data in an app. The underlying data store for Dynamic Data is a NoSQL store. This means that each record can have its own field structure, and you can add or remove any fields on a per-record basis. Only the id column is a system column and cannot be changed or removed from the record. Jigx Dynamic Data is managed in Jigx Management. For more information, see [Dynamic Data](https://docs.jigx.com/building-apps-with-jigx/data/data-providers/dynamic-data) and [Dynamic Data examples](https://docs.jigx.com/understanding-the-basics/jigx-concepts) .

## Database

A [data provider](https://docs.jigx.com/understanding-the-basics/broken-reference) is a service that accepts data inputs and returns data outputs. Jigx data providers include dynamic, local, REST, Salesforce, SOAP and SQL. For more information see [Data Providers](https://docs.jigx.com/understanding-the-basics/broken-reference) and [Data Provider examples](https://docs.jigx.com/understanding-the-basics/jigx-concepts).

## Entities

Entities are tables in Jigx Dynamic Data or other databases where your data gets saved, created, updated, and deleted. Use an action such as execute-entity to work with the data. Jigx data is managed in the [Data](https://docs.jigx.com/administration/solutions/data) menu option in Jigx Management. Other databases are managed using the [connections](https://docs.jigx.com/connections), [SQL Functions](https://docs.jigx.com/administration/solutions/sql-functions), [REST Functions](https://docs.jigx.com/administration/solutions/rest-functions), and [SOAP Functions](https://docs.jigx.com/administration/solutions/soap-functions) in Jigx Management. For more information, see [execute-entity](https://docs.jigx.com/understanding-the-basics/jigx-concepts).

## Jigx Management

Jigx Management exposes the Jigx Cloud functionality in a browser-based portal allowing you to manage users and solutions, set up send-and-push notifications, set up data, and view usage metrics of your organization. For more information, see [Management Overview](https://docs.jigx.com/administration/management-overview).

<figure><img src="https://1245694154-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F974dgqxfbgR9q4tCkGgb%2Fuploads%2Fm84pWmlTw2tFAwV6HxvW%2Fjigx-management.png?alt=media&#x26;token=aa2da75c-b26d-4d02-a9e4-db577bdcf0ed" alt=""><figcaption></figcaption></figure>

## Jigx App

The Jigx app is available on iOS and Android and works on any device.

* Download the Jigx iOS app from the [App Store](https://apps.apple.com/sg/app/jigx/id1495596537)
* Download the Jigx Android app from the [Google Play Store](https://play.google.com/store/apps/details?id=com.jigx.android\&pli=1)
* The Jigx App is only supported in portrait mode on iOS and Android phones.
* You can brand your app through [Organization Settings](https://docs.jigx.com/administration/organization-settings)

### See Also

* [Jigx color palette](https://docs.jigx.com/understanding-the-basics/jigx-color-palette)
* [Jigx icons](https://docs.jigx.com/understanding-the-basics/jigx-icons)
