Visual Programming Language

Build Sophisticated Apps with ActionTrees

  • Visual, drag-and-drop interface
  • Conditional logic to handle complex behavior
  • Advanced control-flow
  • Reusable Action Groups simplify repetitive tasks
  • Support for XPath/XQuery for data manipulation
  • Enterprise-grade debugger
  • Write once / deploy everywhere
  • One design builds apps for iOS, Android, Windows

Low-Code without Sacrifice

Low code app development with MobileTogether ActionTrees

In addition to visual, drag-and-drop UI design in MobileTogether, defining app behavior is a highly visual process. Altova pioneered the ActionTrees programming language in MobileTogether to help users build low-code apps fast – without sacrificing the native functionality and sophistication that end-users expect.

ActionTrees allow developers and non-developers alike to visually define the logic of mobile apps and enterprise solutions by arranging actions in a tree-like structure. ActionTrees provide robust and flexible tools to build apps and enterprise solutions that can connect to databases and other data sources, perform computations, manage data, and more. This approach provides a clear and intuitive way to design workflows and automate processes without the need for traditional coding.

This visual programming paradigm is particularly beneficial for building complex applications quickly, as it simplifies the development process by providing a drag-and-drop interface for defining both business logic and event handlers.

ActionTrees visual programming language in MobileTogether

Each ActionTree consists of a series of actions that are executed in a sequence or conditionally, based on developer-defined criteria. To create an ActionTree, simply drag any of the available actions into the tree control in the center pane of the ActionTree Editor to define its behavior and combine it with other actions.

The available control-flow options include: loops, switch statements, and If-Then-Else conditions, as well as Try/Catch/Throw exception handling.

Each ActionTree you define can be saved as an ActionGroup (shown in the right-hand pane above). An ActionGroup then becomes a function that can be reused as needed, making it easy to streamline repetitive tasks.

Flexible Data Manipulation with XPath/XQuery

XPath and XQuery are used for processing and manipulating data in ActionTrees, and MobileTogether includes a powerful expression builder and evaluator that makes it easy to build and debug these expressions.

XPath/XQuery provide unparalleled flexibility for selecting and manipulating hierarchical as well as tabular data structures. Extensive function libraries make it possible to build sophisticated apps and enterprise solutions in a straightforward way. A declarative programming language, XQuery gives the developer the ability to define complex data processing logic in an elegant and concise manner.

Using Xpath and XQuery in MobileTogether to select data

The unique XPath/XQuery editing window includes:

  • Point-and-click expression building with a comprehensive a list of operators, expressions, and built in functions that you can insert in an expression by double clicking. Functions are inserted with their arguments indicated by “#” placeholders, making it easy to build expressions quickly and error-free.
  • Mouse-over hints that describe each operator, function, etc., so you can be sure to choose the correct one for the expression at hand.
  • Enhanced entry helpers that display the description of built in functions, and then show helpful function and parameter details as you type, speeding development and ensuring accuracy.

If you need a refresher on these well-known, standards-based query languages, check out our free XPath training and XQuery tutorial for users with any level of experience.

ActionTrees in Use

MobileTogether supports an ever-growing collection of actions for defining complex yet efficient app behavior. Below is a short summary of the categories and types of actions.

MobileTogether also includes a built-in app simulator for testing on all platforms during development, as well as an integrated debugger for troubleshooting XPath/XQuery and ActionTree behavior.

Actions for Data Manipulation

ActionTrees offer a suite of actions to manage and update data efficiently. These actions are essential for applications that require dynamic data handling and transformation.

These actions include appending, deleting, inserting, replacing, and updating nodes within an XML or database structure.

Control Flow Actions

These actions manage the flow of execution within an ActionTree, allowing developers to define complex logic and decision-making processes:

  • If-Then: Executes a set of actions if a specified condition is true.
  • If-Then-Else: Provides an alternative set of actions if the specified condition is false.
  • Switch, Case: Allows multiple conditions to be evaluated, with actions executed based on the matching case. This is ideal for handling multi-way branching.
  • Loop: Repeatedly executes a set of actions while a condition remains true, enabling iteration over data sets or repetitive tasks.
  • Break Loop: Terminates a loop prematurely if a certain condition is met.

Execution Actions

These actions are responsible for initiating, controlling, and managing the execution of tasks within an application:

  • Cancel Action Execution: Stops the execution of an ongoing action. Useful for error handling or user cancellations.
  • Execute at Once: Initiates an action or set of actions immediately, regardless of the current execution context.
  • Solution Execution: Allows you to cancel a solution, leave it suspended (that is, running in the background), or restart it.

User Interface Actions

ActionTrees can also control and modify user interactions, allowing developers to create interactive and dynamic apps:

  • Show Message Box: Displays a message box to the user, often used for notifications or confirmations.
  • Navigate to Page: Directs the user to a different page within the application, enabling multi-page applications and workflows.
  • Set Control Property: Dynamically changes the properties of UI controls, such as visibility or style.
  • Access Calendar: Access the built-in calendar on your phone and read/write calendar events.
  • Make Phone Call: Directly initiate phone calls from your app.
  • Send Email/SMS: For complete business workflows you can send emails as well as send SMS text messages from your apps.
  • Open URL: You can Open URLs with the device browser as well as open files with external apps on the device.
  • Print: Utilize sophisticated stylesheets and the MobileTogether integration with StyleVision Server to render your data into PDF documents that can subsequently been sent to a printer.
  • Read Contacts: Access contacts on the app user's device.

Database Actions

Database actions are vital for applications that require persistent data storage and retrieval.

  • DB Execute: Executes a query against a database and retrieves results, which can then be used within the application.
  • DB Bulk Insert: Adds large numbers of new records to a database table; crucial for data entry applications.
  • DB Transactions: Allow you to implement transaction handling - especially when working with SQL Servers, including Begin Transaction, Commit Transaction, and Rollback Transaction.

Web Services Actions

These actions allow integration with external web services, enabling applications to consume data from or send data to third-party APIs.

  • SOAP Request: Invokes a SOAP web service and handles the returned data, supporting legacy systems and services.
  • REST Request: Communicates with RESTful services, which are commonly used in modern web applications.
  • Execute FlowForce Job: Allows you to execute jobs on FlowForce Server as part of your application back-end.
  • MapForce Transfer: The MapForce Transfer action enables one set of data structures to be converted (mapped) to a second set of data structures. Each data structure of the output set can be written to a file or to a node of a page source.

Cross-Platform Support

A key advantage of the ActionTrees visual programming language is its ability to support cross-platform development for mobile and desktop devices. This means that you can design and implement actions once, and they will work seamlessly across phones, tablets, laptops, and desktop computers running iOS, Android, and Windows. An HTML5 client is also available for accessing apps in a browser. This streamlines the development process, reducing the need for platform-specific coding and ensuring consistent, native behavior across all devices.

Supported Platforms:

  • Android
  • iOS (iPhone, iPad)
  • Windows 10 & 11
  • HTML5 browser for other users

MobileTogether Feature List

MobileTogether FAQ

MobileTogether Video Demos