Tony Hillerson is a Software Architect for EffectiveUI. He graduated from Ambassador University with a BA in MIS. On any given day, he may be working with Flex, Java, Rails, Maven, Ant, Ruby, Rake, Capistrano, or shell scripts. Tony maintains RubyAMF, a Rails plug-in that allows Flex applications to pass AMF messages to and from Rails. Tony has been a speaker at 360Flex, Adobe MAX, and RailsConf, as well as local user groups. In his nonexistent free time, Tony enjoys playing the bass, playing World of Warcraft, making electronic music, brewing beer, learning Latin, and studying philosophy. Tony lives outside Denver, Colorado with his wife and son, Titus.
Daniel Wanja, a native of Switzerland, currently lives in Denver, Colorado. He has lived in Denver for more than six years with his wife and three children, ages 5, 3, and 5 months. Daniel is a dynamic, skilled enterprise software architect and developer with over 20 years’ experience. He has worked in the banking, insurance, and high-tech industries around the world delivering mission-critical software. Daniel is president and part owner of two Flex and Ruby on Rails consulting agencies, Nouvelles Solutions, Inc., in Denver, http://n-so.com, and ProDesign Sarl in Geneva, Switzerland, http://prodesign.ch. Daniel started the http://onrails.org blog on Ruby on Rails and related matters in 2005.
Foreword | p. xv |
Preface | p. xvii |
Acknowledgments from Tony Hillerson | p. xxi |
Acknowledgments from Daniel Wanja | p. xxii |
About the Authors | p. xxiv |
Flex and Rails Essentials | |
Developing with Flex and Rails | p. 3 |
Installation: What You Need to Get Running | p. 3 |
The Structure of a Flex and Rails Application | p. 6 |
The Example Code | p. 9 |
Compiling MXML | p. 9 |
Running the Rails Server | p. 9 |
Summary | p. 9 |
Passing Data with XML | p. 11 |
XML in Rails | p. 11 |
XML in Flex | p. 14 |
Getting XML to Flex | p. 17 |
Sending XML to Rails | p. 19 |
Mapping Data Types | p. 21 |
Error Handling | p. 25 |
Summary | p. 28 |
Flex with RESTful Services | p. 29 |
Creating the Stock Portfolio Rails Application | p. 29 |
Accessing Our RESTful Application with Flex | p. 39 |
Summary | p. 48 |
Using Fluint to Test a Flex with Rails Application | p. 49 |
Using Fluint to Write Your Flex Unit Tests | p. 50 |
The Basics of Testing a Flex Application | p. 51 |
Testing a Cairngorm-Based Application | p. 59 |
Using Fixtures | p. 79 |
Summary | p. 83 |
Passing Data with AMF | p. 85 |
What Is AMF? | p. 85 |
Benefits of AMF | p. 86 |
RubyAMF | p. 87 |
A Simple RubyAMF Example | p. 95 |
A RESTful RubyAMF Integration | p. 101 |
Summary | p. 103 |
Debugging | p. 105 |
Logging | p. 106 |
Debuggers | p. 110 |
Command Line Debuggers | p. 117 |
Debugging Communication | p. 127 |
Summary | p. 129 |
Data Visualization | p. 131 |
Online Analytical Processing (OLAP) | p. 133 |
Advanced DataGrid | p. 144 |
Charting | p. 147 |
Summary | p. 152 |
Flex MVC Frameworks | p. 153 |
What Do We Mean by a Framework? | p. 153 |
Roll Your Own | p. 154 |
Cairngorm at a High Level | p. 154 |
PureMVC at a High Level | p. 159 |
Stuff | p. 163 |
Summary | p. 182 |
Performance and Optimization | p. 185 |
Flex Performance | p. 185 |
Rails Performance | p. 206 |
Summary | p. 211 |
Cookbook Recipes | |
Source Control Flex and Rails Projects | p. 215 |
Goal | p. 215 |
Solution | p. 215 |
Ignoring Files in Subversion | p. 215 |
Git | p. 217 |
Discussion | p. 218 |
Summary | p. 219 |
Building Flex with Rake | p. 221 |
Goal | p. 221 |
Solution | p. 221 |
Rake Is Your Friend | p. 221 |
The Rakefile | p. 222 |
Summary | p. 225 |
Deploying Flex and Rails Applications | p. 227 |
Goal | p. 227 |
Solution | p. 227 |
Capistrano | p. 227 |
Deploying with Capistrano | p. 228 |
Summary | p. 232 |
Read the Source! | p. 233 |
Goal | p. 233 |
Solution | p. 233 |
The Beauty of Open Source | p. 233 |
The Rails Source | p. 235 |
Flex Source | p. 238 |
Generated Flex Source | p. 240 |
Summary | p. 243 |
Using Observers to Clean Up Code | p. 245 |
Goal | p. 245 |
Solution | p. 245 |
BindingUtils and ChangeWatchers in Flex | p. 245 |
Taking Action on ActiveRecord Lifecycle Events | p. 248 |
Summary | p. 250 |
Authenticating | p. 251 |
Goal | p. 251 |
Solution | p. 251 |
Authenticating Users | p. 251 |
Installing restful_authentication | p. 251 |
Summary | p. 257 |
Reusing Commands with Prana Sequences | p. 259 |
Goal | p. 259 |
Solution | p. 259 |
Sequences | p. 259 |
Prana's EventSequence | p. 261 |
Summary | p. 265 |
Hierarchical Data with RubyAMF | p. 267 |
Goal | p. 267 |
Solution | p. 267 |
Nested Sets | p. 267 |
Summary | p. 273 |
p. 18 | |
Advanced Data Grid and Awesome Nested Set | p. 275 |
Goal | p. 275 |
Solution | p. 275 |
Overview | p. 275 |
Create the Rails Application and Database | p. 275 |
Creating a Script to Load the Data | p. 276 |
Flex Application | p. 279 |
Adding CRUD | p. 282 |
Summary | p. 287 |
Runtime Flex Configuration with Prana | p. 289 |
Goal | p. 289 |
Solution | p. 289 |
IoC, Eh? | p. 289 |
Summary | p. 293 |
Server Push with Juggernaut | p. 295 |
Goal | p. 295 |
Solution | p. 295 |
Push Technology | p. 295 |
Juggernaut | p. 295 |
Creating the Rails Messaging Application | p. 297 |
Creating the Flex Messaging Client Application | p. 299 |
Summary | p. 301 |
Communicating between Flex and JavaScript | p. 303 |
Goal | p. 303 |
Solution | p. 303 |
Communication between Flex and JavaScript | p. 303 |
Security | p. 303 |
Building the Samples | p. 304 |
ExternalInterface | p. 304 |
SWFObject and Prototype | p. 305 |
ExternalInterface in Action | p. 305 |
Flex-Ajax Bridge in Action | p. 309 |
Summary | p. 311 |
File Upload | p. 313 |
Goal | p. 313 |
Solution | p. 313 |
File Upload | p. 313 |
Creating the Rails Application and Installing attachment_fu | p. 315 |
Using Flex's FileReference Class to Upload | |
One or Several Files | p. 316 |
Using Flex URLLoader Class to Upload a PNG File | p. 318 |
Summary | p. 320 |
Index | p. 321 |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.