UPDATE March 19th: Added First Steps in Flex, and Learning Flex 3.
You’re an experienced server-side programmer, with a background in C/C++/Java/C# or Python, but no Flash experience. You want to learn Flex. Which book should you buy to learn Flex 3? I have speed-read the following, so that you don’t have to:
Good Flex Books
0. Getting started with ActionScript3 with mxmlc
A free online tutorial, which gets you writing your first ActionScript class, compiling it, and running the resulting SWF in flash player.
1. Foundation AS 3.0 w/ Flash CS3 and Flex – Steve Webber – Friends of ED
Flex is an application framework built on top for Flash, so you need to understand Flash to learn Flex. This book gets you building ActionScript apps. It explains some parts in Flash Authoring, but usually presents a pure ActionScript alternative, which only requires a text editor and mxmlc from the Flex SDK.
Learn about the Flash events, frames, graphics, etc. There’s a small bit of Flex at the end, but this will give you a solid foundation. And if, like me, you’re from a server-side background, playing an MP3 and graphing it in real time will be a lot of fun!
2a. Adobe Flex 3.0 For Dummies – Doug McCune
Don’t let the title put you off, it’s a very good introduction to Flex, and one of only two books that explains the component lifecycle, and the invalidation pattern. Will get you up to speed fast. Most of what isn’t covered here is in the online Flex API.
2b. Programming Flex 3 – Chafic Kazoun – O’Reilly
Good coverage of all of Flex, including explaining what’s Flex and what’s Flash, and explaining the component lifecycle. More complete than the For Dummies. Up to the usual high O’Reilly standard. If you’re an experienced programmer, and you know how Flash works, get this one.
3. First Steps in Flex – Bruce Eckel and James Ward – MindView
Very short (140 pages) and very tight tour of Flex (with a peppering of OO basics). Comes out of the Flex classes the authors have taught. As the name implies, it’s a great first exposure book, which will get you working in Flex fast.
It’s too short to cover the component lifecycle, how Flash and Flex relate, or how to work without the GUI (with mxmlc). Almost all the examples are in MXML, when in practice you’ll mostly write ActionScript classes.
If you’re short of time, a manager, or you’re learning Flex because you have to, this is the book for you. If you have more time and interest, prefer Programming Flex 3.
4. Flex 3 Cookbook – Various authors – O’Reilly
Lots of helpful stuff in here. Not a good book to learn from, but a good second Flex book.
Average Flex Books
Essential Guide to Flex 3 – Charles E. Brown – Friends of ED
Very basic. It would get you going, but only just. It’s a fair title, which delivers what it promises – just the essentials. Takes 600 pages to cover what First Steps in Flex does in 140. Prefer First Steps in Flex or Flex 3 for Dummies.
Flex 3 in Action – Tariq Ahmed – Manning
A disappointing book from Manning, which usually does better. This would get you going, as it covers all the Flex basics, but doesn’t go any further. No coverage of the invalidation pattern or component lifecycle, no mention of Sprite at all, and a poor index. A plus is that it includes a voucher for a free PDF version of Flex 4 in Action, when it comes out. Prefer Programming Flex 3, the O’Reilly book.
Poor Flex Books
Creating Mashups with Flex and AIR – Chris Korhonen – Friends of ED
Pick any two buzzwords, and publish. This book is all over the place, with lots of bits of content, but nothing substantial at all.
Pro Flex on Spring – Chris Giametta – APress
Here we go again, you got your two buzzwords, let’s print. This is a Flex 2 book. The first three chapters are hand waving about project setup (staffing, tools, installing, etc), then in the next chapter we’re overriding updateDisplayList, without any mention of how that fits into the overall framework.
AdvancED Flex 3 – Shashank-Tiwari – Friends of ED
This book is all about connecting Flex to other things, such as Java, PHP, Twitter, Salesforce, etc. But I wanted to learn Flex, not the Salesforce API! It also uses updateDisplayList without telling you what’s going on.
A plus point is that this is the only book I found that doesn’t toe the Adobe Consulting party line on Cairgorm, the ‘official’ Flex MVC framework, inspired by Java’s Struts. He points out it’s design shortcomings, how Struts isn’t a good match for Flex, and offers two alternatives.
Learning Flex 3 – Alaric Cole – O’Reilly
Should really of been called ‘Using Design view in Flex Builder’, as that’s pretty much all it covers. It takes forever to get going (‘Who uses Flex’, ‘How Flex relates to C’, etc), and then has helpful sidebars telling you how to add comments using only the mouse (Click the Source menu, select ‘Add block comment’). Doesn’t deserve to be an O’Reilly ‘Learning …’ book, and I think Tim knows, because it didn’t get an animal for the cover.
On the plus side it is the most visually appealing book in the list. If you don’t read books without pretty pictures, and don’t own a keyboard, this might be the Flex book for you.
Special Mention – An Unusual Flex book
Flex 3 Component Solutions: Building Amazing Interfaces with Flex Components – Jack Herrington – Friends of ED
I really liked this book. It is essentially a catalog of third party Flex components, which, here, means graphical widgets. He covers the open source libraries, such as AS3CoreLib, FlexLib, and Degrafa, and the commercial ones such as as3components.com, and ILOG’s Elixir.
With First Steps in Flex, this is also the only good coverage of using Flex’s states, which the other books show, but don’t explain, and don’t use in a helpful fashion.
Finally there’s a great tip to use Google’s Sketchup 3D modeller to pre-render an animation, as an alternative to PaperVision3D.