Jump to content

LiveCode

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by RunRevKev (talk | contribs) at 20:22, 28 January 2013 (Description). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
LiveCode
ParadigmObject-oriented
DeveloperRuntime Revolution, Ltd
First appeared1993 (1993)
OSiOS, Android, Mac OS X, Mac OS 9, Microsoft Windows, Linux, Solaris
LicenseProprietary
Websitewww.runrev.com
Influenced by
HyperTalk

The LiveCode programming language (formerly the "Revolution" programming language)[1] is a commercial cross-platform[2] rapid application development language inspired by Hypercard's programming language HyperTalk.[3][4]

The language was first introduced in 2001.[5] The "Revolution" development system was based on the MetaCard engine technology which Runtime Revolution later acquired from MetaCard Corporation in 2003.[6] The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004.[7] "Revolution" was renamed "LiveCode" in the fall of 2010. "LiveCode" is developed and sold by Runtime Revolution Ltd., based in Edinburgh, Scotland.

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.[8][9] The first version to deploy to the Web was released in 2009.[10]

Description

LiveCode can create native applications that run on mobile or desktop platforms. It is possible to create applications that have a uniform feature set on each platform or customize them to produce a platform specific user experience. The environment can also run in a server mode, either accepting connections or by embedding tags for execution within html pages. Code libraries can be used on both the client and server.

The term LiveCode refers both to the visual development environment and is also the name of the language itself. It gets its name from the fact that there is no compile cycle during development. Applications are always live while being created.

LiveCode is a very-high-level language. The language is dynamically typed, meaning that it does not require declaring the type of each variable. Particular emphasis is given to code readability. 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).

In this example: - "repeat" (and the associated "end repeat") is a control structure, illustrated here in 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 chunking keyword (see below)

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

Text chunking is a way of referring to text and data using English-like expressions such as "word 1 of" or "line 3 to 5 of" instead of using traditional functions or arrays found in other languages.

To load the source code of a web page into a variable involves the following 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"

The language contains around about 1900 language terms and keywords. Notable features include associative arrays,[11] 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.

The language may be extended by external libraries written in C and other lower level languages.[12][13]

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 ~3MB) 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 its very similar development environment and scripting language. But LiveCode is a substantial superset of that program, and brings the x-talk paradigm into modernity, while losing none of the paradigm's simplicity and beauty. LiveCode includes a number of features missing from the original HyperCard program, including mobile deployment, communication with external devices and many fundamental language extensions, such as object-oriented behaviors. Another major extension is the ability to access internet-based text and media resources, which allows the developer to create internet-enabled desktop applications.[14]

See also

  • Runtime Revolution, the company that makes LiveCode
  • MetaCard, Runtime Revolution acquired the MetaCard technology on which its development system is based in 2003.
  • HyperCard, Progenitor of all xTalk languages.

References

  1. ^ MacNN: RunRev replaces Revolution with "LiveCode"
  2. ^ PCWorld: Development Tool for Mac OS X and Vista
  3. ^ 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....
  4. ^ Manchester, Phil (27 December 2007). "Hypercard on steroids: One code to bind them all". The Register.
  5. ^ Macworld: Runtime releases Revolution 1.1 for OS X
  6. ^ Macworld: Runtime Revolution acquires MetaCard technology
  7. ^ "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
  8. ^ Software Development Times: Runtime Revolution Releases iOS Deployment Pack
  9. ^ Ranscombe, Peter (7 December 2010). "RunRev sets sights on £1m sales boost with release of LiveCode". The Scotsman.
  10. ^ Miller, Kevin (22 April 2009). "Will an easy to use language attract content experts?". WWW2009 Conference Paper.
  11. ^ Tutorial: Using Arrays in LiveCode
  12. ^ 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.
  13. ^ Waddingham, Mark (October 4, 2007). "Writing Externals for Linux with 2.9". Runtime Revolution Newsletter. Runtime Revolution, Ltd.
  14. ^ Gaskin, Richard (Sept 20, 2001). "Beyond the Browser, Rediscovering the Role of the Desktop in a Net-centric World". Fourth World Embassy Articles. {{cite journal}}: Check date values in: |date= (help) See Section 5. Tools for Creating Net Apps.

Bibliography