JourneyApps Syntax Basics
Last updated
Last updated
All Views and most of their are defined using XML syntax. It's possible to define queries directly from the View XML. can also be used in some components in the XML. In addition, the and are also defined using XML.
If you have never used XML before, you can find more information .
JavaScript or TypeScript is used to define the behavior and logic of apps built on JourneyApps. Each view has a corresponding JavaScript or TypeScript file, that is automatically executed when the view loads.
The following functionality is supported from the JavaScript/TypeScript in JourneyApps:
The JavaScript/TypeScript init()
function is called when a view is loaded for the first time. This is typically used for initializing variables or queries.
Any variable or parameter defined in a view can be referenced by view.variablename
.
Example View XML:
... and the JavaScript:
A variable (or parameter) in a view can refer directly to a variable, a field of an object variable, and traverse through object relationships.
Suppose we have a view defining the following variables:
Then the following variable references are all valid:
To navigate to other views, you can use the navigate
syntax.
For example, if you have a view with path user/new
, it can be called from JavaScript as follows:
If the view we are linking to requires any parameters, we can simply pass those parameters to the JavaScript function, for example:
Similarly from the XML:
Example View XML:
To do branching, we can simply use instead of an if statement in our JavaScript function:
An example for how calculations may be performed:
View XML:
View JavaScript:
Note that the view is automatically refreshed with the new "bmi" and "description" values.
JourneyApps provides several ways to debug your app.
For simple or repetitive debugging operations, you can display debugging messages on your app's console using the console.log
function. See the next section for instructions to access the console.
An app's console is found within the "Console" tab of the Chrome Developer Console.
Opening the console differs per platform:
On Desktop, right-click anywhere and select "Toggle DevTools".
On Web, right-click and select "Inspect", and then navigate to the "Console" tab.
Debugging on Android devices requires several steps, following the general Android debugging guidelines. On a high level:
Select "inspect" to open the console.
For more advanced debugging use the debug console. Capabilities include accessing view variables from within the developer console, and exploring underlying components of your app such as the DB
or journey
namespaces.
It is available within the Chrome Developer Console described above. To activate the debug console, open the "Console" tab and change the console context to JourneyScript.worker.js
in the available dropdown.
Working with Objects:
Other JavaScript/TypeScript Functionality:
You can define the logic for navigation from either the JS or the XML. There are also multiple navigate
methods that you can use, depending on whether you'd like to add the new view to the view stack, or whether you'd like to dismiss back to a previous view or not. For a complete reference, please read .
If you wish to navigate directly from the XML (for example, by using a button), you can use the $:
syntax to call the relevant navigate
method directly (read more about $:
functions ).
These messages can be seen in the application , under the Logs section, as well as the app's console. This latter option is more suitable for development purposes. See the next section for details.
The Chrome Developer Console can be accessed when the Debug option is enabled in the JourneyApps container. This option is enabled for the Desktop container installed via the Test App flow in OXIDE, and is also enabled on (testing.onjourneyapps.com). The Debug option can be enabled for a custom-branded container in the .
"" must be enabled on the device.
The device must be connected to the or Android Studio on a Desktop computer (via USB or wirelessly).
On the Desktop computer, in Chrome, the Android device should then be listed here:
Since version 4.85.0 of the JourneyApps Runtime, more detailed performance profiling can be enabled in the debug console, see .