Programming World of Warcraft Addons is an all-in-one guide to writing addons for World of Warcraft, leading the reader through a tutorial on Lua programming, guiding them through several example addons, and providing them with a comprehensive reference for the World of Warcraft API. Readers should be familiar with the user interface of World of Warcraft, and may have some experience downloading and installing addons.
Some familiarity with programming is ideal, but the reader doesn't need actual programming experience. The book teaches programming in Lua and XML, the programming languages used to write addons, by introducing concepts that build on prior knowledge to craft more complex programs. This tutorial is geared specifically towards using Lua in World of Warcraft, so the book covers only the most relevant material, and covers a number of pitfalls and common mistakes that the reader may experience through the course of the book; even experienced users will find this useful.
Once the reader is comfortable using Lua, they are introduced to the specific nuances of the World of Warcraft API through a series of guided examples. Each example highlights a specific aspect of writing addons for World of Warcraft and builds on the skills the reader has already acquired. Readers will learn how to respond to events, create frames, and use the World of Warcraft API to interact with the game.
Programming World of Warcraft Addons continues by teaching the reader how to implement a number of specific addon concepts such as saved variables, slash commands, secure templates, dynamic frames, parsing tooltips, creating dropdown menus and more. Once you've created your own addons, the book then discusses ways to distribute and host your addons so others can download and use them.
The final section of Programming World of Warcraft Addons is a printed comprehensive reference guide to the World of Warcraft API. Having a fully indexed, consistent set of reference documentation can make finding the specific function you need that much easier.