Learning Flex 3
* How to use [Flexbuilder|http://www.adobe.com/products/flex/features/flex_builder/]
* Using [MXML|http://en.wikipedia.org/wiki/MXML]
* [ActionScript 3|http://en.wikipedia.org/wiki/ActionScript]
* Styling your application using CSS
However, if your professional background is in web-application development using Java or other OO languages, then you are probably more likely to skip or cross-read sections of the book. This is because the book starts out with practically no initial pre-requirements, and thus you might be familiar with some of the discussed areas.
The book gave me an excellent overview of Flex’s capabilities, and they are all explained thoroughly and are easily understandable. Also, this may sound silly, but I particularly liked the refreshing fact that the book is in color, unlike most other IT books.
Furthermore, the book explained Data Binding (Chapter 7) very well. This is something I was not familiar with coming from the Java world. The chapter illustrates the concepts of one-way binding, two-way binding and making your own variables “bindable” using a metadata declaration, which is basically an [annotation in Java|http://en.wikipedia.org/wiki/Java_annotation] parlance.
Another feature I liked a lot was View States (Chapter 12), which allows you to rearrange, group and reuse components within your application.
I wish the book provided more information for further reading. I understand that certain concepts are beyond the scope of this book, but it would have been nice if those had been mentioned and links or recommendations for further reading were provided.
For example, while [AMF|http://en.wikipedia.org/wiki/Action_Message_Format] is mentioned on page 8 and on page 157 the book briefly talks about the Webservice and RemoteObject component, the book should have also mentioned [BlazeDS|http://opensource.adobe.com/wiki/display/blazeds/BlazeDS] as one of Flex’s core technologies for communicating with back-end servers.
And for more complex applications, the book could have at least pointed out some of the available MVC frameworks for Flex and some pointers of where to read more about them (E.g. [Cairngorm|http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm] and [PureMVC|http://puremvc.org/]). Well, and then there is [Degrafa|http://www.degrafa.org/], the declarative graphics framework…
While the author explains the aspects of using CSS in Flex applications very well, he could have further stressed that Flex uses a subset of CSS, which in certain areas behaves differently compared to CSS you more typically use in HTML pages. He should have enumerated some of those pitfalls.
Having said all this, these issues mentioned above are minor in nature. Overall, the book was a fun read\! And particularly to Java web-developers, Flex may very well be THE contender for application user interfaces moving forward. One of the great things about Flex is that even the standard components look very good (and should be good enough to please your boss), and your application looks and behaves consistently across various browsers. Oh, and yes you can run the same application on the desktop as well (Chapter 15).
This book will definitely help you learn and master Flex, and you should be able to produce functional user interfaces quickly. In order to learn more about integrating Flex with your Spring powered back-end you may want to also consider looking at [Pro Flex on Spring|http://www.amazon.com/Flex-Spring-Experts-Voice-Development/dp/1430218355].