LiveCode

Last updated

LiveCode
Developer(s) LiveCode Ltd.
Initial releaseJuly 11, 2001;23 years ago (2001-07-11)
Stable release
9.6.4 / August 31, 2021;2 years ago (2021-08-31) [1]
Preview release
9.6.5RC2 / October 25, 2021;2 years ago (2021-10-25) [1]
Repository
Operating system macOS, Windows, Linux, Unix, Android, iOS, HTML5
Type Programming
License GPL (until version 9.6.3), [2] Proprietary
Website livecode.org livecode.com OOjs UI icon edit-ltr-progressive.svg
LiveCode Script
Paradigm Object-oriented
Familyscripting language
Developer LiveCode, Ltd
First appeared1993 (1993)
Platform i386, AMD64, ARM
OS Windows, macOS, Linux, Unix, Raspberry Pi
License Proprietary, GPL
Website livecode.com OOjs UI icon edit-ltr-progressive.svg
Influenced by
HyperTalk

LiveCode (formerly Revolution and MetaCard [3] ) is a cross-platform [4] rapid application development runtime system inspired by HyperCard. It features the LiveCode Script (formerly MetaTalk) programming language which belongs to the family of xTalk scripting languages like HyperCard's HyperTalk. [5] [6]

Contents

The environment was introduced in 2001. [7] The "Revolution" development system was based on the MetaCard engine technology which Runtime Revolution later acquired from MetaCard Corporation in 2003. [8] [9] The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004. [10] "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 campaign at Kickstarter. [11] The code base was re-licensed and made available as free and open source software with a version in April 2013.

LiveCode runs on iOS, Android, OS X, Windows 95 through Windows 10, Raspberry Pi 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. [12] [13] The first version to deploy to the Web was released in 2009. [14] It is the most widely used HyperCard/HyperTalk clone,[ citation needed ] 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 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.

On 31 August 2021, starting with version 9.6.4, LiveCode Community edition, licensed under GPL, was discontinued. [2]

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:

repeattentimesput"Hello world at"&&thelongtime&returnafterfield1wait1secondendrepeat

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:

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, [15] 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

puturl"http://www.wikipedia.com"intoMyVariable
puturl"binfile:picture.jpg"intourl"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. [16] [17]

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. [18]

Compatibility

VersionMacintoshWindowsLinux
9.x [19] 10.9.x - 10.13.x Intel7, 2008, Windows 8.x, Windows 10.x (Desktop)32 or 64 bit, 32-bit ARMv6 (Raspberry Pi) glibc glib gtk/gdk lcms pango/xft gksu esd mplayer
8.x [20] 10.6.x - 10.12.x IntelXP SP2+, 2003, Vista SP1+, 7, 2008, Windows 8.x, Windows 10.x (Desktop)32 or 64 bit, 32-bit ARMv6 (Raspberry Pi) glibc gtk lcms pango/xft gksu esd mplayer
7.x [21] 10.6.x - 10.9.x IntelXP SP2+, 2003, Vista SP1+, 7, 2008, Windows 8.x, Windows 10.x (Desktop)32 or 64 bit, 32-bit ARMv6 (Raspberry Pi) glibc gtk lcms pango/xft gksu esd mplayer
6.7.x [22] 10.6.x - 10.9.x IntelXP SP2+, 2003, Vista SP1+, 7, 2008, Windows 8.x, Windows 10.x (Desktop)2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms pango/xft gksu
6.6.x [23] 10.5.8 - 10.9.x Intel/PPCXP SP2+, 2003, Vista SP1+, 7, 2008, Windows 8.x, Windows 10.x (Desktop)2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms pango/xft gksu
6.0.x - 6.5.x [24] 10.4.11 - 10.9.x Intel/PPCXP SP2+, 2003, Vista SP1+, 7, 2008, Windows 8.x, Windows 10.x (Desktop)2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms pango/xft gksu
5.x [25] 10.4.11 - 10.8.x Intel/PPC2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 20082.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
4.6.x [26] 10.4.11 - 10.8.x Intel/PPC2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 20082.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
4.5.x [27] 10.3.9 - 10.8.x Intel/PPC2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 20082.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
4.0.x ? ? ?
3.x ? ? ?
2.6.x [28] 10.2.7 - 10.6.x Intel/PPC, 9.2.2 PPC98, Me, NT, 2000, XP, Vista2.4+ 32 bit X11R5 glibc 2.2.4 gtk lcms

