I’m currently working on my next book, Effortless Flex 4 Development. This is an entirely new title for me and my first full-length book on Flex. It’ll be published by New Riders, which is a sister publisher to Peachpit Press, that I normally work with. Most of the books I’ve written have been in the Visual QuickStart/QuickPro Guide series, which has a scripted format. This book will not be, so you won’t see the step-by-step instructions everywhere (there will be some) or the two-column format. I just submitted the third chapter, so I’ve now written about 90 pages or so, approximately one-quarter of the book. Here’s the rough table of contents, for those that are interested.The book is structured in three roughly-equal parts. The first part discusses the absolute basics: the framework, the tools, creating basic applications, user interface elements, ActionScript, and events. The second part of the book focuses on data and client-server communications. This includes: the different data formats; displaying, formatting, and validating data in the client; and then retrieving data from the server. All of the server examples will use PHP and you’ll see the PHP code, the underlying database structure, and the MXML/ActionScript involved. The emphasis here will be on lots of real-world examples using all the different formats and likely actions (e.g., posting to PHP, retrieving XML from a server, using AMF, and so forth). The third part of the book rounds out the application development know-how. There are two primary threads in these chapters: UI improvements (menus, skins, styles, effects, etc.) and development process improvements (modularization, profiling, etc.)
So, with that in mind, here’s what I’m working with for starters. It’ll undoubtedly change and there are a few things I want to fit in somewhere, like accessibility. As always, any thoughts, questions, and suggestions are most welcome!
Introduction -------------- Part 1: The Fundamentals Chapter 1: Building Flex Applications A Survey of the Parts Using Flash Builder A Cheaper, Slower Alternative Deploying Applications Getting Help Chapter 2: Basic User Interface Elements Application Layouts Simple Controls Creating Forms Chapter 3: The ActionScript You Need to Know Data Binding Syntax Comments Simple Data Types Control Structures Arrays Creating Functions Best practices Chapter 4: Event Management The Event Phases User Events Application Events Handling Events with ActionScript Preventing Events -------------- Part 2: Data and Communications Chapter 5: Common Data Formats XML JSON AMF Chapter 6: Simple Local Data Interactions Displaying Data Formatting Data Validating Data Using Local Data Files Chapter 7: Simple Remote Data Interactions Sending and Retrieving Text (HTTPService) Sending and Retrieving XML (HTTPService) Sending and Retrieving JSON (HTTPService) Chapter 8: Smarter Remote Data Interactions WebServices/SOAP/WSDL RemoteObjects/AMF -------------- Part 3: Application Development Chapter 9: Modularization Creating Custom Components Using Modules Using Runtime Shared Libraries Chapter 10: Creating a Fuller Experience Menus Navigation View States Creating Histories Deep Linking Accessibility Chapter 11: Windows and Popups Alerts Popups ToolTips Changing Window Behavior Chapter 12: Improving the Appearance Multimedia Style Sheets Skins Chapter 13: Effects and More Events Effects Drag and Drop Custom Events Chapter 14: Testing and Deploying Testing Techniques Profiling an Application Improving Performance Network Monitoring Customizing the Deployment
The rough TOC looks good Larry, I like the break up of the 3 sections, especially section 2 “Data and Communications”. Personally I think maybe chapter 8 could be split into two different chapters for thorough coverage?
Binding data is a much bigger topic than some sources let on. Will you cover more advanced data binding?
Thanks, Jason, for the feedback. I worry a bit that I’m going through the first part a bit too quickly, but the heart of the book really is the second part. I’ll probably end up breaking that into more chapters, as you suspected, once I get into it. My premise for the book is that data is really the key to useful RIA’s. As for data binding, I am going to be covering it thoroughly, not just the basics. Can you give me an example of what you mean by “advanced” data binding?
By advanced data binding I meant advanced uses of data binding rather than simple text box input to text label output examples.
If your book is not intended for beginners then there is nothing wrong with going over topics quickly. That said, the reason I read your work is because you say a lot in a very short amount of text. Why read a book that is 900+ pages when I can pick up a Larry Ullman book to get the same thing in 300 pages? Some writers just need like to show how smart they are and explain concepts in the most ridiculous way. When all that is need is the facts, an example and perhaps a diagram.
“My premise for the book is that data is really the key to useful RIA’s.”, I totally agree with you there. Like any application you need something to work with. No point learning how to use all the components in the framework if you have no data to show.
Another idea I think would be good is to cover why use Flex over HTML and CSS and when to use them together. Although please don’t spend 4 pages talking about browser compatibility issues
. jQuery as you know really helps bring that extra level of functionality and is quicker to develop than Flex for simple things.
I’m in the middle of re-developing my gaming website. For that I will use Flex on the front-end for Download management. In my opinion Flex offers better controls for browsing through files. Member uploading will be a friendly experience as well. Another feature I might add is chat, might use Flex for that too but using Flex for the whole site is out of the question.
I see. Yes, definitely more advanced data binding beyond what you describe above (although I did include that example at the beginning of the ActionScript chapter because it’s a high bang-for-your-buck effect).
Thanks for the vote of confidence on my writing and my approach for this book. Good to see!
I’m going to be revamping my Web site this year (hopefully) but don’t intend to do it all in Flash. I am planning on a “help me choose a book” widget, that would be in Flex. You’re right that HTML, CSS, and JavaScript can do some things just as well as Flex, and without some of the potential problems (except there are those browser comp…!) I really like Flex + AIR for desktop app development, although that’s not a focus of the book. It’s so much faster than HTML and JavaScript, although I believe you’re not sold on the uses of AIR. But Flex + AIR has allowed me to whip together in-house and client utilities that are great to have.
I’m not sure if you’ve seen this, but Flex 4 makes use of the Flash Text Engine and Text Layout Framework available since Flash Player 9. These allow for much better incorporation of HTML in Flex. Way better than the HTML 1.0 supported previously. Just a thought…
About the use of AIR: I just have not come across a reason to take an application out of the browser yet. I do see it as a very useful technology and want to use it, but I’m not going to use it just because it’s there.
I have seen the Text Layout Framework, looks good but have not played around with anything yet. Do you have any examples of HTML in Flex? The examples I have seen, look a bit painful.
I thought this video, part of the Flex 4 Beta Training in a Week series, did a pretty good job discussing and using the TLF: http://www.adobe.com/devnet/flex/videotraining/flex4beta/xml/fiaw_v3_02.html
*Salivating*, Larry, I’m *salivating* at the thought of this book.
Jason made the comment above “If your book is not intended for beginners”.. is this book not intended for beginners? I think you wrote in another blog post that the book will be focused more on practical applications of the Flex technology, rather than a thorough explanation of each concept, piece-by-bite-sized-piece (as per your PHP books, for example).
I don’t mind if it’s a book geared more towards practical (but still comprehensible) applications of the technology, but I am hoping it will still be a book that a web developer with no Flash/Actionscrip experience can pick up and decipher!
Love your work, Larry.
Hello Callum,
Thanks for your interest in this book and for all the nice words on my work. The book will be intended for beginners, Flex/ActionScript beginners at least. One target audience is definitely existing PHP developers interested in learning Flex. But anyone that has some HTML experience should have no problems picking up this material.
In terms of what’s covered, I mean that there’s like dozens of components one could use (think of these like HTML elements) and each has dozens of properties, events, effects, etc., and it isn’t practical to go through all of the possibilities with each. So what I’m doing is highlighting and demonstrating the key aspects of key components while simultaneously teaching how to use the thorough online documentation for all the details, when needed.