The beta of Flex 3 came out today. The book I'm reviewing, Programming Flex 2, only came out a month ago, and is one of the first books covering Flex 2, yet before I've even got to the end of its 460 pages a new version of the software has been released. I was wondering if the world would mind slowing down a little, just for a while, to allow me to catch up.
But ignore my kvetching. This is not an obsolete book, far from it. Flex is one of the most exciting new technologies around, and with the speed the web moves at it is not uncommon to feel like you are chasing the coattails of technology. In this case I suspect Adobe are involved in something of an arms race with MicroSoft's SilverLight platform, which is why Flex is racing ahead so quickly. This can only be good for the consumer really.
You've probably already heard of RIAs – Rich Internet Applications. In fact you're probably already using them – managing your life with GMail, reading blogs via NetVibes, or cyber-stalking with StreetView. RIAs are the hottest thing on the web right now (sorry, but I refuse to use that horrible anachronism "Web 2.0"). In a nutshell they embody the idea of growing beyond the client/server model of traditional web pages – having an "application" within your browser window rather than just a "page".
The term was first coined by Macromedia, so it's perhaps appropriate that they, now Adobe, seem to be defining the methodology of Rich Internet Application production. Flex 2 is based on Flash, and runs within the ubiquitous Flash 9 player. But don't let that distract you. Flash programmers may have an advantage in already having familiarity with ActionScript, but Flex is not just an extension of Flash. In fact, if you have an ingrained understanding of Flash's timeline-based approach, you may find yourself at a disadvantage with Flex initially. Flex, to be insultingly simplistic, is basically Flash without timelines.
Programming Flex 2 is written by Chafic Kazoun and Joey Lott, one a new name to tech literature, the other an old pro, and is, I can say quite unreservedly, excellent. There aren't many Flex books out there yet. I've tried a few and haven't really got on too well with them so far, but this one spoke to me very clearly. It takes a highly technical angle, and is very exacting in the way it explains the technology, which was an approach I appreciated. At no point did I feel I was getting anything less than a full understanding of what was going on. Particularly good is the way that MXML, the mark-up language Flex uses, is consistently explained with reference to how it translates into ActionScript, something I felt other Flex books skipped over but is essential to understanding it as a programmer.
Of course this is "Programming Flex 2", so it may not be as palatable to more casual users. But unfortunately I'm not sure there is a suitable entry-level book out there yet. Also, it should be pointed out there is no ActionScript 3, reference in this book, so you have to rely on online documentation (or join the wait for O'Reilly's long overdue AS3 Pocket Reference).
I have high hopes for Flex 2, and the future of the Flash platform. And if Adobe would just stop releasing new products every other month, maybe the rest of the world will have a chance to jump on the bandwagon too.