The progress on LiveCode has continued at quite a fast pace, and by April 2012 RunRev had implemented all of the iOS features for Android too, as well as having added a lot to the feature set for iOS.
Still, not every feature is covered, and there is a third-party market of add-ons to LiveCode, which either makes developing in LiveCode easier, or that provide features that are not yet available in the standard version. Here are some of those add-ons, most of which can be bought from the LiveCode Marketplace:
We have already used MobGUI in earlier chapters. It takes the form of a plugin. You place the MobGUI file into your plugins
folder. This LiveCode lesson describes adding plugins:
http://lessons.runrev.com/s/lessons/m/4071/l/21341-how-to-install-custom-user-plugins
The way that MobGUI works is that it lets you place regular LiveCode controls onto your stack's card, and then when the app is run, the standard controls are swapped for native controls. This has an advantage over just making standard controls that look like iOS controls, because the control will look correct too.
MobGUI doesn't do anything that you couldn't do with your own scripts, but it does make it a lot easier to layout and use mobile OS native controls. There is a YouTube channel for MobGUI that will show you some of the things that can be done using the tool:
tmControl is a set of themes made by Tactile Media to let you give your LiveCode stacks a more artistic appearance. In addition to sci-fi and other themes, there is an iOS theme. Here's how it looks:
Not too surprising really! An Android theme is planned, as well as additions to the iOS theme. This page will show the currently available themes:
Made by Sons of Thunder Software, DropTools Palette is a free add-on to LiveCode, which acts as a shell for hosting many types of custom LiveCode controls. In addition to being the holder for Sons of Thunder custom controls, it has also been used by other developers as an easy way to bring their own custom controls to market. The DropTools website includes detailed descriptions of how you can develop your own DropTools compatible controls.
The site also acts as an "aggregator" for custom LiveCode controls, and includes links to both DropTools and non-DropTools compatible add-ons. The main page is located here:
http://droptools.sonsothunder.com/
Many of the custom controls do not relate to mobile apps, but there are a few, and that will no doubt increase over time.
mergExt
is a suite of external commands for LiveCode. At the time of writing, there is no LiveCode Android SDK, and so currently these are all only for iOS. Here is the list as it stands, along with descriptions taken from the LiveCode Marketplace page:
http://www.runrev.com/store/product/mergExt-1-0-2/
mergAccessory
: This is an iOS external for connecting to and communicating with accessory hardware using the External Accessory framework.mergAnswerColor
: This is an iOS external that presents a modal color picker.mergAV
: This is an iOS external that adds functions and commands related to the AVFoundation framework. This currently includes selecting, recording, saving, and editing videos.mergBanner
: This is an iOS external that adds an iAd banner to your app at the bottom of the screen.mergDoc
: This is an iOS external that adds functions and commands related to document interaction. This currently includes presenting a modal preview, open in app menu, document options menu, and requesting the document icons in PNG form. Printing is also available via the preview.mergMK
: This is a LiveCode MapKit external that adds a map control, which supports showing user location with heading, adding annotation pins, and polylines.mergMessage
: This is an iOS external that adds a command to send an SMS message.mergPop
: This is an iOS external that adds functions to present an action sheet (pop-over on iPad) and contextual menu for user interaction.mergReader
: This is an iOS external that presents a modal PDF reader using the open sourcevfrReader
project.mergSettings
: This is an iOS external that integrates a LiveCode app with the Settings app and also includesInAppSettingsKit
to present a matching dialog box from within your app.mergTweet
: This is an iOS external that adds a command to send a tweet message.mergXattr
: This is an iOS external that adds commands to set the do not backup and protection attributes of a file.mergZXing
: This is a LiveCode external that uses theZXing
library to read a wide range of barcode types via the rear camera of a mobile device.animationEngine
: This allows you to create smooth animations, and detect collisions between objects. It is well suited to both creating games and to making presentation apps. Here is its information page in the LiveCode Marketplace:http://runrev.com/store/product/animation-engine-5/
Although not specifically for mobile use,
animationEngine
has been adjusted to comply with iOS App Store requirements, and so should still be of use in making iOS apps. It also works for Android apps.As shown in Creating over the air installers for iOS in the last chapter, AirLaunch is an add-on that makes it easy to create over-the-air installer files for iOS. A detailed description can be found here: http://www.hyperactivesw.com/airlaunch/index.html