Jump to content

LiveCode: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Kne1p (talk | contribs)
m HyperCard spelling
Line 12: Line 12:
}}
}}


The '''LiveCode''' programming language (formerly the "Revolution" programming language)<ref>[http://www.macnn.com/articles/10/09/27/revamp.offers.new.ios.development.environment/ MacNN: RunRev replaces Revolution with "LiveCode"]</ref> is both an open-source and commercial [[cross-platform]]<ref>[http://www.pcworld.com/article/129167/development_tool_for_mac_os_x_and_vista.html PCWorld: Development Tool for Mac OS X and Vista]</ref> [[rapid application development]] language inspired by [[Hypercard|Hypercard's]] programming language [[HyperTalk]].<ref>{{cite journal | first = Dan | last = Shafer | volume=20 | issue=5 | year = 2004 | journal = MacTech | title = Review: Runtime Revolution, Programming for Mere Mortals | url = http://www.mactech.com/articles/mactech/Vol.20/20.05/RuntimeRevolution/index.html | quote = Revolution ... grows out of HyperCard, a much-beloved and widely used Apple Computer product that the company abandoned a few years ago....}}</ref><ref>{{cite web | first=Phil | last=Manchester | title=Hypercard on steroids: One code to bind them all | date= 27 December 2007 | url=http://www.theregister.co.uk/2007/02/27/revolution_runtime/ | publisher=The Register}}</ref>
The '''LiveCode''' programming language (formerly the "Revolution" programming language)<ref>[http://www.macnn.com/articles/10/09/27/revamp.offers.new.ios.development.environment/ MacNN: RunRev replaces Revolution with "LiveCode"]</ref> is both an open-source and commercial [[cross-platform]]<ref>[http://www.pcworld.com/article/129167/development_tool_for_mac_os_x_and_vista.html PCWorld: Development Tool for Mac OS X and Vista]</ref> [[rapid application development]] language inspired by [[HyperCard|HyperCard's]] programming language [[HyperTalk]].<ref>{{cite journal | first = Dan | last = Shafer | volume=20 | issue=5 | year = 2004 | journal = MacTech | title = Review: Runtime Revolution, Programming for Mere Mortals | url = http://www.mactech.com/articles/mactech/Vol.20/20.05/RuntimeRevolution/index.html | quote = Revolution ... grows out of HyperCard, a much-beloved and widely used Apple Computer product that the company abandoned a few years ago....}}</ref><ref>{{cite web | first=Phil | last=Manchester | title=HyperCard on steroids: One code to bind them all | date= 27 December 2007 | url=http://www.theregister.co.uk/2007/02/27/revolution_runtime/ | publisher=The Register}}</ref>


The language was introduced in 2001.<ref>[http://www.macworld.com/article/20063/2001/11/revolution.html Macworld: Runtime releases Revolution 1.1 for OS X]</ref> The "Revolution" development system was based on the [[MetaCard]] engine technology which [[Runtime Revolution]] later acquired from MetaCard Corporation in 2003.<ref>[http://www.macworld.com/article/25297/2003/07/revolution.html Macworld: Runtime Revolution acquires MetaCard technology]</ref> The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004.<ref>{{cite journal | title=The 19th Annual Editor's Choice Awards | journal=Macworld | year=2004 | url=http://www.macworld.com/article/29040/2004/02/editorschoiceawards2004.html | quote= HyperCard, with its stacks metaphor, has a new heir in Runtime Revolution's Revolution Studio 2.1}}</ref> "Revolution" was renamed "LiveCode" in the fall of 2010. "LiveCode" is developed and sold by [[Runtime Revolution]] Ltd., based in Edinburgh, Scotland. In April 2013 a free/open source version 'LiveCode Community Edition 6.0' was published after a successful kickstarter campaign to make it available on [[Free and open source software|floss]].
The language was introduced in 2001.<ref>[http://www.macworld.com/article/20063/2001/11/revolution.html Macworld: Runtime releases Revolution 1.1 for OS X]</ref> The "Revolution" development system was based on the [[MetaCard]] engine technology which [[Runtime Revolution]] later acquired from MetaCard Corporation in 2003.<ref>[http://www.macworld.com/article/25297/2003/07/revolution.html Macworld: Runtime Revolution acquires MetaCard technology]</ref> The platform won the Macworld Annual Editor's Choice Award for "Best Development Software" in 2004.<ref>{{cite journal | title=The 19th Annual Editor's Choice Awards | journal=Macworld | year=2004 | url=http://www.macworld.com/article/29040/2004/02/editorschoiceawards2004.html | quote= HyperCard, with its stacks metaphor, has a new heir in Runtime Revolution's Revolution Studio 2.1}}</ref> "Revolution" was renamed "LiveCode" in the fall of 2010. "LiveCode" is developed and sold by [[Runtime Revolution]] Ltd., based in Edinburgh, Scotland. In April 2013 a free/open source version 'LiveCode Community Edition 6.0' was published after a successful kickstarter campaign to make it available on [[Free and open source software|floss]].


LiveCode runs on [[IOS (Apple)|iOS]], [[Android (operating system)|Android]], [[Mac OS X]], [[Windows 95]] through [[Windows 7]], 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.<ref>[http://www.sdtimes.com/link/35030 ''Software Development Times'': Runtime Revolution Releases iOS Deployment Pack]</ref><ref>{{cite web | first=Peter | last= Ranscombe | title=RunRev sets sights on £1m sales boost with release of LiveCode | date= 7 December 2010 | url=http://business.scotsman.com/business/RunRev-sets-sights-on-1m.6651846.jp | publisher=The Scotsman}}</ref> The first version to deploy to the Web was released in 2009.<ref>{{cite web | first=Kevin | last= Miller | title= Will an easy to use language attract content experts? | date= 22 April 2009 | url=http://www2009.eprints.org/218/ | publisher=WWW2009 Conference Paper}}</ref> It is the most widely used Hypercard/HyperTalk clone,{{Citation needed|date=February 2011}} and the only one that runs on all major operating systems. LiveCode is currently in v. 6.1, which includes many enhancements for deployment in every OS platform, including iOS and Android. LiveCode released an open source version in April 2013.
LiveCode runs on [[IOS (Apple)|iOS]], [[Android (operating system)|Android]], [[Mac OS X]], [[Windows 95]] through [[Windows 7]], 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.<ref>[http://www.sdtimes.com/link/35030 ''Software Development Times'': Runtime Revolution Releases iOS Deployment Pack]</ref><ref>{{cite web | first=Peter | last= Ranscombe | title=RunRev sets sights on £1m sales boost with release of LiveCode | date= 7 December 2010 | url=http://business.scotsman.com/business/RunRev-sets-sights-on-1m.6651846.jp | publisher=The Scotsman}}</ref> The first version to deploy to the Web was released in 2009.<ref>{{cite web | first=Kevin | last= Miller | title= Will an easy to use language attract content experts? | date= 22 April 2009 | url=http://www2009.eprints.org/218/ | publisher=WWW2009 Conference Paper}}</ref> It is the most widely used HyperCard/HyperTalk clone,{{Citation needed|date=February 2011}} and the only one that runs on all major operating systems. LiveCode is currently in v. 6.1, which includes many enhancements for deployment in every OS platform, including iOS and Android. LiveCode released an open source version in April 2013.


==Description==
==Description==
Line 60: Line 60:
Compiling a LiveCode "standalone" produces a single, executable file (minimum size ~1.5MB) for each platform targeted. There is no separate runtime necessary.
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 such as object-oriented behaviors. 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.<ref name="netapps">{{Cite journal
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 such as object-oriented behaviors. 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.<ref name="netapps">{{Cite journal
| last = Gaskin
| last = Gaskin
| first = Richard
| first = Richard

Revision as of 18:17, 14 December 2013

LiveCode
ParadigmObject-oriented
DeveloperRuntime Revolution, Ltd
First appeared1993 (1993)
OSiOS, Mac OS X, Mac OS 9, Microsoft Windows, Linux, Solaris
LicenseProprietary, GPL
Websitewww.runrev.com
Influenced by
HyperTalk

The LiveCode programming language (formerly the "Revolution" programming language)[1] is both an open-source and commercial cross-platform[2] rapid application development language inspired by HyperCard's programming language HyperTalk.[3][4]

The language was 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. In April 2013 a free/open source version 'LiveCode Community Edition 6.0' was published after a successful kickstarter campaign to make it available on floss.

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 mobile, desktop and server/CGI applications. The iOS (iPhone and iPad) version was released in December 2010.[8][9] The first version to deploy to the Web was released in 2009.[10] It is the most widely used HyperCard/HyperTalk clone,[citation needed] and the only one that runs on all major operating systems. LiveCode is currently in v. 6.1, which includes many enhancements for deployment in every OS platform, including iOS and Android. LiveCode released an open source version in April 2013.

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 that is dynamically typed. The high-level programming language 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 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
  • "return" is a constant equal to ASCII character 10 (linefeed)
  • "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, highly-intuitive ways.

While LiveCode's natural-language syntax is easy for beginners to learn, the language contains advanced features including 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. 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.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"

Depth

LiveCode has around 1,900 built-in language terms and keywords, which may be extended by external libraries written in C and other lower level languages.[12][13]

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 such as object-oriented behaviors. 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.[14]

Compatibility

Version Macintosh Windows Linux
6.x[15] 10.4.11 - 10.8.x Intel/PPC 2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 2008 2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
5.x[16] 10.4.11 - 10.8.x Intel/PPC 2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 2008 2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
4.6.x[17] 10.4.11 - 10.8.x Intel/PPC 2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 2008 2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
4.5.x[18] 10.3.9 - 10.8.x Intel/PPC 2000 SP4, XP SP2+, 2003, Vista SP1+, 7, 2008 2.4.x+ 32 bit X11R5 glibc 2.3.2 gtk lcms
4.0.x ? ? ?
3.x ? ? ?
2.6.x[19] 10.2.7 - 10.6.x Intel/PPC, 9.2.2 PPC 98, Me, NT, 2000, XP, Vista 2.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

  • 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

  • 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 some 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.
  15. ^ http://www.runrev.com/downloads/livecode/6_0_0/LiveCodeNotes-6_0_0.pdf
  16. ^ http://www.runrev.com/downloads/livecode/5_5_0/LiveCodeNotes-5_5_0.pdf
  17. ^ http://www.runrev.com/downloads/livecode/4_6_0/LiveCodeNotes-4_6_0.pdf
  18. ^ http://www.runrev.com/downloads/livecode/4_5_0/LiveCodeNotes-4_5_0.pdf
  19. ^ http://downloads.runrev.com/userguide/userguide.pdf

Bibliography