iOS and Android targets are available in some versions.

Note: Complete Linux requirements for 4.5.x-6.x are the following:

See also

Related Research Articles

<span class="mw-page-title-main">HyperCard</span> Hypermedia system for Apple Macintosh and Apple IIGS computers

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.

OCaml is a general-purpose, high-level, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features. OCaml was created in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez, and others.

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 was beginning programmers, HyperTalk programmers were usually called "authors" and the process of writing programs was known as "scripting". HyperTalk scripts resembled written English and used a logical structure similar to that of the Pascal programming language.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

AppleScript is a scripting language created by Apple Inc. that facilitates automated control over scriptable Mac applications. First introduced in System 7, it is currently included in all versions of macOS as part of a package of system automation tools. The term "AppleScript" may refer to the language itself, to an individual script written in the language, or, informally, to the macOS Open Scripting Architecture that underlies the language.

Revolution is a software development environment/multimedia authoring software in the tradition of HyperCard and is based on the MetaCard engine. Its primary focus is on providing a relatively accessible development tool set and scripting language that enable the creation of software programs that run across multiple platforms with little or no code modifications. The Integrated Development Environment (IDE) included with Revolution is built partly on the models created by Bill Atkinson and the original HyperCard team at Apple and subsequently followed by many other software development products, such as Microsoft's Visual Basic. Revolution includes an English language-like scripting language called Transcript, a full programming language superset of the HyperCard's scripting language, HyperTalk.

<span class="mw-page-title-main">Delphi (software)</span> General-purpose programming language and a software product

Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.

<span class="mw-page-title-main">ActionScript</span> Object-oriented programming language created for the Flash multimedia platform

ActionScript is an object-oriented programming language originally developed by Macromedia Inc.. It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript, though it originally arose as a sibling, both being influenced by HyperTalk. ActionScript code is usually converted to byte-code format by a compiler.

Object Pascal is an extension to the programming language Pascal that provides object-oriented programming (OOP) features such as classes and methods.

<span class="mw-page-title-main">SuperCard</span>

SuperCard was a high-level development environment that ran on Macintosh computers, under OS 8 and 9, and OS X. It was inspired by HyperCard, but included a richer language, a full GUI toolkit, and native color.

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-generation languages like C/C++/Java but has a much simpler syntax."

Mac gaming refers to the use of video games on Macintosh personal computers. In the 1990s, Apple computers did not attract the same level of video game development as Microsoft Windows computers due to the high popularity of Windows and, for 3D gaming, Microsoft's DirectX technology. In recent years, the introduction of Mac OS X and support for Intel processors has eased the porting of many games, including 3D games through use of OpenGL, and more recently, Apple's own Metal API API. Virtualization technology and the Boot Camp dual-boot utility also permit the use of Windows and its games on Macintosh computers. Today, a growing number of popular games run natively on macOS, though as of early 2019, a majority still require the use of Microsoft Windows.

LiveCode Ltd. makes the LiveCode cross-platform development environment for creating applications that run on iOS, Microsoft Windows, Linux, macOS, Android and Browsers. It is similar to Apple's discontinued HyperCard.

NS Basic is a family of development tools developed and commercially marketed by NSB Corporation in Toronto, Ontario, Canada for iOS, Android, Microsoft Windows, MacOS, Linux, BlackBerry OS, WebOS, Newton OS, Palm OS, Windows CE and Windows Mobile.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. It can be used to develop web and mobile apps as well as server and desktop applications.

<span class="mw-page-title-main">Mono (software)</span> Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

<span class="mw-page-title-main">Red (programming language)</span> Computer programming language released in 2011

Red is a programming language designed to overcome the limitations of the programming language Rebol. Red was introduced in 2011 by Nenad Rakočević, and is both an imperative and functional programming language. Its syntax and general usage overlaps that of the interpreted Rebol language.

<span class="mw-page-title-main">Xojo</span> Programming environment and programming language

The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, Android, the Web and Raspberry Pi. Xojo uses a proprietary object-oriented language.

