What Non-Flex Resources Have Helped You with Flex?

In a discussion with some Adobe Community Experts it came up that we expect you to have a reasonable amount of prerequisite knowledge to use Flex. You are better off if you have some familiarity with web development already, especially in areas such as exposing data as services, OO programming, CSS syntax, XML, etc. But not everyone who decides to learn Flex has all of that experience. So we were thinking it could be good to build up a list of general resources that can help with all the things you probably ought to know to improve your chances of success with Flex.

I don’t know where we’ll put this, but please start by commenting here on suggestions you might have for books, blogs, websites, online tutorials, etc. that provide the background material you might need to write any RIA, not just a Flex RIA. Feel free to be very specific, chapters in a book if you know them for example.

20 Responses to What Non-Flex Resources Have Helped You with Flex?

  1. Rick Mason says:

    I got started with the Quick Starts on adobe.com and with Lynda.com’s dvds. Then from the Flex Docs and a little bit from blogs.The books simply don’t come out fast enough to be learning resources, but they are good references once they do hit the shelves.

  2. Alfio Raymond says:

    Learned a bit from Flex Docs, from a few books from Friends of ed and bits and pieces from the net.

  3. Joshua says:

    I’m kind of a beginner, and, believe me, these sort of tips are more than useful. I myself have started not long ago with Quick Starts on Adobe site. Thanks!

  4. I got my first taste of frame-based programming in GFA Basic for the Atari ST in the 80’s. There was a cool library for flicker-free graphics. It used double-buffering so I would draw on one raster, then call flicker() and the whole screen would update to the next frame instantly. Kinda like what Flex does internally. Since Atari dissolved, Flash and Flex is the first mainstream technology in 20 years that let me pick up where I left off. I hope Adobe doesn’t dissolve like Atari did cause I don’t want to wait another 20 years for the world to catch up again.

  5. I have to say one thing that really helped me “get” Flex was actually developing a ColdFusion-backed RIA using Flash 6 and Aral Balkan’s Arp framework. I fell in love with event-driven programming and Flash Remoting after that. Various CF frameworks such as Model-Glue and ColdSpring have really helped drive home many of the OO concepts needed for Flex development. Beyond that, the Flex LiveDocs and AS3 Reference, along with source code from guys like Darron Schall, Ely Greenfield and Ben Stucki have helped tremendously.

  6. I hit the ground running with “Adobe Flex Builder 2” and a copy of “Adobe Flex 2: Training from the Source” by Jeff Tapper, now in version 3. The book is excellent, and after my FB expired I immediately bought a copy. Whatever programming language you use, you have to play around with XML. Parsing it, traversing it and creating valid documents. The FB Help files covers everything you need to know.

  7. cosmin says:

    Get FlashDevelop or FlexBuilder.Get PureMVC and bookmark the great docs. Start building a sample app following them.Solve the view problems ( that’s where your Flex skills will grow ) using the API andDocs:http://livedocs.adobe.com/flex/3/htmlhttp://livedocs.adobe.com/flex/3/langref/

  8. Johan says:

    I also found Adobe/Jeff Tapper’s Training from the Source book a great start.Most books and the Adobe Flex docs do not really give much guidance in building/structuring a complete application using a framework like Cairngorm.If you are new to Flex Cairngorm is too complex to begin with but a framework like Tom Bray’s EasyMVC is a nice start. After working with it Cairngorm and other frameworks are easier to understand.Like it or not Cairngorm is pretty much a defacto standard for larger Flex apps so worth knowing how it works.EasyMVC – nice series of articles by Jon over at http://clockobj.co.uk/, he has also recently started a series on CairngormBruce Phillips has lots of great posts, I found his series on a Login system for Flex/CF useful:http://www.brucephillips.name/blog/index.cfm/2007/3/16/Developing-A-Login-System-For-A-Flex-Application-With-A-ColdFusion-and-Database-Backend-Part-1Scott Clausing has covers Cairngorm and Flex:http://blog.tsclausing.com/flex-seriesFlex examples: http://blog.flexexamples.com/

  9. Tom Lee says:

    The more I learn about .Net, the more the Flex framework makes sense to me.

  10. Todd Cullen says:

    Like many Flex developers, I crossed over from CF in 2005 during 1.5. I got up to speed by reading about more traditional Flash development (ex. Aral Balkan, Colin Moock, Lee Brimelow, and definitely Grant Skinner). Its crucial to understand the quirks of developing on the Flash player, right after you have the basics of MXML. For the past year or so, I’ve really focused on understanding Java Swing and J2EE design patterns, which explains the structure found throughout the Flex UI framework. Once you have a solid understanding of the UI framework, you can really break out of the standard Flex mold and produce some amazing UX.

  11. Dutch Rapley says:

    I have to agree that Adobe Flex 3: Training from the Source is a good place to start. It’s very hands on, so you have to allow some time to work through the chapters. As close to “instructor led” as you’re going to get from a book.I also bought the print version of the Adobe Flex 3 Documentation (much easier to read as opposed to browsing the PDF). It has been the best resource when I’ve needed in depth explanations on particular topics.

  12. TJ Downes says:

    I would have to say that years of JavaScript development made my transition into Flex much easier.Also, exploring OO concepts with Java, and to a certain degree, ColdFusion, helped considerably as well.

  13. Steve Howard says:

    Building custom components?Best practive example component from Ely Greenfieldhttp://www.quietlyscheming.com/blog/components/randomwalk-component/

  14. If I read write, you asked for non-flex resources; while most people seem to be recommending Flex-focused resources. While that isn’t inherently bad, I’m going to try to get the ball rolling.For starters, I’d recommend everyone get a CS degree, or similar training. Look at the curriculum first to be sure it is “programming” centric and not “management” centric. Make sure the curriculum balances theory and application. I’ve spoken to of people whose college years focused on learning a language or two; but they found their skills were not transferable beyond that language. This is a break down in the system. Personally, I just got lucky when I chose a college.I think that Head First Design Patterns is a fantastic book for learning about design patterns. The Head First series in general appears to tackle hard topics in an approachable way. The gang of four “Design Patterns” book is known to be high quality, but a bit dry.To learn about OO [encapsulation] techniques in general, I don’t have a recommendation. Any of the “course books” I used will be long since out of print. Anyone want to chime in?To learn about database design techniques; it’s the same thing. Anyone have any suggestions on that?To learn about CSS… well, I know very little about CSS. It is an area where my knowledge is weak. If I need to plow through it, I google. Applying CSS directly to Flex is a good reason for me to hire a designer. Dissecting Scale Nine designs might be a worthy consideration. Anyone recommend any CSS resources?To learn about XML.. well, I just picked that up along the way; without a specific resource to direct people to. Does anyone have any recommendations, there?

  15. BrendanC says:

    As an experienced developer, but somewhat new to Flex I’d say that previous OO Design and exposure to Event driven applications is helpful. In fairness Adobe has created a lot of good docs.One thing missing is a troubleshooting FAQ for when things don’t quite work as expected – it’s usually something simple but sometimes can be frustrating till you get it.(Case in point: At first I did not understand why events from sibling controls never fired – till I realized that bubbling applies to ancestors only and I needed to dispatch my own events – it’s always easy once you see the correct way ).Since it looks like some framework is required for serious Flex development I’d like to suggest that someone put together a pair of simple, but well documented CRUD demo’s built – one with and one without a Framework – a sort of Compare and contrast approach. For me learning from well written example code that I can steal is the best starting point with any new tool/technology.I’d also suggest that video tutorials that walk through the development of an application (with complete, downloadable working code) are worth their weight in gold as a learning tool. Even better id their is a related Q&A support forum.(As in life, the initial experience needs to be positive, rather than frustrating).Brendan

  16. Johan says:

    @Brendan – framework – take at look at tom Bray’s EasyMVC as per my previous reply.Adobe have released the Flex Store demo app implemented with and without Cairngorm framework to contrast the two approaches.I started by considering the main things a typical app needs – login, change views based on roles, upload download files, submit (validate) forms (crud interface) – and then built an app to implement these items. I learnt a lot doing this, overall getting to grips with EasyMVC (and Jon’s subsequent scaling up EasyMVC posts) was a key enabler.

  17. Jan Poehland says:

    The most challenging problem for us was that we always had to put 80% into backend development.We simply solved that problem by creating a small-footprint, zero-install Web server with CodeGear Delphi that handles all backend tasks without modification so we now spend 100% of our time to actually develop Flex applications without having to worry about the backend at all.The Web server only handles these tasks:- Connections to multiple different database- Interface to send SQL query to server via URL (GET or POST) and receive XML data in return- Automatic session management- Login/logout via simple URL command (GET or POST)- Sending emails through the serverEverything else is on the client.We have demos of our framework on our Web site:http://www.comparatio.comOr here:Corrective Action Request System Demo:http://comparatio.webhop.net/actionrequest/index.htmlTraining Management System Demo:http://comparatio.webhop.net/training/index.htmlUser name: demouser , leave password blankIf a simple server like this could be included into Flex Builder this would make development much easier and more efficient. There would be no longer any hassle with additionally setting up and maintaining PHP sources, Tomcat, multiple configuration files etc, for the infrastructure in the background.

  18. Rahim M says:

    I found a blog helped me understand some concepts of Flex.http://www.flexdevelopers.comRahim

  19. I just started to inform me about Flex and there are some good German sites like tutorials.de and flexforum.de

  20. doug says:

    I started flex builder 3 beta with virtually no programming experience, and liked it so much I’ve learned a lot about programming since then. My only prior experience was building my own web page with hotmetal circa 1999.Learning PHP and mysql while I was learning flex was invaluable, because (a) there are a ton of books written for PHP and mysql that are more suitable for the complete novice than the flex resources, and (b) the more you know about programming in general, the easier it is to learn flex.The number one tip I would give is that when something doesn’t work, the first thing you should do is check to see if you said = when you meant ==. Probably 99% of the most frustrating problems I have had arose from that simple error. Every time it happened I felt stupid when I finally figured it out, and no matter how many times it happened, I always overlooked it, and pulled my hair out for days before I checked for it.Also ubuntu is a great resource. I used it to turn an old desktop into a development server while I was learning. Its free, setup is pretty easy and the ubuntu forums are very good. And its free. (that server mentioned above sounds really cool too, but I know that if I hadn’t had to learn php simultaneously, it would have taken me a lot longer to figure out flex.)