Introduction
Contents
There isn’t much to the anatomy of a graphical Iguana App. They are web applications, and they make use of a lot of standard tooling. To understand how they work, the best thing is to install a few using the Channel Manager and have a close look. These notes will make more sense after that.
We’ve made every effort to cleanly factor the code to make it easy to understand and modify. These apps are intended to be accessible for a wide audience of people, many of whom wouldn’t consider themselves programmers.
You can think of an Iguana App as a client-server program. The server side is written in Lua and runs in a From HTTPS translator instance within Iguana. It communicates with the client using JSON based web service calls.
The client is written in Javascript. The rendering of the user interface is achieved by manipulating HTML from Javascript. Styling is performed using cascading style sheets (CSS) and a few image files.
We use jQuery, which is a lightweight Javascript library that speeds up and simplifies web development.
This is the same technology stack and architecture as the Iguana Translator. It’s an awesome way to structure web applications because:
- It’s efficient and fast. Because you limit the number of page loads and rarely do full web refreshes, the UI is quick and responsive. You can cache data as needed on the client side.
- It’s convenient. You can work on each layer independently.
- It’s extensible. You can easily pull in useful tools from jQuery and other libraries. It’s an open framework.
Next, we’ll go through the layers and describe how they work, beginning with the back end web service calls in Lua.