<span class="mw-page-title-main">.NET</span> Free and open-source software platform developed by Microsoft

The .NET platform is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft employees by way of the .NET Foundation and is released under an MIT License.

References

  1. 1 2 "All LiveCode Downloads". livecode.com. LiveCode Ltd. Retrieved 31 August 2021.
  2. 1 2 "LiveCode | The home of LiveCode open source". Archived from the original on 31 August 2021. Retrieved 31 August 2021. We have therefore taken the decision at this time to discontinue support for the open source editions of LiveCode. You can of course continue to use existing open source editions, and the code remains visible on github for viewing. The project will no longer accept contributions and we will not be maintaining it or offering open source downloads on our site.
  3. MacNN: RunRev replaces Revolution with "LiveCode"
  4. "PCWorld: Development Tool for Mac OS X and Vista". Archived from the original on 25 December 2011.
  5. Shafer, Dan (2004). "Review: Runtime Revolution, Programming for Mere Mortals". MacTech. 20 (5). Revolution ... grows out of HyperCard, a much-beloved and widely used Apple Computer product that the company abandoned a few years ago....
  6. Manchester, Phil (27 December 2007). "HyperCard on steroids: One code to bind them all". The Register.
  7. "Macworld: Runtime releases Revolution 1.1 for OS X" . Retrieved 12 March 2024.
  8. "Macworld: Runtime Revolution acquires MetaCard technology" . Retrieved 12 March 2024.
  9. "Runtime Revolution Acquires MetaCard Technology". 8 July 2003. Archived from the original on 3 February 2004.
  10. "The 19th Annual Editor's Choice Awards". Macworld. 2004. HyperCard, with its stacks metaphor, has a new heir in Runtime Revolution's Revolution Studio 2.1
  11. "Next Generation LiveCode (Open Source)".
  12. Serignese, Katie (6 December 2010). "Runtime Revolution releases iOS deployment pack" . Retrieved 12 March 2024.
  13. Ranscombe, Peter (7 December 2010). "RunRev sets sights on £1m sales boost with release of LiveCode". The Scotsman.
  14. Miller, Kevin (22 April 2009). "Will an easy to use language attract content experts?". WWW2009 Conference Paper.
  15. Tutorial: Using Arrays in LiveCode
  16. Monroe, Tim (2003). "Children of the Revolution: Editing QuickTime Movies in Revolution". MacTech. 19 (10). Happily, Runtime Revolution provides a software development kit (SDK) for writing Revolution plug-ins, and this makes writing our plug-in a snap.
  17. Waddingham, Mark (4 October 2007). "Writing Externals for Linux with 2.9". Runtime Revolution Newsletter. Runtime Revolution, Ltd.
  18. Gaskin, Richard (20 September 2001). "Beyond the Browser, Rediscovering the Role of the Desktop in a Net-centric World". Fourth World Embassy Articles. See Section 5. Tools for Creating Net Apps.
  19. "LiveCode 9.5.0 Release Notes" (PDF). livecodestatic.com. Retrieved 12 March 2024.
  20. "Archived copy" (PDF). Archived from the original (PDF) on 22 December 2015. Retrieved 1 September 2015.{{cite web}}: CS1 maint: archived copy as title (link)
  21. "LiveCode 7.0.0 Release Notes" (PDF). livecodestatic.com. Retrieved 12 March 2024.
  22. "LiveCode 6.7.0 Release Notes" (PDF). livecodestatic.com. Retrieved 12 March 2024.
  23. "LiveCode 6.6.5 Release Notes" (PDF). livecodestatic.com. Retrieved 12 March 2024.
  24. "LiveCode 6.5.2 Release Notes" (PDF). runrev.com. Retrieved 12 March 2024.
  25. "LiveCode 5.5.0 Release Notes" (PDF). runrev.com. Retrieved 12 March 2024.
  26. "LiveCode 4.6.0 Release Notes" (PDF). runrev.com. Retrieved 12 March 2024.
  27. "LiveCode 4.5.0 Release Notes" (PDF). runrev.com. Retrieved 12 March 2024.
  28. "Livecode User Guide" (PDF). Archived from the original (PDF) on 21 December 2012. Retrieved 1 May 2013.

Bibliography