For those unfamiliar with LiveCode, it is a visual software development environment (and corresponding language). Think Hypercard—the the Hypermedia authoring tool/development environment that shipped with every old Macintosh. Then make the language more powerful. Make the interface usable for experienced developers. And allow it to build Linux, Windows, MacOS, Android, iOS and HTML5 applications—while running on Linux, Windows or MacOS.
LiveCode, which was released last month, is actually dual-licensed—both under the GPL and a proprietary license. They do that, as I understand it, in case you'd like to release closed-source software using LiveCode. If you plan to only release GPL'd software, you can freely use the open source “Community Edition.”
I'm not going to give you the full run-down on what's new in this latest version. For that, I'll simply point you to the LiveCode 8 site. Instead I'd like to focus on a few things that really struck me while kicking LiveCode's tires.
LiveCode 8’s stand-out features
First, I should say that I ran LiveCode exclusively on Linux. I tested it out on both openSUSE and elementary. I haven't used LiveCode on Windows or MacOS, so I can't speak to how well it runs on those, though, presumably it looks and behaves the same across all three platforms.
Getting started with LiveCode 8 proved to be rather quite enjoyable. There is a built-in, interactive tutorial that walks you through the basics of building a complete (though, obviously, rather small) application. Having a tutorial for a development environment is nothing new; what really impressed me here was the way it was done.
The tutorial consists of pop-up style overlays that tell you what to do next, pointing to the exact area of the user interface you need to be working with. If the tutorial wants you to add a button to your application, it actually points right to the button option on the toolbar with detailed instructions for what to do. When it's time to write some code, the tutorial shows you where and what to type (with descriptions of what each line of code actually does). As you complete each step correctly, the tutorial recognizes this and moves you on to the next step.
Very, very slick.
Performance of both the IDE and built applications is excellent. I didn't go so far as to test mathematically intensive operations within LiveCode projects, but the basic GUI applications I put together (including the tutorial project) started quickly and performed quite peppily.
Running on Linux—only one limitation
In running LiveCode on Linux, the only limitation I ran into was the inability to compile iOS applications. For that, I would need to use LiveCode on MacOS X because of the limitations imposed by Apple. I was able to build for Android, Linux and Windows without any trouble. I could also build for MacOS X, though I don't have or use Macs, so I wasn't able to test this out fully.
The language is very HyperTalk-ish—meaning it is very verbose and focused on being easy to pick up and read. That is both a benefit and a hindrance. Part of me loved how quickly I was able to get up to speed and start coding in LiveCode. I find the language refreshing (coming from languages like Python and C) and enjoyable. On the flip side, sometimes I found myself wishing for a more concise syntax. In the end, the language seemed powerful enough to accomplish anything I'd need. So, on the whole, I'd call the language itself a net positive.
All of that left me wondering about how LiveCode could be utilized to help teach programming and logic topics.
For years, Apple had a firm hold on the “computers in schools” market. A big reason for that was the free inclusion of Hypercard on every Macintosh. This let students and teachers build all sorts of cool things—from presentations and hypermedia files to full-blown applications and games.
LiveCode is a lot like Hypercard—only about a thousand times more powerful and more enjoyable to use. And it’s open source under the GPL, which means that a Linux distribution focused on being approachable and easy to use could, in theory, include LiveCode right out of the box. That would give students, teachers and even power users at home the ability to have a well-supported, free, visual development environment for learning, building tools and the like.
It seems to me including a package like LiveCode could be one element to help a Linux distribution make additional headways into those key markets.
All in all, I have rather quite enjoyed spending time with this (relative) underdog development environment. Despite my experience in other languages, the benefits of LiveCode will (at the very least) cause me to seriously consider using it for future projects.
In places normally filled with glowing Apple logos and Windows laptops, Linux users are becoming more...
Tech darlings come and go, and it won't be long until collaboration vendor Slack becomes a memory—like...
A review of 18 companies that offer free cloud storage
Extreme Networks continued to amass a nice nest of data center technology saying today it would buy...
Good-bye, programming peers; hello, power to abuse at your whim
Cisco Fellow Alissa Cooper is the new chair of the IETF, along with being the first woman to hold the...
Virtual CISOs can be an invaluable resource for companies with limited resources. But are they a...