HOME

TheInfoList



OR:

LiveCode (formerly Revolution and MetaCard) is a
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
rapid application development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
runtime system In computer programming, a runtime system or runtime environment is a sub-system that exists both in the computer where a program is created, as well as in the computers where the program is intended to be run. The name comes from the compile t ...
inspired by
HyperCard HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, fl ...
. It features the ''LiveCode Script'' (formerly MetaTalk) programming language which belongs to the family of
xTalk HyperTalk is a discontinued 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. Because the main target audience of HyperTalk w ...
scripting languages like
HyperCard HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, fl ...
's
HyperTalk HyperTalk is a discontinued 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. Because the main target audience of HyperTalk ...
. The environment was introduced in 2001. The "Revolution" development system was based on the
MetaCard MetaCard is a discontinued cross-platform, commercial HyperCard clone. MetaCard included an IDE, a GUI toolkit and had its own language, MetaTalk. From the MetaCard Corporation website: "The MetaTalk language has all the features common to third-ge ...
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. In March, 2015, the company was renamed "LiveCode Ltd.", to unify the company name with the product. In April 2013 a free/open source version 'LiveCode Community Edition 6.0' was published after a successful
crowdfunding Crowdfunding is the practice of funding a project or venture by raising money from a large number of people, typically via the internet. Crowdfunding is a form of crowdsourcing and alternative finance. In 2015, over was raised worldwide by crow ...
campaign at
Kickstarter Kickstarter is an American public benefit corporation based in Brooklyn, New York, that maintains a global crowdfunding platform focused on creativity. The company's stated mission is to "help bring creative projects to life". As of July 2021, ...
. The code base was re-licensed and made available as
free and open source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
with a version in April 2013. LiveCode runs on
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
, Android,
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Windows 95 Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufacturin ...
through
Windows 10 Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on J ...
,
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
and several variations of Unix, including Linux, Solaris, and BSD. It can be used for mobile, desktop and server/CGI applications. The iOS (iPhone and iPad) version 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. A developer release of v.8 was announced in New York on March 12, 2015. This major enhancement to the product includes a new, separate development language, known as "LiveCode Builder", which is capable of creating new object classes called "widgets". In earlier versions, the set of object classes was fixed, and could be enhanced only via the use of ordinary procedural languages such as C. The new language, which runs in its own IDE, is a departure from the transitional x-talk paradigm in that it permits typing of variables. But the two environments are fully integrated, and apart from the ability to create new objects, development in LiveCode proceeds in the normal way, within the established IDE. A second
crowdfunding Crowdfunding is the practice of funding a project or venture by raising money from a large number of people, typically via the internet. Crowdfunding is a form of crowdsourcing and alternative finance. In 2015, over was raised worldwide by crow ...
campaign to Bring HTML5 to LiveCode reached funding goals of nearly US$400,000 on July 31, 2014. LiveCode developer release 8.0 DP4 (August 31, 2015) was the first to include a standalone deployment option to
HTML5 HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
. On 31 August 2021, starting with version 9.6.4, LiveCode Community edition, licensed under
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
, was discontinued.


Description

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 an extremely powerful and intuitive system known as "chunking", a
hallmark A hallmark is an official mark or series of marks struck on items made of metal, mostly to certify the content of noble metals—such as platinum, gold, silver and in some nations, palladium. In a more general sense, the term ''hallmark'' can al ...
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 In computer science, an associative array, map, symbol table, or dictionary is an abstract data type that stores a collection of (key, value) pairs, such that each possible key appears at most once in the collection. In mathematical terms an a ...
,Tutorial: Using Arrays in LiveCode
/ref>
regular expressions A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" or ...
, multimedia, support for a variety of SQL databases, and
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
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 HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, fl ...
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 HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, fl ...
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. See Section 5. Tools for Creating Net Apps.


Compatibility

iOS and Android targets are available in some versions. Note: Complete Linux requirements for 4.5.x-6.x are the following: * 32-bit installation, or a 64-bit linux distribution that has a 32-bit compatibility layer * 2.4.x or later kernel * X11R5 capable Xserver running locally on a 24-bit display * glibc 2.3.2 or later * gtk/gdk/glib (optional – required for native theme support) * pango/xft (optional – required for pdf printing, anti-aliased text and unicode font support) * lcms (optional – required for color profile support in JPEGs and PNGs) * gksu (optional – required for elevate process support)


See also

*
MetaCard MetaCard is a discontinued cross-platform, commercial HyperCard clone. MetaCard included an IDE, a GUI toolkit and had its own language, MetaTalk. From the MetaCard Corporation website: "The MetaTalk language has all the features common to third-ge ...
, Runtime Revolution acquired the MetaCard technology, on which its development system is based, in 2003. *
HyperCard HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, fl ...
, Progenitor of all xTalk languages.


References


Bibliography

*Lavieri, Edward
LiveCode Mobile Development HOTSHOT
*Holgate, Colin
LiveCode Mobile Development Beginner's Guide
*Schonewille, Mark
Programming LiveCode for the Real BeginnerShafer, Dan
''Revolution: Software At The Speed Of Thought, Volume 1'' (Runtime Revolution Ltd, 2003) *Wang, Wallace


External links

* {{DEFAULTSORT:Livecode Cross-platform software Formerly free software Integrated development environments Computing platforms Programming languages Programming languages created in 2001 2001 software Scripting languages