Draft:OpenXTalk (2)

This is an old revision of this page, as edited by Richmondmathewson (talk | contribs) at 13:32, 23 June 2024. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

OpenXTalk

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 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

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.