The LiveCode software creates applications that run in many supported environments, using a compile-free workflow. The same computer code in LiveCode can play across multiple devices and platforms. LiveCode uses a high level, English-like programming language called Transcript that is dynamically typed. Transcript and 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: • (and the associated ) is a control structure, illustrated here in just one of its various forms. • is a command • is a literal • is a function that calls the system time • is a constant equal to ASCII character 10 (linefeed) • is a keyword that is involved with a system known as "chunking", a
hallmark of xTalk languages. • 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. LiveCode's natural English-like syntax is easy for beginners to learn. Variables are typeless, and are typed at compile time based purely on context. This makes the language simple to read and maintain, with relatively minimal loss of speed. The language contains advanced features including
associative arrays,
regular expressions, multimedia, support for a variety of
SQL databases, and
TCP/IP libraries. The LiveCode engine supports several common image formats (including BMP, PNG, GIF, and JPEG,), anti-aliased
vector graphics, HTML-style text hyperlinks, chained behaviors and embedded web browsers. Accessing these higher-level functions is designed to be straightforward.
Examples • To load the source code of a web page into a variable takes one line of code: put url "http://www.wikipedia.com" into MyVariable • Uploading a file to an FTP server uses similar syntax: put url "binfile:picture.jpg" into url "ftp://john:passwd@ftp.example.net:2121/picture.jpg"
Depth LiveCode has around 2,950 built-in language terms and keywords, which may be extended by external libraries written in C and other lower level languages.
Outcomes LiveCode project files are binary-compatible across platforms. They inherit each platform's look-and-feel and behaviors. Buttons, scroll bars, progress bars and menus behave as expected on the target platform without any intervention on the part of the one authoring a LiveCode application. Compiling a LiveCode "standalone" produces a single, executable file (minimum size ~1.5MB) for each platform targeted. There is no separate runtime necessary. The Wikipedia article on
HyperCard contains a more detailed discussion about the basics of a similar development environment and
scripting language. Modern LiveCode is a vast superset of the former
HyperCard yet retains its simplicity. LiveCode includes a number of features missing from the original HyperCard program, including multiple platform deployment, communication with external devices and many fundamental language extensions. The LiveCode toolkit, as compared to HyperCard, has the ability to access internet-based text and media resources, which allows the creation of internet-enabled desktop applications. ==Compatibility==