Sunday, August 3, 2008

Book Review: Manning Adobe AIR in Action

As of this writing, there are more books on AIR coming in the fall (2008). So I was excited to have an opportunity to review a book before its release. So, many thanks to Manning and Emmy Southworth of he Salt Lake City Adobe User Group! Adobe AIR in Action is a superb book, and I would say is the first must-have book on Adobe AIR.

One of the strengths of this book is the flow and pacing, which is pretty consistent, and comfortable to follow. I came to appreciate the way Manning uses it's code samples, with numbered comments, that also correspond to the sentences in paragraphs that relate to lines of code. It's practically impossible to get lost, and that's a confidence boost for the reader.

Another trait of the "In Action" books is the concept->example formula. Easier said than done, this book is a fine example of really pulling it off. I never felt overwhelmed. The sample applications here are refreshingly concise. Many books have examples that have a lot of code that wanders off a little, but not this one. One of the applications is using YouTube APIs, where there's enough dazzle, without extra fluff. The sample applications here stuck to the point, and didn't waste my time.

So what are the highlights of the book?

When it comes to standard Flex/Flash RIAs, there's really no need to consider anything outside the browser. This book concentrates on desktop-oriented programming, the things you need to know. I thought the section on menu types and how they work across OSes was very thorough. They cover many of the gotchas of window types, and things that we tend to expect from a windowed application as far as behavior.

File system concepts, like reading files, reading directories, reading streams, writing files, all are handled well. Excellent examples of all. The copying, pasting, and drag and drop are covered equally as well. The material always feels complete, not rushed.

The database section concentrates in AIR's support for SQLite, and again gets to the implementation in a direct way. There are obligatory pages going over the basics of SQL, and a nice explanation of how to create a database and tables. They show a relational junction table as well. However, I am always a little sad when databases are discussed, and normalization is not. I know that AIR application databases are relatively small in size. But...Normalization is THE most important thing to know - truly know, when building any database. It's a serious gotcha.

I enjoyed the Network communication chapter, which covers HTTP and other network connectivity monitoring. There's only so much to show here, whereas a Flex book may show a lot more about the actual communications.

The HTML in AIR chapter could easily be applied to a normal Flex RIA. It's always nice to see how you can have Actionscript and Javascript communicate via the DOM. There is no shortage of good examples, and they don't disappoint. Obviously the authors were very excited about it. However, the parts that I found most interesting was loading PDF, managing caching, cookies, authentication, and sandboxes. I was really pleased they included this material.

This book has the best explanation of installing with badges and updating that I've read so far. It's easy to read, and takes away any intimidation. If only all desktops were this easy! They finish up with launching an AIR application via file type or browser RIA (Flex or Flash). This functionality of the AIR runtime is really appreciated by those of us who've done desktop development, and done it manually.

Summary

Adobe AIR in Action is a great book that is very concise in its concept descriptions. The examples are top notch, well explained, and easy to follow. They cover the basics of what a desktop application needs: windows, menus, file access, clipboard. They cover using the SQLite database and network connection well. And the installer and automatic updates features of AIR are simple and complete. The best way to describe this book is concise and competent. If you are a web developer, doing a desktop application for the first time with AIR, this is a book that will really help you. For any AIR developer, this book is easily a strong reference/sample book, that will not collect a lot of dust. It's that good, very usable.


No comments: