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 provide 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
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 associatedend repeat
) is a control structure, illustrated here in just one of its various forms.put
is a command"Hello World at"
is a literalthe long time
is a function that calls the system timereturn
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
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