Imagine if your programming environment let you make a change and see the results of that change immediately. That's how LiveCode works. We’re not talking simply about creating a quick script to be run on a command line, but rather a complete development environment, supporting rich user interface development and the creation of native executables for a variety of platforms.
In LiveCode your application is always running, even while developing. You can add new objects, alter their properties or edit code while your application is live. That makes it incredibly easy to develop iteratively, making one change and trying it out, then another and another. Editing live applications creates an incredibly powerful workflow, and one that can dramatically shorten a typical development cycle.
Traditionally software is developed in a multi-step process. You define your user interface in one place or even in a separate application, then go on to write code. You compile and link that code. And then, after it has finished compiling and perhaps after a cup of coffee, you run it, crossing your fingers and hoping that it works. If there is a problem or issue, you need to go back to your code, figure it out, correct it, then compile and run it from the start, all over again.
All of that is history with LiveCode. LiveCode comes with a single visual development environment where code gets attached directly to objects. Both the interface definition and coding take place in the same environment. And there is no compile cycle. You simply hit Apply in the Code Editor and your change is instantly live, ready for you to try it out. You can tweak your interface or add entirely new objects while it is running. Your local variables are not wiped out when you edit code. The data you have loaded into your application is still loaded. There is no need to go back to the start each time, you can debug a specific screen in your application while you are on that screen, complete with data in place. Everything happens in real time.
If you're designing a larger, multi-component or scaleable solution you can choose to define your interface separately from your code. And you'll still enjoy all the benefits of working in a live environment. Any reusable object code you have created is updated live across all objects as you modify it.
It really pays to have a development environment with a workflow that’s powerful enough to support your workload. That's particularly true if you work in a fast-paced environment with constant deadlines and changing requirements. In today’s software development age clients and customers change their minds constantly, new requirements get added by your team leader, or you simply figure out that something would be better done a different way.
Live development makes it incredibly easy to adapt your application in response to new requirements or feedback from your clients. It's a story our customers tell us over and over again: the client asked me to change this and two hours later, I had it done.
"We've delivered feature requests in just a few hours after hanging up the phone with the customer; if we were using Java we would have still been defining our classes." Richard Gaskin, CEO, Fourth World Media. See case study.
Live development brings benefits to every step in the software development process. One of the more noticeable advantages is during any prototyping phase. LiveCode makes an outstanding rapid prototyping tool because, unlike many other prototyping solutions, you can prototype both the look of the application and much of the functionality. As any professional software developer knows, prototyping many types of application is a vital and labor-intensive part of the process. This is particularly true where there is a user interface or any sort of end user involved. Being able to prototype the subtle user interactions and test that your interface truly works, before you commit to more costly development is a real benefit.
