Building Your First App (Appendix)
Last updated
Was this helpful?
Last updated
Was this helpful?
This appendix outlines the contents introduced in the process of building your first app and provides some links to more in-depth documentation. Return to this document any time you want to review the fundamentals of how to build in Airkit.
In the Journey Builder, you can:
Connect
Build out complicated
Keep track of
To make a web app without the use of a Kitcloud Template:
Indicate that your Journey starts by clicking a link
Set the link to navigate to a
Create a blank Web Flow to navigate to
Web Builder is where you can:
Web Controls](web-controls-overview.md) serve as small UI building blocks.
Modify them individually, under the "Style" section in the Inspector
Common Actions include:
The Connection Builder is where you can:
Create and edit
Create and edit the that make up the
Create and edit on each .
Example include:
Input boxes can accept various various and
(The four input boxes created for the purpose of our Contact Form accepted four instances of input, including one in the special form and one in the special form )
The appearance of each is highly customizable.
Make app-wide changes to using .
can be associated with and .
trigger Action Chains, which are a set of Actions taken sequentially.
dictate how your app will behave
Navigating to another
Performing a custom
Custom are created in the , see below
The Data Builder is where you can define
Data in can be and
In order for the other Builders to have access to an , its definition must be saved and migrated
Construct custom out of component
Data Flows connect the UI of your Airkit apps to other systems, be they part of Airkit (like ) or not (like Salesforce).
For more on how to conceptualize Journeys in Airkit, see .
AirData is a datastore tied to an Airkit app's profile, allowing records to be stored for collection or retrieval, even after a user has closed the app or ended their . Information within AirData is structured according to AirData App Objects. For more information on how data is structured in AirData, see documentation on .
Once stored in AirData, information can be used or analyzed in a variety of ways, both outside and within Airkit apps. The article dives deeper into how to access information stored in AirData.
The article goes into more depth on what Web Flows are and how they are used.
Web Controls are basic UI building blocks that allow users to interact with a web app. They’re things like , , and . Much like how Web Pages are the component parts of Web Flows, Web Controls are the component parts of Web Pages.
Each Web Control is different, because each component part of a Web Page must interact with users in a different way. , for instance, only need to be read, where as must be able to bind user input to a variable that can be called on at some point downstream.
For a deeper dive into individual Web Controls, see .
The Text Input Control, Phone Input Control, and Email Input Control all accept as user input. (In Airkit, both and types are subcategories of Text.) However, while the Text Input Control accepts any and all strings as valid input and binds them to the associated variable, the Phone and Email Input Controls first run a test to confirm that the string the user gave was a properly-formatted phone number or email (respectively) before binding the input to the associated variable. If the string the user gave was not properly formatted, the associated variable will remain NULL
.
Note that while this built-in validation process prevents your Airkit apps from saving inappropriately-formatted data, it does not automatically communicate any part of this validation process to users. If you want to include intuitive error messages in your applications, you can construct them according to the process outlined in .
Under the hood, the Phone Input Control uses the function to test if a user has given a valid Phone data type, and the Email Input Control uses the function to test if a user has given a valid Email data type. See function documentation for more details on what the Phone and Email Input Controls will accept as valid.
Every Web Control has associated Variants: cosmetic variations that appear differently but function identically. Variants can be edited in and then used as defaults when adding new Web Controls. For instance, within a single application, you might create two Variants of button: a rectangular one in red, and a round one in blue. Any changes made to existing Variants also apply retroactively: existing Web Controls previously styled according to the old default will immediately take the form specified by the new default. This allows for consistent branding throughout the entirety of each user's Journey, and it also makes it easy to see how different combinations of colors, fonts, and graphics look together.
For a deeper discussion on Data Flows, see . For more information on the different kinds of Data Operations available, see the .
When a value is bound to a variable, that value is tied to an individual . This simplifies the process of keeping track of information in the short term. If our contact form becomes published, and both Alice and Bob fill it out at the same time, the value of name_input will be different in Alice's Journey than in Bob's. Airkit will handle the details of keeping them separate.
For a deeper diving into how data is conceptualized in Airkit as well as the crucial difference between binding data to a variable and saving it to AirData, check out .
Actions are a broad category. They can be do everything from to . There's also the Action, which makes it possible to create branching Action Chains, where different Actions are taken depending on whether or not certain conditions are met.
For more on how to created an Action Chain, see , which is where Action Chains are defined. For more on the different kinds of Actions that can be taken, see
In the context of the Airkit platform, Events refer to any catalyst that might trigger an . All Action Chains are associated with a particular Event. It is when – and only when – an Event is fired that its associated Action Chain is performed.
When we say that Events tell the platform "something happened," we are being deliberately vague. All kind of things might trigger Events. A user clicking a is an Event, as is the , as is updating a .