OpenXTalk or OXT consists of a pair of interlinked cross-platform rapid application development runtime systems (OXT and OXT Lite) inspired by HyperCard. They feature the xTalk Script (formerly MetaTalk, Transcript) programming language which belongs to the family of xTalk scripting languages like HyperCard's HyperTalk.

They are built on the LiveCode Community IDE that was dropped by LiveCode (company) in 2021 with a view to make sure that a Free Open Source xTalk language remains available for educators and hobbyists moving forward, as LiveCode only provides a commercial version that is available at a price point out of the reach of many educators and hobbyists.

OpenXTalk runs on MacOS, Microsoft Windows, and Linux.

Description

edit

OpenXTalk creates applications that run in many supported environments, using a compile-free workflow. The same computer code in OpenXTalk can play across multiple devices and platforms. OpenXTalk uses a high level, English-like programming language called xTalk that is dynamically typed. xTalk and a compile-free workflow generates code that is self-documenting and easy for casual programmers to comprehend. For example, if the following script was executed when the system clock was at 9:00:00 AM:

repeat ten times
  put "Hello world at" && the long time & return after field 1
  wait 1 second
end repeat

Ten lines will be loaded into the first text field. (denoted as "field 1"), and seen as:

Hello world at 9:00:00 AM
Hello world at 9:00:01 AM
Hello world at 9:00:02 AM
...

Notes:

  • repeat (and the associated end repeat) is a control structure, illustrated here in just one of its various forms.
  • put is a command
  • "Hello World at" is a literal
  • the long time is a function that calls the system time
  • return is a constant equal to ASCII character 10 (linefeed)
  • after is a keyword that is involved with an extremely powerful and intuitive system known as "chunking", a hallmark of all xTalk languages.
  • field 1 is an object reference, here denoted by the layer number of a text field. Almost all standard object classes are supported, and may be referred to in several, highly-intuitive ways.
  • field 1 is an object reference, here denoted by the layer number of a text field. Almost all standard object classes are supported, and may be referred to in several, highly-intuitive ways.

Basic components

edit

OpenXTalk's visual environment consists of a number of major components:

  • STACKS
  • BACKGROUNDS
  • CARDS
  • FIELDS
  • BUTTONS
  • IMAGES
  • THE MESSAGE BOX

All of the above should be familiar to users of HyperCard and MetaCard.

  • GRAPHICS

These are vector-graphic objects.

  • WIDGETS

The first 6 components are the basic building blocks of an xTalk application.

An xTalk application is based on the concept of a STACK of virtual CARDS.

An xTalk application can consist of a single CARD or many.

When a user clicks on an xTalk application they will be presented with the first CARD.

Generally when a programmer works with OpenXTalk they work on STACKS, and a STACK can be converted into a standalone application to run on a number of platforms; a standalone cannot be edited.

A programmer can build or modify stacks by adding new CARDS or by adding new components to existing CARDS.

Individual CARDS can have names to aid in navigation between them using, for instance, code inside BUTTONS.

Here is a stack with 2 cards:

 

The BUTTON GO NEXT CARD:

contains the code:

on mouseUp
  go next
end mouseUp
edit