LiveCode
Encyclopedia
The LiveCode programming language (formerly the "Revolution" programming language) is a commercial cross-platform
rapid application development
language inspired by Hypercard's
programming language HyperTalk
.
The language was first introduced in 2001. The "Revolution" development system was based on the MetaCard
engine technology which Runtime Revolution
later acquired from MetaCard Corporation in 2003. The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004. "Revolution" was renamed "LiveCode" in the fall of 2010. "LiveCode" is developed and sold by Runtime Revolution
Ltd., based in Edinburgh, Scotland. It has tens of thousands of users.
LiveCode runs on iOS, Android, Mac OS X
, Windows 95
through Windows 7, and several variations of Unix, including Linux, Solaris, and BSD. It can be used for both desktop and server/CGI applications. The first version for iOS (iPhone and iPad) was released in December 2010. The first version to deploy to the Web was released in 2009. It is the most widely used Hypercard/HyperTalk clone, and the only one that runs on all major operating systems.
Ten lines of "Hello world at 9:00 AM" will be loaded into the first text field. (numbered as such and denoted as "field 1")
"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 time" is a function that calls the system time
"after" is a keyword that is involved with an extremely powerful and intuitive system known as "chunking", a hallmark of 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 ways, all of which are highly intuitive.
While its natural-language syntax is designed to make it easy to learn for beginners, the language contains advanced features including associative arrays, regular expressions, QuickTime
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, and embedded web browsers. Accessing these higher-level functions is designed to be straightforward.
For example, to load the source code of a web page into a variable takes one line of code:
Uploading a file to an FTP server uses similar syntax:
There are around 1900 built-in language terms and keywords, which may be extended by external libraries written in C and other lower level languages.
LiveCode project files are binary-compatible across platforms. They inherit each platform's unique look and feel and behaviors with no modification. For example, buttons, scrollbars, progress bars and menus behave as expected on the target platform without any intervention on the part of the developer.
Compiling a standalone produces a single-file executable (minimum size ~1.5MB) for each platform targeted. There is no separate runtime necessary.
The Wikipedia article on Hypercard
, being at root quite similar, contains a more detailed discussion about the basics of the development environment and scripting language. But LiveCode is a vast superset of that program, and brings the x-talk paradigm into modernity, while losing none of its simplicity and beauty. 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 such as object-oriented behaviors. A major addition to the LiveCode toolkit, as compared to HyperCard, is the ability to access internet-based text and media resources, which allows the developer to create internet-enabled desktop applications.
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
rapid application development
Rapid application development
Rapid application development is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself...
language inspired by Hypercard's
HyperCard
HyperCard is an application program created by Bill Atkinson for Apple Computer, Inc. that was among the first successful hypermedia systems before the World Wide Web. It combines database capabilities with a graphical, flexible, user-modifiable interface. HyperCard also features HyperTalk, written...
programming language HyperTalk
HyperTalk
HyperTalk is a high-level, procedural programming language created in 1987 by Dan Winkler and used in conjunction with Apple Computer's HyperCard hypermedia program by Bill Atkinson. The main target audience of HyperTalk was beginning programmers, hence HyperTalk programmers were usually called...
.
The language was first introduced in 2001. The "Revolution" development system was based on the MetaCard
MetaCard
MetaCard was a cross-platform, commercial GUI toolkit. MetaCard included an IDE and had its own language, MetaTalk. From the MetaCard Corporation website: "The MetaTalk language has all the features common to third-generation languages like C/C++/Java but has a much simpler syntax."All the Metacard...
engine technology which Runtime Revolution
Runtime Revolution
Runtime Revolution Ltd. makes the LiveCode cross-platform development environment for creating applications that run on iOS, Microsoft Windows, Linux, Mac OS X and Solaris.-History:...
later acquired from MetaCard Corporation in 2003. The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004. "Revolution" was renamed "LiveCode" in the fall of 2010. "LiveCode" is developed and sold by Runtime Revolution
Runtime Revolution
Runtime Revolution Ltd. makes the LiveCode cross-platform development environment for creating applications that run on iOS, Microsoft Windows, Linux, Mac OS X and Solaris.-History:...
Ltd., based in Edinburgh, Scotland. It has tens of thousands of users.
LiveCode runs on iOS, Android, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...
through Windows 7, and several variations of Unix, including Linux, Solaris, and BSD. It can be used for both desktop and server/CGI applications. The first version for iOS (iPhone and iPad) was released in December 2010. The first version to deploy to the Web was released in 2009. It is the most widely used Hypercard/HyperTalk clone, and the only one that runs on all major operating systems.
Description
LiveCode allows developers to create applications that run in any of the supported environments, using a compile-free workflow. Developers can reuse the same code across multiple devices and platforms from a single code base. LiveCode uses a high level, English-like programming language that is dynamically typed. The high-level programming language and compile-free workflow allow for 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 AM:
repeat ten times
put "Hello world at" && the time & return after field 1
end repeat
Ten lines of "Hello world at 9:00 AM" will be loaded into the first text field. (numbered as such and denoted as "field 1")
"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 time" is a function that calls the system time
"after" is a keyword that is involved with an extremely powerful and intuitive system known as "chunking", a hallmark of 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 ways, all of which are highly intuitive.
While its natural-language syntax is designed to make it easy to learn for beginners, the language contains advanced features including associative arrays, regular expressions, QuickTime
QuickTime
QuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and...
multimedia, support for a variety of SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
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, and embedded web browsers. Accessing these higher-level functions is designed to be straightforward.
For example, to load the source code of a web page into a variable takes one line of code:
put url "http://www.yahoo.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"
There are around 1900 built-in language terms and keywords, which may be extended by external libraries written in C and other lower level languages.
LiveCode project files are binary-compatible across platforms. They inherit each platform's unique look and feel and behaviors with no modification. For example, buttons, scrollbars, progress bars and menus behave as expected on the target platform without any intervention on the part of the developer.
Compiling a standalone produces a single-file executable (minimum size ~1.5MB) for each platform targeted. There is no separate runtime necessary.
The Wikipedia article on Hypercard
HyperCard
HyperCard is an application program created by Bill Atkinson for Apple Computer, Inc. that was among the first successful hypermedia systems before the World Wide Web. It combines database capabilities with a graphical, flexible, user-modifiable interface. HyperCard also features HyperTalk, written...
, being at root quite similar, contains a more detailed discussion about the basics of the development environment and scripting language. But LiveCode is a vast superset of that program, and brings the x-talk paradigm into modernity, while losing none of its simplicity and beauty. 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 such as object-oriented behaviors. A major addition to the LiveCode toolkit, as compared to HyperCard, is the ability to access internet-based text and media resources, which allows the developer to create internet-enabled desktop applications.
See also
- Runtime RevolutionRuntime RevolutionRuntime Revolution Ltd. makes the LiveCode cross-platform development environment for creating applications that run on iOS, Microsoft Windows, Linux, Mac OS X and Solaris.-History:...
, the company that makes LiveCode - MetaCardMetaCardMetaCard was a cross-platform, commercial GUI toolkit. MetaCard included an IDE and had its own language, MetaTalk. From the MetaCard Corporation website: "The MetaTalk language has all the features common to third-generation languages like C/C++/Java but has a much simpler syntax."All the Metacard...
, Runtime Revolution acquired the MetaCard technology on which its development system is based in 2003. - HyperCardHyperCardHyperCard is an application program created by Bill Atkinson for Apple Computer, Inc. that was among the first successful hypermedia systems before the World Wide Web. It combines database capabilities with a graphical, flexible, user-modifiable interface. HyperCard also features HyperTalk, written...
External links
- RunRev Ltd. Maker of LiveCode. Site includes links to documentation, tutorials, and user forums.
- Brigham Young University Programming in LiveCode course Notes and readings to accompany beginning and intermediate courses in developing instructional applications. Topical index included.
- Hyperactive Software Articles on LiveCode including converting HyperCard stacks
- Tips and Tricks List of tips and tricks for using LiveCode
- LiveCode (formerly Revolution) Programming Tutorial by Robert CailliauRobert CailliauRobert Cailliau , born 26 January 1947, is a Belgian informatics engineer and computer scientist who, together with Sir Tim Berners-Lee, developed the World Wide Web.-Biography:...
- M E R Goulding Software Development Blog Articles about LiveCode and IDE plugins.
- Revolution Scripting Conferences
- LiveCode Journal webzine for LiveCode developers
- FourthWorld RunRev Embassy Links, articles and blog for LiveCode developers
- Network World Review of LiveCode
- First Look: Revolution 2.9, cross-platform compiler April 2008 MacNN Article
- End User Programming Packages: Revolution Review by Peter Alcibiades on osnews.com
- Review of Runtime Revolution November 2005 Macworld UK Article by John Dixon
- LiveCode Google Group
- GLX Framework 3rd party application framework for LiveCode
- Remo 3rd party IDE for LiveCode
- Mirye Software Publishing Publisher of LiveCode and external libraries for LiveCode
- Franklin 3D Game Engine Franklin 3D Game Engine for LiveCode
- Valentina DB Valentina Object Relational Database for LiveCode
- revIgniter 3rd party Web Application Development Framework for LiveCode
- NativeSpeak I18N/Localization for LiveCode