App Architecture Discoveries

by Heather Laine on August 11, 2022 No comments

In this blog over the last few weeks we’ve talked a lot about the various new addons that have become available for LiveCode. (And these are great.) Another part of your MegaBundle download is in danger of being overlooked however, and that is the two great books by Andre Garzia.

As a non-coder, I have been tasked with reviewing them, and my first comment is – I’m actually enjoying reading these books. They are interesting, they are clear, and they are hugely helpful to any new or even moderately experienced LiveCoder. I’m betting there are some tips in these books even our longest standing and most skilled LiveCoders could learn from.

I’m going to focus on LiveCode App Architecture in this post, and hopefully I will be able to review Development Oriented Development at a later date.

So what is this book about? 

In LiveCode App Architecture, Andre talks about how to structure an application from the very basics of naming your variables all the way up to using code libraries, passing through a Model/Controller/View (MVC) structure on the way. The aim is to create apps that are easily maintainable, with readable code, and a modular structure that does not suffer from the “butterfly effect”. You should be able to easily change code in one part of the app without mysteriously breaking code in another area. 

MVC in 20 seconds

Why does it matter?

As a coder, you will probably spend more time reading and editing existing code than you will writing brand new code. Being able to read and understand the code you wrote six months ago is enormously helpful. Being able to transfer projects to another coder and have them read and understand your code is almost miraculous. A well written app can potentially save you years of heartache, headscratching and wasted time. 

What will you learn?

Well here is something I learned in the first few pages of this book. Have you ever wondered why “traditional” coding languages are so hard to read, let alone write or debug? It’s down to history. In the early days of coding, memory was severely limited, and having long variable names used too much memory. These days, the memory impact of a variable named ThisIsMyLongVariableName compared to the incomprehensible “xy”, is pretty much undetectable. However, the impact of trying to read and understand a variable named xy vs one named ThisIsMyLongVariableName is severe. Verbose is better!

Will I understand this book?

I did. You will. It’s very readable, with clear hands on examples of what you should do and why you should do it that way. There are diagrams. There are anecdotes. There are pro tips gathered from the authors personal experience. You may not agree with everything that is suggested here, but you will certainly understand it well enough to form your own opinion.

Is the English perfect?

No :). Andre has his own inimitable style, and you can see his Brazilian influence in the language. This does not in any way detract from the readability and value of this book. Grammarians may be slightly troubled. Would be coders can read and enjoy!

To sum up, I would heartily recommend this book to anyone who wants to start building apps in LiveCode. It’s a great way to get off to the right start in your coding career. If you are already building apps in LiveCode – still read this book. It contains much food for thought and there is bound to be something useful for you in it.

Getting it

This book and its companion, Development Oriented Development, are both included in the LiveCode Megabundle. Check your Third Party tab in your LiveCode account to locate and download them. They come as pdf, .mobi and .epub formats, so you can read on your computer, phone or favourite reading device.

Heather LaineApp Architecture Discoveries

Join the conversation

*