LiveCode Mobile Development Beginner's Guide
上QQ阅读APP看书,第一时间看更新

Background history and metaphors

Many development tools just present a programming language and interfaces to system routines. Higher-level tools often present the same things, but structured in such a way that you can think of real world metaphors for the different aspects of the tool. LiveCode is very much like that, and its metaphor is a stack of cards. This metaphor originated with Apple Computer's HyperCard authoring tool, created by Bill Atkinson in the mid-1980s. The first version of HyperCard was released in August 1987, and it became a huge hit in both education and multimedia. Companies such as The Voyager Company published entire product lines that were created using HyperCard.

Other companies produced tools that were very much like HyperCard, but that also tried to give the user more features than were in HyperCard. The most prominent of those tools were SuperCard, Plus, and MetaCard. Plus went on to have an interesting life, the product itself became Windows-only (it was cross-platform at first), but later the same code ended up in the cross-platform tool Oracle Media Objects. All of these tools perpetuated the metaphor of a stack of cards.

MetaCard was most notable for the fact that it was multi-platform, not just cross-platform. Stacks, the general term used for documents created by these tools, made with MetaCard could run on Unix and Linux systems, as well as Mac and Windows. Alas, it was somewhat ugly! The Scottish company RunRev made a product that was an attempt to present MetaCard in a more appealing way. Eventually RunRev acquired MetaCard, and since 2003 RunRev has continued to build upon MetaCard, using the product name "Runtime Revolution", later renamed to LiveCode.

Under the HyperCard variation of the metaphor, documents consisted of cards that held buttons, fields, and bitmap graphics, backgrounds that held a set of cards, and stacks that held a set of backgrounds. LiveCode takes a slightly different approach, and rather than having backgrounds that hold cards, it allows you to group any set of interface controls and set those to act as if they are a background entity. This ends up being more flexible, though slightly alien to people who have used HyperCard a lot.

Both HyperCard and LiveCode provide ways to extend the hierarchy further. You will be able to take other stacks and put them into use. To save rewriting the same set of functions in every stack, you might choose to have a stack dedicated to those functions, and then add that stack to the "stackinsuse", using the command:

start using stack "utility stack"

Additionally you can write externals, which are commands and functions written in the C language, which can extend LiveCode's abilities even further.