Professional programmers and Enterprise developers will appreciate the wide range of powerful features that make even the largest and most complex application easy.
Modern software design principals often recommend the separation of interface elements from code. While that remains desirable for sophisticated or scalable applications developed in LiveCode, unlike many other development environments, it is possible and efficient to design even fairly complex applications with the user interface code tied closely to objects. For these applications, LiveCode makes it easy to tie interface code directly to objects or to libraries within the application, while the iterative nature of editing a live application brings outstanding productivity.
However as a professional programmer designing large, reusable or scalable applications, you’ll want to keep your interface code separate from your application code, and design any complex objects in one place then reuse them. LiveCode makes this easy too, with our live development model combined with our support for Object-Oriented Behaviors.
Object-Oriented Behaviors are implemented by setting a property of an object to point to another object. This source object code then “lives” in the object as if it was part of it. This means you can update your code for multiple objects in one place. Yet each time you create a new object, a new copy of the script local variables is made. This allows individual objects to display or manipulate their own unique data. Each time you update a source object the changes are updated live across all instances.
Use behaviors to write data entry fields that restrict input, custom scrollbar objects that can be attached to any field, calendar widgets that allow you to enter a date, sophisticated data rendering objects, or indeed any widget or functionality you want to reuse.
The LiveCode group object allows you to bring together any number of interface elements, or to dynamically generate interface elements on demand within a group to create any kind of user experience. LiveCode includes a set of group features that make it easy to use them with behaviors as reusable containers. These include messages that are sent when an object just before it is rendered on screen, when it is resized or closed and a property to make group objects behave like a single object when manipulated in edit mode.
When you combine these features with sensible application design and planning, you can create even the most sophisticated applications in LiveCode.
Nested Arrays allow you to represent complex data structures with ease. Create tree structures to represent data such as XML, or create objects in memory and manipulate them by passing reference parameters. Access large data structures in linear time. Arrays can be indexed by strings or numerically. Nested arrays can contain text, numerical or binary data and as with all variable handling in LiveCode, they are converted automatically as required.
A full set of array processing commands is present, including split and combine commands to convert arrays to and from text, add, matrix multiple, transpose, union and more.
LiveCode includes an optional strict mode that forces you to declare variables before you use them. Use this feature to help prevent programming errors.
The LiveCode language contains many other advanced features including Perl Compatible Regular Expressions, timer based messaging, sockets, interprocess communication, native code extensions and industrial strength cryptography. These features are discussed elsewhere on this website.
