Book Review: Professional Adobe Flex 3

Published by: Wrox / Wiley
ISBN: 978-0-470-22364-2

Reviewer Ratings

Relevance:
5

Readability:
4

Overall:
4

Buy it now

One Minute Bottom Line

In an incredibly long 75 chapters and 1400+ pages, this book attempts to cover every aspect regarding Adobe’s Flex 3, in addition to related technologies, architectures and best practices. While there are some bound-to-occur mediocre chapters, several chapters contain outstanding information to aid you in solving real-life problems when you develop any serious application in Flex.

Review

Since this book covers so much, it may be overwhemling for anyone just getting started with Flex. Other books targeting getting started with Flex are more suitable for the beginner. Where this book really shines is in advanced topics, such as LCDS (LiveCycle Data Services), BlazeDS, Cairngorm, FlexUnit, etc. In addition, all of these topics are complete with fully functional examples. In places where content is beyond the main focus of the book, the authors give pointers and links to online resources.

In the very beginning of the book, you'll learn important concepts like what Rich Internet Applications (RIAs) are and why Flex is a leading RIA technology, as well as core aspects of Flex like runtime, programming languages, APIs, development tools, and peripheral aspects. A helpful architectural snapshot is provided to show how all of these technologies fit together to provide a comprehensive robust platform for web and desktop application development. Also covered is ActionScript, the main Flex Programming language. Consultant's trying to turn clients on to Flex will get all the info they need from the first few chapters. 

As the book goes further along, it explores best bractices and configuration options to tune Flex Builder 3 to provide optimal performance. It also contains valuable information on how to integrate Flex Builder 3 with Subversion. Creating custom components in both ActionScript and MXML is demonstrated using examples and valuable comparisons.  Extending existing Flex components to create custom container components is also covered in a deeper look at component development. 

You will learn how to build centralized and standardized Formatters and Validators for your applications, as well as how to render HTML content in an AIR application. Details are presented on how to implement HTML-like deep linking in Flex applications. It also offers a pluggable deep-linking architecture with a concrete example.

A detailed introduction to the Cairngorm architectural framework is given in addition to an example on how to implement the technology. You’ll take away best practices, anti-patterns, and useful customization explanations. Best practices for coding and code-structuring are also given.

Vital information on Flash player’s security model is covered and is critical to understand when you develop and deploy your Flex application that accesses resources from different servers and URLs.

Towards the end of the book, valuable coding tips are given for optimizing your application's performance. Flex Profiler is described in detail, which is a Flex Builder Professional tool that allows you to generate various performance-related profiles for your application. You are also shown how this tool can be used to detect memory leaks and how to use this information to optimize your code for memory footprint and performance. 

This book covers almost every aspect of Flex 3 and associated technologies, frameworks, etc. If you are already familiar with Flex and have done some hands-on Flex programming to create a few simple applications, you’ll derive much greater value out of this book. As you go through the chapters, it becomes very clear that the book has been written by professionals who have a strong handle on Adobe’s Flash / Flex and have built and implemented complex Flex-based solutions in the real world. So, if you are looking for information derived from real life Flex experience, you’ll find gems in the book and should read it.

 

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)