Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Eager to just get started with Appfarm Create? Check out this short intro to Appfarm Create.
When logged in to Appfarm Create, you are inside a Solution. You, as an Appfarm Developer, might have access to several Solutions. You see the name of your Solution (and might switch between Solutions) in the top-left menu.
An App consists of User Interfaces, Data and Actions. You may switch between these in the top menu.
Actions are created and orchestrated by dragging Action Nodes (logical building blocks) from the library to the left. Actions are executed from top to bottom.
When testing your App, you may use the bottom right Blue Rocket to open the Debug tool.
The Object Classes in the Global Data Model may be shared and used across multiple Apps. For example, you may have one App for administrators and another App for end users, both using the same Global Data Model.
Appfarm Create has a comprehensive toolbox for delivering everything from simple web forms to complex multi-user business applications.
Learning Appfarm can be done in multiple ways. Some people want to really learn Appfarm Create, with the purpose of becoming a skilled Appfarm Developer. Others just want to explore.
This article collects 3 paths to quickly get started with Appfarm, depending on your time, purpose and preferences!
Get started with Appfarm Create in 3 minutes!
Create your first App following our step-by-step guide for setting up a Task manager application.
Follow our video-based Appfarm Appcademy Intro Course. Approximately 90 minutes of videos, and a series of assignments to be done. This intro course normally requires 4-12 (well-spent) hours of effort. Click the page link below for more info.
Build the full spectrum of web applications in a single web-based tool.
Appfarm is a full-stack no-code development platform. With Appfarm, you can create and distribute cross-platform web applications in a single interface without writing a single line of code.
The entire development lifecycle, from design and development, through to testing and deployment and ultimately hosting and maintenance, is handled in a web-based tool called Appfarm Create.
Appfarm enables anyone to be a full-stack developer by taking care of the complex, technical aspects of software development for you. Instead of having to worry about security, browser compatibility, and DevOps, you can simply combine flexible building blocks to create complete web applications. This creates the opportunity for more people than ever to solve problems with software.
Appfarm aims to deliver a true no-code experience, without any compromises. That means Appfarm can be used to develop a wide variety of software, from a classic todo app through to business-critical enterprise solutions.
As a developer in Appfarm Create, you have full flexibility to express complex visual designs and functionality, tailored to your unique needs and circumstances. In this sense, Appfarm can offer the almost limitless possibilities of more traditional programming techniques while making development far easier, faster, and more efficient.
Let Thomas give you a short intro to Appfarm Create.
But first: with your email address.
Do you rather want to see videos and examples? Check out our of Appfarm Create or explore the videos of our . You may also sign up for our .
A Solution has its own database and may have one or more applications (Apps). An end customer (company) typically has 1 Solution. You may read more on the Key concepts .
Click the + New App.
You may start from scratch by selecting Blank App,
or get a kickstart by selecting one of the Apps from our .
You may target different devices (or let the App be responsive) by selecting in the top-right corner of your App.
Create visually by dragging UI Components from the library to the left, onto the designer window. When selecting a UI component, you find settings for the visual appearance, data binding and event handlers in the pane to the right. The 3 first tabs in the screenshot below are the main properties, styles and conditional styles.
Add to be used in your App. For instance, you may add Tasks
as a Data Source, and specify a Filter to tell the database which records should be read (or tick Read all
to read all entries). Data Sources and Variables are shared between User Interfaces and Actions.
An may be everything from simple navigation between two Views to complex workflows. Actions are triggered by events in the user interfaces, such as the On Click
Event of a Button added to your UI.
To , just click the Play button (Preview App). This is the same as testing your App in the Develop environment. Everything is deployed to Develop automatically.
If your App should collect data, or display data from a database, you need to define the data structure in the menu . Defining the Data Model in Appfarm Create is the same as defining the database. You may add Object Classes (=database tables) and Object Class Properties (=database table columns) with different data types. You may add references between Object Classes by setting the Data Type
of an Object Class Property to a Reference
For a quick introduction to Appfarm, run through to see how Appfarm Create enables rapid no-code app development. If you can't wait to build your first app, head straight to . To build a full foundational understanding of the platform, start with the tutorials in our .
To get a detailed overview of all the features in Appfarm Create, check out the or explore the and that you can drag-and-drop into your app.
Follow detailed walkthroughs for integrating with external APIs, configuring users and permissions, improving the user experience, and much more under .
If you can't find the answer to your question here in the documentation, you can search or post in our . The Community is open for anyone to search, and you may log in with your Appfarm account to post questions or replies.
Understand the foundational concepts of the Appfarm platform.
There are a number of foundational concepts that you will come across as you develop and deploy apps on the Appfarm platform. You will find that development is easier and faster if you first understand how these concepts fit together.
The global data model is where you define all your business objects, or object classes. The global data model is shared across all the apps and services in a solution. This enables different views into your business data by creating applications tailored to different roles and use cases.
On top of the global data model, you can define a granular security layer controlling who can create, read, update and delete data.
An app is a web application composed of a user interface, data sources, and actions. Data sources provide access to the data in the global data model as well as other application-specific data. Actions enable application flow and business logic. The user interface is connected to data sources and actions to display data and collect and respond to user input.
Apps can range from advanced desktop business applications to lightweight mobile web apps.
A service can be thought of as an app without a user interface. A service is composed of one or more endpoints, data sources, and optionally actions. An endpoint acts as the external interface of the service, facilitating which data is returned and what actions, if any, are triggered.
Services are triggered by external web requests, by schedules, or by other services and apps.
You define which objects from your global data model you want to use in an app or service by creating data sources. A data source may hold one or many objects. This is referred to as cardinality. A data source with a cardinality of many can be configured with a filter to contain a subset of objects. You can create multiple data sources that point to the same object class.
An action is where you define application flow and business logic such as navigation, data manipulation and iterations, conditional logic, file import/export, web requests to external APIs, and more.
In apps, actions are triggered by events such as when a user first loads an app, clicks a button, or uses a keyboard shortcut. In services, actions are triggered when an endpoint is called.
An action consists of one or more action nodes, which are pre-built logic and function blocks that you can easily combine and configure. Many action nodes are common for apps and services, but some are only relevant for one of them, such as navigation logic for apps.
Appfarm implements a layered approach to security through users, roles and permissions. For a user, whether they are a human or an external API, to access and use an app or service, they must be assigned a role that has been granted the necessary permissions.
A user exists at the solution level and spans all enabled deployment environments. Each user can be assigned one or more roles, for example Administrator
or Editor
. Each role is granted permissions, which are granular definitions of what environments, functionality, and data that role can interact with. The sum of the permissions granted to a user's roles determines their access.
A solution can be deployed across four environments: Development, Test, Staging, and Production. The environments available in a given solution depend on your solution tier. The Development, Test, and Production environments each have their own separate databases. The Staging environment uses the Production database.
All changes are automatically deployed to the Development environment as you make changes in Appfarm Create. In order to push changes to another environment you must manually deploy them.
The first module of the Appfarm Fundamentals learning path, helping you get started with Appfarm Create.
Welcome to the Appfarm Fundamentals Intro Course!
This is an interactive, self-paced course to help you learn how to build apps in Appfarm Create. The course includes a combination of instructive videos and assignments for you to complete in your own inside Appfarm Create.
It is also possible to view the videos without access to Appfarm Create (in that case, skip step 1 and the .
To get the Intro Course Apps: Go to menu Apps -> New App -> Browse all apps, locate the Intro Course Apps and click Get App. Two apps My Projects
and My Projects (Complete version)
is added to your solution.
Keep Appfarm Create open, and continue to step 2. You will not be working in Appfarm Create in step 2, but you may click around to get familiar.
We have 8 short videos to give you a high-level, theoretical overview of Appfarm Create.
Click the link below to navigate to the first video.
Keep Appfarm Create open, and continue to step 3. You will be working in Appfarm Create in step 3.
Videos 9–16 provides a guide to various features to help you complete a series of assignments.
Watch video 9 and 10 for introduction, then start with the assignments from video 11. Click link below for video 9.
Finally, there is a multiple-choice quiz where you can test your knowledge of Appfarm Create.
You are now ready to start experimenting and building your own apps! Feel free to create new apps in your solution.
If you are on a 30-day free trial, with solution name starting with Appcademy
in the top left corner: Your Appcademy solution is just like any other Appfarm solution and can be used to build whatever you would like. Please note, however, that the access period to this training solution is limited, and the whole solution will be reset unless you contact Appfarm upon expiry for further access.
To continue learning and to prepare for our Appfarm Fundamentals Certification, you should explore the other Appfarm Fundamentals modules:
Frequently asked questions about the Appfarm platform.
Appfarm enables you to launch your applications faster, with higher quality, and lower cost. All without leaving a trail of technical debt.
Yes. Appfarm is hosted on enterprise-grade cloud platforms with scalable resources. We have customers that serve high volumes of active users and process large datasets.
Appfarm stores data in data centers located in the European Union.
No, it is not possible to build native apps for iOS or Android with Appfarm. Instead, Appfarm support Progressive Web Apps (PWA) which enable painless cross-platform distribution and support much of the same functionality that is required for business applications. However, there exist several PWA wrappers that let you make PWAs into native applications, thereby enabling you to publish the app to App Store/Play Store.
When you are signed into Appfarm Create, you are in the context of a solution. If you have access to multiple solutions this is indicated by an arrow () next to the name of your current solution.
A solution is a distinct development environment which contains and that share a . The apps and services in a solution share a common root URL for end-user access, relative to the deployment in use.
Read more about the in the reference guide.
Read more about in the reference guide.
Read more about in the reference guide.
Read more about in the reference guide.
Read more about in the reference guide.
Read more about in the reference guide.
Read more about .
Log in to with your email address
Open the
The Intro Course is the first module in our .
We offer a certification targeted at developers who have finished the Appfarm Fundamentals learning path. Please visit for more information and to sign up for the exam.
If your question is not answered below, please check out our .
Yes. are a core part of the Appfarm platform. We have customer applications that integrate directly with the likes of and , as well as internal systems.
We have several trusted partners with extensive experience building apps with Appfarm. Get in touch with us to discuss your requirements from
Appfarm enforces security at several levels for both platform and client access. Please refer to the overview for a breakdown.
We have created a dedicated Appfarm solution for demonstrating various example setups, and providing some templates.
This solution, named Appfarm Showroom, requires login.
Once signed up, you will be added as a user and receive an email with info on how to access the solution in Appfarm Create.
Appfarm Showroom consists of 5 Apps, to be explained below. Note that all Apps are "Work in progress", meaning more examples and templates will be continuously added to them.
The left menu lists some of the Action Nodes available when creating Actions. Click a menu item to open a screen in order to test the action node (menu item naming is 1-to-1 with the name of the action node it demonstrates).
Inside create, navigate to this App. You will find the same views and actions set up, and you may view how these examples are set up.
The left menu lists some of the UI Components available when creating user interfaces. Click a menu item to view how it works (menu item naming is 1-to-1 with the name of the UI component it demonstrates)
Inside create, navigate to this App, and locate the view to see how the UI component may be set up.
This app contains various templates for views and dialogs. Some of them are quite simple, whereas other are more complex.
The purpose of this App is to have some templates to copy over to your own solution.
Inside Create, navigate to this App. You may right-click and select Copy to Clipboard on any UI component (or on the top-level view or dialog) in order to copy it.
Note that all content inside the UI container will be copied, e.g. when clicking a top-level Container, all children will be copied. Data bindings (i.e. connection to data sources and conditions) will not be copied, and must be set up manually in your own solution.
This app contains example setups of various functional use cases that not exists as a single action node or UI component in Appfarm Create.
Some of these use cases will also be linked to from the documentation found How To section.
This is an interactive tutorial on our best practices for UI and UX, in other words - how to make things look good and user friendly.
The Learning Path for everyone with zero or medium experience in Appfarm Create
This is the entry-level Learning Path to Appfarm Create. You will learn to master the basics of Appfarm, in order to create your first App, or participate in an ongoing Appfarm project.
Appfarm Fundamentals contains the following Modules. Each module finishes with a short multiple-choice quiz so you can test your knowledge.
This Module contains a series of videos as a basis for the Appfarm Fundamentals Intro Course. The series of videos has 2 parts: Part 1 is the General Introduction to Appfarm Create, and Part 2 is a practical walkthrough of several use cases.
This Module covers some important features and UI Components frequently used in Appfarm Apps.
This Module covers some important features of Data Sources and other App Data.
This Module covers some important features of Action and Logic.
This Module covers the basic concepts of Services and Schedules.
This Module covers the basic use cases for integrating with external systems.
This Module covers user management within Appfarm Create and apps, as well as the configuration of roles and permissions.
You may sign up for access by accessing . This will give you access to both the solution in Appfarm Create (for seeing how thing are set up) as well as you may log in to the client (https://showroom.appfarm.app) to view and test the examples and templates.
These examples will also be linked to from the documentation found the section.
These examples will also be linked to from the documentation found the section.
You may access to tutorial without login , and you may navigate to this App inside create if you would like to see how different interactions are set up. However, the purpose of this App is to be a tutorial for those without much experience in UI/UX.
Whether you are new to Appfarm Create or an experienced user, our tailored learning paths should help you achieve your learning goals faster.
Each Learning path contains a set of Modules. A Module includes a set of Topics. A Topic may be covered with videos, links, or a combination of relevant examples and documentation.
The current learning paths of Appfarm Create are as follows.
At Appfarm, we believe in empowering our community with knowledge and skills that drive innovation. With our immersive Intro Course, you can get hands-on experience with Appfarm Create and learn directly from experienced professionals with deep insights into the latest no-code technology and industry practices.
Having completed an Appfarm learning path, you are ready to take an exam to receive the corresponding Appfarm certification.
Are you new with the concepts of databases and data modeling? Take a look at the Data modeling 101 article below.
Unable to see the Object Classes in the Data Model menu? This may be the case when you have downloaded Apps from Farmers Market. Change the filter in the top-section of the Data Model, to reveal the scoped Object Classes! You may read more .
This video, and all the way to video 17, is related to the interactive part of the intro course. You can perform assignments in Appfarm Create in parallell with videos 11-16. See more info .
A guide to quickly create your first app from scratch.
Get started by creating a new app (Blank App) and choosing a name and icon.
Click Apps in the main menu.
Click + New app.
Select Blank app.
Give the app the name Task Master
and choose any icon.
Click Create app.
Once your app is created you will be taken to the UI designer. Before we start building the UI though, we will define a data model.
In the global data model you define object classes which represent the data you want to store in your database. For example, if you want to store all the products in your inventory you would need an object class called Product
. Object classes are equivalent to tables in relational databases or documents in document databases.
A typical task management app has a set of projects, each with different tasks. So to build our app, we need to define two object classes: Project
and Task
.
First, we'll create the Project
object class.
Click Data Model in the main menu.
Click + Object Class.
For Name, enter Project
.
Click Create.
In the list of object classes, expand the Project object class, and click + Add property.
For Property Name, enter Title
and assign the data type String.
Add an additional property named Description
with data type String
.
Next we'll create an enumerated type to store a project's status.
Hover over the + speed dial.
Click Enums and then click + Enum.
For Name, enter Project status
.
Under Enum Values, add three values with the following display names:
Not started
In progress
Finished
Return to the Project
object class and a new property with the name Status
and data type Project status
.
Finally, we'll add the Task
object class.
Create a new object class.
Name the object class Task
.
Create the following properties with the matching data types:
Title
(String
)
Done
(Boolean
)
Project
(Project
)
Now we can start designing our user interface (UI) using the pre-built components from the library. The UI is made up of views which contain the UI components. The UI components are visualized in the UI designer and are also listed in a tree-like structure in the neighboring Views pane.
Let's configure our UI to have an App bar which provides a toolbar at the top of the screen and a list where we can display projects.
Click Apps > Task Master in the main menu. If you can't see this menu item, click Apps and then open the Task Master app.
The default view will be selected.
In the Component Properties pane on the right-hand side:
Set the Name of the view to My projects
.
Select the Enable App Bar checkbox.
Set the Title to My projects
.
To connect the app to our data model we first need to configure data sources. A data source provides create/read/update/delete access to one more objects of a specific object class.
Click the Data tab in the toolbar.
In the App Data pane click + to add a new data source.
Select Project
from the list of object classes.
Set the Name of the data source to Projects
. The plural usage helps to indicate that this data source will contain many objects.
Select the Read All Objects checkbox, which means the app will read in all projects to this data source when the app is loaded.
Add another data source, selecting Task as the object class and naming it Tasks
.
In the Tasks
data source, click the Filter field to define a filter. Set the filter so that Tasks.Project EQUALS Projects (Selected). This condition means that the data source will be empty until a project is selected in the Projects data source.
Now that we've configured our data sources, we can bind data to the UI.
Let's bind the list component we added to the UI earlier to the Projects data source.
Click Apps > Task Master in the main menu.
Select the previously added List component, either in the tree or the UI designer.
In the Component Properties pane on the right-hand side:
Add a Data Source. Click Select data binding, select the Projects
and click OK.
Set Primary Text. Open the context menu, click Data Binding…, select the Title
property and click OK.
Set Secondary Text. Data bind it to the Status
property.
Most of the UI components have predefined event handlers, such as On Click, On View Load or On Value Changed. Each one can be configured to trigger an action when the event occurs, allowing you to dynamically execute logic based on user interaction.
Let's add a button that opens a new dialog when the On Click event is called. We'll use this dialog to create a new project.
First, add the button to the UI.
In the Components pane to the left, drag a Floating action button component and drop it under your List component in the view tree-structure.
Open the Styles pane on the right-hand side.
Set the Position to Fixed
.
Set the Offset to 16px
for the right and bottom values.
Next, create the dialog that we want to open.
Set the Name of the dialog to New project
.
Now we can create a new action to trigger when the button is clicked.
Select the Floating action button component you added earlier, either in the view tree or the UI designer.
In the Component Properties pane, under Event handlers click the On Click field to open the Select Action dialog.
Click Create new action.
Name the action Open new project dialog
.
In the Action Nodes pane to the left, click the Open Dialog action node to add it to the action.
In the action node properties pane to the right, set Dialog to the New project
dialog.
The most common way to collect and save input from a user is to first add it to a temporary, runtime object and store it the database when the user clicks a "Save" button. This approach is very efficient since it only interacts with the database when the data is actually saved.
Let's create a runtime data source to store a new project.
Click the Data tab in the toolbar.
In the App Data pane click + to add a new data source.
Select Project
from the list of object classes and click Add.
Name the data source Project (temp)
. The singular term, plus the reference in parentheses helps to indicate that this will be a runtime data source containing a single object.
Set Cardinality to One, since this data source will just store one object at a time.
Check Runtime Only.
Check Auto Create.
Now we can add input fields to the new project dialog and bind them to our newly created data source.
Click Apps > Task Master in the main menu.
Click the New project
dialog in the tree view. In the Styles pane set the Padding to 24px
and click the link icon to set it for all four sides.
Add a Text component to the dialog and set the Text property to New project
. Set Variant to H5
.
Add a Text Edit component and bind the Value property to Project (temp).Title
.
Add another Text Edit component and bind the value to Project (temp).Description
. Select the Multiline checkbox and set Rows to 2
.
Add a Select component and bind the the value to Project (temp).Status
.
Add a Container component. In the Styles pane, set Display to Flex
and Justify Content to End
.
Finally, add a Button component inside the container. Set the Label to Create project
and Variant to Contained
.
The view tree should now look like this:
Next we need to trigger an action to save the project when the Create project
button is clicked.
Select the Create Project
button and under Event handlers click the On Click field to bring up the Select Action dialog.
Click Create New Action and call the action Create project
.
Add a Persist Objects action node.
Set the Data Source to Project (temp)
.
Add a Close Dialog action node.
Add a Delete Objects action node.
Set the Data Source to Project (temp)
. Since we enabled Auto Create on this data source a new, empty object will automatically be created so the user can immediately add another new project.
As you make changes in Appfarm Create, they are instantly deployed to the Development environment. This means you can access a functional, live preview of your app as you build it.
Click the Play icon (Preview App) in the top-right menu to open the development client and run the app.
Add new projects and see them appear in the list.
If you have access to additional environments, you can deploy to them under Deploy in the main menu. Press the blue button to deploy your app to a given environment.
Now you have a foundation for adding further functionality such as managing Tasks within each project. While we have already developed a fully-functioning app, we have barely scratched the surface of what is possible with Appfarm Create.
As a next step, we recommend spending a few hours on our interactive Intro Course.
Once you have access to , you can start building your first app. This written guide takes you through the steps for creating a simple task management app called Task Master, from scratch.
In :
Within an object class you can add properties, which define the specific values you want to store for a given object. Each property has a data type, which could be a simple type like a string or integer, an , or a reference to another object class. Using the product example from above you might have properties like Name
(string), Cost
(float) and Status
(enum).
Read more about the in the reference guide.
In the Components pane to the left, drag a into the view.
Read more about the in the reference guide.
Read more about in the reference guide.
Click the down arrow () in the Views pane, and then click Add Dialog.
Read more about in the reference guide.
You may also check out the () for inspiration, or dive into the to help you develop your app further.
This video is related to and of the .
This video is related to of the .
This video is related to of the .
This video is related to of the .
This video is related to of the .
This video is related to of the .
Quickstart
Build a simple task management app from scratch.
Appfarm Fundamentals
Learn the basics before joining or starting your first Appfarm project.
Appcademy
Follow learning paths to advance your knowledge and become a certified Appfarm developer.
Reference
The ultimate reference guide to Appfarm Create.
UI components
A library of pre-built components to quickly construct a user interface.
Action nodes
Customizable logical operations navigation, integration, and data manipulation.
Integrations
How to connect your apps and services with external APIs and send and receive requests.
Authentication and access control
How to configure your solution and apps to be available to the right people.
Enhance your app
How to improve your apps user experience with deep links, internationalization, keyboard shortcuts and more.
Fundamentals
New to Appfarm Create?
Start here to learn the basics.
Professional
Learn about the more advanced features of Appfarm Create.
Sales Representative
Aquire the necessary knowledge to become an Appfarm Sales Representative.
Test your knowledge of Appfarm Create with a multiple choice quiz
The Container is multi-purpose UI Component, and may be used for partitioning a screen into sections, control alignment and padding/margins of content, create custom clickable graphics, or custom lists or tiles. The Container also controls which part of a screen should be scrollable.
You may see a video on screen sectioning below:
You may find examples of using the Container for creating a custom listing of "tiles" in our Showroom:
Relevant articles in our documentation:
Motions allow you to animate whole UI Components, typically to animate them in or out of the View, or to rotate them. Not all UI Components allow Motions. The typical use case is to animate Containers in and out (expand / collapse), or to rotate Icon Buttons.
You may find examples of Motions in our Showroom:
Relevant articles in our documentation:
The purpose of this Module is for you to get familiar with important features of the User Interface (UI) Editor. These features are frequently used in Appfarm Apps.
These Topics are relevant for everyone who has already taken the and wants to take their learning a bit further with regard to User Interfaces.
This Topic covers the setup of a step-by-step workflow, allowing users to fill in information in a step-by-step sequence.
Creating a step-by-step workflow involves combining a few UI Components (Visibility Group, Containers, Buttons), some Conditional Styles, and interaction with your App Data. In other words: Step-by-step workflow is not a single UI Component or Action Node.
Step-by-step workflow is best explained through an example. We have created a simple example in our Showroom (see link below). You may test this example, and view the setup in Create.
This Module is relevant for everyone who has taken the and wants to take their learning a bit further with regard to App Data.
Responsive Design, or Responsive Layout, allows you to create 1 App targeting different devices. In other words, the same App may have a different look-and-feel on a mobile device and a PC. The UI Designer in Appfarm allows you to enable Responsive Design, allowing you to define different settings on UI components for the different devices.
You may find a Guide on how to set up a Responsive App in our documentation:
The above guide is a walkthrough of a Responsive App found in our Showroom:
Other relevant articles in our documentation:
Test your knowledge of Appfarm Create with a multiple choice quiz
This Topic features some important and powerful UI Components. Many UI Components could be featured, but in this Topic we focus on those we find most useful for many use cases, and that could require some examples in order for you to see the possibilities or to make them work as intended.
Build “excel like” web tables with built-in support for sorting columns, adding/removing columns, search and download to CSV.
Use Tabs for controlling which Container should be visible. This is done by a combination of the UI Components Tabs and Visibility Group.
The Visibility Group makes sure only one of its children is visible. You may e.g. put 3 containers inside, and let the Visibility Group control which one should be visible.
Example in our
Read our
Example in our
Read our
Example in our
Read our
Data Source Filters are used to limit what Data is read into your App.
Data Source Filters are important when the amount of data is large, since a large amount of data read could impact the loading speed of your App. In many cases, you also would want to limit the data due to sensitivity - e.g. for a customer portal, only read the data belonging to the logged in customer.
This topic gives you an overview of some ways of setting up filters on Data Sources.
You may see a video on Data Source Filtering below.
Relevant articles in our documentation:
Test your knowledge of Appfarm Create with a multiple choice quiz
In most Apps you will need some variables that are not part of the data saved in the database. For example, if you want a search box in a User Interface, the search text needs to be saved somewhere (and used for filtering the data to be displayed).
Variables are called Runtime Properties in Appfarm.
Runtime Properties may be added to a built-in Data Source called App Variables (for holding single variables to be used in your App), or they may be added to Data Sources.
A Runtime Property may be of type Value or Function.
Value is used whenever you want to set that value yourself (e.g. from a User Interface, or from an Update Object Action Node)
Function is a calculated property. E.g. you may have a Runtime Property Full name
with a function return firstName + " " + lastName
You may see a video on App Variables and Runtime Properties below.
Relevant articles in our documentation:
URL Parameters is a built-in Data Source in Appfarm for adding variables to be used as parameters of your App url. The use case for this is typical to maintain some App State when e.g. the App is refreshed.
A good example of this is when you have selected a Project from a list of Projects, and navigated to the Project Details view: You would like that same Project to be selected and displayed when you refresh the page. Adding a URL Paramenter for holding the selected Project ID solved this.
You may see a video on URL Parameters below.
Relevant articles in our documentation:
Event Handlers are used to trigger Actions. In general, Event Handlers are what connects User Interfaces to Actions.
This Topic gives you an overview of the different Event Handlers, and how to use them.
You may see a video on Event Handlers below.
Relevant articles in our documentation:
This Module is relevant for everyone who has already taken the and wants to advance their understanding of actions and logic.
This Topic features some important and powerful Action Nodes. Many Action Nodes could be featured, but in this Topic we focus on those we find most useful for many use cases, and that could require some examples in order for you to see the possibilities or to make them work as intended.
Update Object is used for updating properties of Data Sources or App Variables. You may use Update Object to update a single Object, or to batch update multiple objects.
When using Database Connected Data Sources, you do not need to use Read Objects, since the data is automatically read.
But in many cases, you may want to e.g. read data into a Runtime Only data source.
Read Objects allows you to read from another Data Source, or from the Database directly.
Open Confirm Dialog is an Action Node that offers a built-in (modal) dialog for prompting the user. It is typically used for collecting confirmation from the user before e.g. some data is to be deleted (non-reversible operations).
You may import data from CSV files using the Import Data Action Node.
We recommend reading our documentation on Batch Update found .
We recommend reading our documentation found if you are unfamiliar with these concepts, or if you want to understand the settings of the Read Objects Action Node.
Example in our
Read our
Example in our
Read our
Context Parameters is a concept of having parameters that are not defined in the App Data section. For instance, when iterating some Data Source, you may want to access to iteration number inside the For-each Action Node.
There are 2 types of Context Parameters: Action Parameters and Iterator Parameters.
Action Params are parameters that may be set up per Action. These Parameters may be used for the logic inside an Action, and you may send values into these Parameters when the Action is triggered (e.g. from Event Handlers in the User Interfaces).
You may see a video on Action Parameters here.
Iterator Params are built-in parameters available for expressing logic inside iterating construction - such as inside the For-each Action Node, or inside an iterating Container in your User Interfaces. For instance, you may set up a Visibility Condition inside an iterating Container to only display an UI Component in the first iteration (for the first row).
You may see a video on Iterator Parameters here.
You may read our documentation .
(for testing and debugging)
Test your knowledge of Appfarm Create with a multiple choice quiz
This Module is relevant for everyone who has already taken the and wants to learn more about Services.
Set up a Service to be automatically executed on a given schedule.
Disclaimer: The selection of Service Account in this video (in the setup of a Service) is a bit misleading. In the video, a Service Account "Public" is selected to execute the Service. Typically, you would select a Service Account "Service User" instead, which is a member of a Role "Services" or similar, that only have access to the Service and the Object Classes used in the Service.
Fundamentals level Module in Integrations
This Module covers the basic use cases for integrating with external systems, using the Action Node Web Request. Web Request is used for integrations, and you may use it to push data to an external endpoint (POST/PUT requests) or get data from an external endpoint (GET request).
The Web Request Action Node may be used both from Apps or from Services. E.g. you may have an App with a Button for looking up a company organization number from an external endpoint, or you may have a Service that runs nightly for fetching all new/modified customers from an external endpoint (and saves them). Both of these scenarios use the Web Request action node, and the technical setup is in general the same - regardless of whether the Web Request is triggered from an App or a Service.
The code used in this video can be copied from below:
Test your knowledge of Appfarm Create with a multiple choice quiz
Link to Swagger-documentation mentioned in the video:
This module explores user management within Appfarm Create and how to configure roles and permissions to ensure a solution is secure. We also look at how to implement user manipulation within an app so that client users can add, update, and delete users. Finally, we look at implementing unauthenticated access to open up an app to the general public.
You should have completed the Intro Course, as well as the App Data and Actions & Logic modules, before starting this module.
In for example, an email sent to amanda+admin@3050labs.com will be forwarded to amanda@3050labs.com.
In this Module, we present some important UI Components to be familiar with. The main usage areas of each of them are explained, and we also provide a link to the relevant article as well as an example setup / usage in our Showroom.
We assume familiarity with all basic UI Components such as Text Edit, Text, Date and Time Picker, Container, List and Tabs.
Reuse Views across other Views, or design your App with 1 main view (with menu) and multiple sub-views for the various pages.
Popovers are small popups, custom snackbars or rich tooltips, that may appear when the user clicks something. A good use case is a small help icon, opening a Popover on click such as . The Popover UI Component is opened/closed by using the Action Nodes Open Popover and Close Popover.
Let the user select a single Enumerated Type. The "Allow null" setting allows you to apply a selection "All" or "None" visible to the user.
Allow the user to select one or more entries in a droplist. The UI Component is connected to a Data Source and the Selected flag of the entries is toggled on/off when the users select the items in the Multiselect.
Same principle as a Multi Select, but the user may select one or more "Tiles" or "Chips" in a horizontal or vertical list. You may have "On Click" or "Delete" event handlers, and conditional styles. Works best for a small number of options.
Multi-purpose UI Component. Much used in "internal" applications and administrative applications. It is an Excel-like UI Component with built-in features like search (in table), column-selector, filters and CSV-download. It also has a lot of setting for styling per column/cell, as well as conditional edit-mode.
Draw signatures or draw freely using the Drawable Canvas. Much used for allowing users to store their signatures (as image files), in order to merge them into PDFs or Emails later.
A very simple way to add animations to your Applications. Should not be overused, but gives a nice touch to any Application.
Coded Component is an escape hatch when Appfarm Create does not provide you with the desired UI Component. You may use Coded Component for almost "anything". In fact, your whole App may just be 1 View with 1 Coded Component if you would like to code your whole App, but that is of course not recommended - it just highlights the possibilities.
We do not assume familiarity with the Javascript coding inside the Coded Component, but you should familiarize yourself with the possibilities and concepts.
Many charts exist in Appfarm Create, both Basic Charts and Advanced Charts. The general setup is much the same, but each chart comes with different settings. The settings will not be questioned in the Appfarm Professional Certification, but familiarity with the general setup of a Basic Line Chart is recommended reading and knowledge, as well as familiarity with the available Charts.
Test your knowledge of Appfarm Create with a multiple choice quiz
In this Module, we present some important UI-related concepts to be familiar with. The main usage areas of each of them are explained, and we also provide a link to relevant articles as well as examples in Showroom.
The Container is a multi-purpose UI Component. In fact, it's a <div>
tag in HTML. First of all, it is used to divide the view into sections and control margin & alignment. It may also be used to create custom buttons or styling elements, and it may be used to create slidable lists/tiles or repeating constructions such as rows, tiles or multidimentional matrices (such as a calendar). All scroll settings are done on the Container as well.
Articles:
Showroom examples:
You may use the Container to create custom multidimentional tables, such as a Calendar or Data grids with repeating columns. You may also change the iteration variant of the container to allow for Swipeable lists or Recursive tree structures.
Articles:
Showroom examples:
Drag & Drop is a nice feature in some contexts, such as when creating a Trello-like kanban.
Articles:
Showroom examples:
(basic line)
(also see other charts in sections Basic Charts and Advanced Charts)
We assume familiarity with all topics of the Appfarm Fundamentals module .
including info on Scroll and Hover and File-drop
(or to anchor)
using Containers
Example of File drop in Showroom on the example and the example
The Learning Path for those with hands-on experience in Appfarm Create
This Learning Path contains the following Modules. Each Module contains links to relevant articles, videos or examples.
Each Module covers Topics that are relevant to the Appfarm Professional Certification. The content of each Module also serves as a list of relevant topics in order to boost your knowledge from a Beginner level to a Professional level - if your goal is simply to improve your Appfarm skills and knowledge.
This Module covers advanced UI components and constructions.
This Module covers Data Modeling and Data Structures, advanced features of App Data and handling of data.
This Module covers various logical features as well as featured action nodes, action flow and contextual parameters.
This Module covers the most important configuration settings in Appfarm Create.
This Module covers Security concepts, Permissions & Roles and Deployment.
This Module covers Performance principles as well as how to optimize your Apps or Services in Appfarm Create.
This is the Learning Path for those with some hands-on experience in Appfarm Create, who want to take the learning further in order to get at the Appfarm Professional level.
The and Appfarm Fundamentals Certification is a pre-requisite to this Appfarm Professional Learning Path and corresponding Certification.
This module requires some hands-on experience with development in Appfarm Create, and you should be familiar with all concepts and topics of the module.
This module requires some hands-on experience with development in Appfarm Create, and you should be familiar with all concepts and topics of the module.
GraphQL is a query language for APIs, allowing for querying your data through built-in endpoints. The Appfarm platform has a built-in GraphQL query tool for querying your GraphQL-enabled Object Classes with a query language. You may also Create, Update or Delete data.
You do not need to learn all syntax, but be familiar with the possibility and how to use the tool and the query examples in the documentation.
Article:
Filters on Database Connected Data Sources are Server-side. Also, read objects (from Database) with some filter is done Server-side. All other filters are Client-side, and performed in your browser. Read more in the article below.
Article:
A special set of operators exists when you set up a Filter with a string as the left operand. This can be used to implement search. The operators may also be used for Conditions.
Article:
Example in Showroom:
A few Action Nodes are relevant for data handling, all of them are grouped in the top section in the list of Action Nodes, such as Create Object.
This Action Node will duplicate all objects in a Data Source.
Article:
Some of the attributes of Data Sources may be manipulated runtime. This is relevant in many cases, such as when implementing "lazy loading" of data.
Article:
You may sort Data Sources runtime using this Action Node. This is relevant e.g. if you have created a custom list of data, and would like the user to be able to change sorting.
Article:
Update Object is part of the Fundamentals skillset, but at the Professional Level, you should be familiar with how to perform batch updates.
Article:
This module covers some important features and concepts related to App Data, Data Sources and Global Data Model.
Add one or more filters to a Database Connected Data Source, that can be enabled or disabled runtime.
Article:
Data Source Object Properties are built-in properties available for each object the data source. You should be familiar with these properties, as well as the Object State properties of Runtime Only Data Sources.
Article:
Data Connectors are special types of Data Sources. They may not contain data (i.e. you cannot read data into them), but you may do Create, Update or Delete directly towards the database through Data Connector Data Sources.
Article:
Calendar Data Sources are special types of Data Sources that will populate a list of hours, days, weeks, months etc. between two dates when the App loads. This is very handy for calendar-related UI and logic.
Article:
A built-in Data Source exists in all Apps: URL Path. Learn what it is, and how to use it.
Article:
Showroom example:
Useful for giving a meaningful name to Object Class Properties of boolean data type.
Article and video:
Many-to-many relationships define the relationship between two Object Classes, where either Object Class may have multiple relations to each other.
Many-to-many relationships can be represented in two ways in Appfarm Create: Either using a multi-reference property (an Object Class Property with cardinality Many), or using a separate Object Class. Read more in the article below.
Article:
Object Classes come with two build-in Object Class Properties that may be enabled per Object Class. When enabled, the objects are assigned a random identifier and/or sequential identifier upon creation.
Article:
By default, when 2 different users update the same object, the last write wins. Object Classes have a built-in feature to avoid this, to have a "first come, first served" approach (first write wins) to updates on the same record.
Article:
The Value Processor is a tool for simple data manipulation and formatting operations that are run client-side. For example, add 1 to an integer App Variable, or invert a boolean property.
Article:
The Function Editor allows you to write Javascript. Although Javascript is not a required skillset, you should be familiar with a few important functions - such as creating concatenated strings and aggregation of data from an array.
Article:
Markdown is a syntax for formatting plain text with basic formatting. It requires some simple syntax, and Markdown interpretation may be enabled a few places (see the article below).
Article:
Timers allow an action to be executed client-side on a schedule, e.g. every second. It can be used for creating automatic carousels or other dynamic behaviour.
Timers are defined in the App Settings.
Article:
Keyboard Shortcuts may be defined per view. In other words, Actions may be executed when the user navigates with arrows or enters the Delete key on the keyboard.
Article:
Appfarm comes with support for creating offline apps. In other words, Apps that work and operate in offline environments.
In the Appfarm Professional learning path, we do not require full knowledge of this topic, but you should be familiar with the Rules and Settings section of the below article.
Article:
See "" of the Motions example for usage for the Contains
operator through a Read Objects.
This module requires some hands-on experience with development in Appfarm Create, and you should be familiar with all concepts and topics of the and modules.
(incl. batch update)
(article and video)
(incl. Object State)
(usage of URL Path.Sub view)
When creating Actions and adding logic to your User Interfaces (Visibility/Read-Only/Styling conditions, Event Handlers), a few important concepts exist in addition to the well-known , and .
(part of App Settings)
Appfarm Create comes with a vast amount of configuration possibilities, and some of them are very useful for many use case.
Article:
You can configure each Appfarm Client environment in your solution separately. These are high-level settings, such as whether Schedules should be enabled or Content Security Policy (CSP) settings for each Environment.
Article:
All Apps built with Appfarm Create supports multiple Languages and Regional settings by default. You may define this from the Internationalization menu.
Article:
In complex use cases, typically with a lot of integrations or important services running on a schedule, errors are bound to happen at some point.
The action node Catch Exception may be used for catching exceptions and handling them. In some cases, you may even want to re-throw your own custom exception using Throw Exception action node (and catch them somewhere else).
In this Topic, we refer to the documentation of the Catch Exception action node. We also refer to an article (and Showroom example) of an Event Log design - where an Event logging and monitoring system is created.
Articles:
Showroom Example:
Working with Date and Time sometimes requires complex manipulations (end of week etc.) as well as dealing with various formats of Dates.
Appfarm Create natively supports storage of data and time values, and provides tools to format, manipulate and localize these values.
Articles:
This Topic features some nice-to-know Action Nodes relevant to logic, functionality and flow.
The While action node runs a block of action nodes as long as a condition evaluates to true.
Article:
Example in Showroom:
The Foreach action node loops over objects in a data source and runs a block of action nodes for each object. You may exit a Foreach-loop (prior to looping all objects) using the Next Iteration action node.
Article:
Example in Showroom:
The Block action node has a few settings allowing for either parallel or "first-to-finish" execution of the action nodes inside it.
Article:
Adding a Sleep action node to an action will allow the Action to pause for a given number of milliseconds. Can be useful e.g. if collecting data from an external system fails, and you want to retry automatically 2 seconds later.
Allows you to run Javascript code.
Article:
Example in Showroom:
Export data to a CSV file.
Article:
Example in Showroom:
Generate a PDF file using HTML and your data.
Article:
Example in Showroom:
Change the Theme of your App runtime. Useful e.g. for changing to Dark mode, or when creating a white-label App with different Theming per customer.
Article:
Example in Showroom:
Each App has some general settings that can be configured. For example, the Responsive Strategy and Default View for the App. You should be familiar with all main sections in the article below, as well as the configuration of App Type, Custom Header Tags and Timers as defined in the section.
Appfarm comes with a built-in Login page and Authentication options, as well as the possibility to configure your own login and sign-up pages, as well as adding third-party Authentication options such as Microsoft Entra ID (Azure AD).
This topic is all about these possibilities.
Login configuration is done from the Login menu in Appfarm Create. You may read more on the settings and possibilities below.
Article:
Appfarm supports third-party authentication by integrating with authentication providers using OAuth 2.0. You can read about the settings and find a step-by-step guide on a few use cases below.
Article:
Custom Login Apps may also be a combined Self Sign-Up and Login app. You have full flexibility to define the functionality and design of this App.
Example in Showroom:
You may implement your own login app using an in combination with the Action Node . Auth Operations are used for the built-in login methods, whereas you may use the action node for logging in with custom login methods (see the URL defined ).
You may also redirect users to this App by default when they are not logged in, using the Default App setting in .
For a multi-tenant solution, you may even offer different login pages per tenant, by using (one parameter per tenant) or different Views per tenant - and distribute a unique URL for login to each tenant.
Appfarm Create has one-click deploy, meaning you can push your changes to Test or Production with a click. You may also rollback to previous snapshots of your solution, or take manual snapshots.
You should understand the features of Deployment, as well as the concepts behind it (deploy new functionality with or without version upgrade).
Article:
Appfarm comes with enterprise-grade security, and with that - also a lot of settings related to security and permissions.
At the Appfarm Professional level, your should be familiar with the Built-in roles vs Custom roles, how Users and Service accounts are assigned to Roles and inherit their Permissions from the Assigned Roles.
Article:
It is important to know about the common pitfalls (with regards to security and permissions) when going live with your solution.
Articles:
The ability to debug is what differentiates a professional from a beginner. But it is difficult without the correct tools.
Appfarm comes with Debug Tools for both Apps and Services. It also comes with a tool inside Appfarm Create for validating your App setup: App Health.
This article summarizes how to test and debug your Apps:
You may also jump straight to our articles on the Developer tool and App Health:
You should be familiar with the Security article below, as well as all submenus of it. Much is this has already been covered in the Appfarm Fundamentals module .
You can test, debug, and monitor using and .
This module requires some hands-on experience with development in Appfarm Create, and you should be familiar with all concepts and topics of the and modules of the Appfarm Fundamentals Learning Path.
In Appfarm Create, you may set up your Services to be executed on one or many Schedules.
The execution log of Schedules and Services may be seen in the Logs menu.
Articles:
The Learning Path for those who aspire to sell their own Appfarm solutions.
This certification is specifically designed for companies that are currently in the onboarding process of becoming an Appfarm Partner. It will equip you with essential tools and knowledge to maximize your partnership with us.
To begin your certification journey, please contact your Partner Success Manager directly. They are ready to guide you through each step of the process.
Large amounts of data or many visual components in your user interface may at some point affect the performance of your Apps and Services.
This article is all about how data is loaded in Appfarm, how to locate bottlenecks, and how to optimize them.
Article:
Enhancing functionality is a very broad term.
In this topic, we link to an article with subsections that cover some general functional concepts that all Apps would benefit from having implemented.
Article: