10 Open Source or Free Flash or Flex Code Libraries You Need To Check Out.


Build, steal, buy, or borrow… These would be the four basic ways you can make your applications a reality, pretty much regardless of the language you develop in. Flash and Flex development is no different in this regard.

Building will get you what you want, provided you have the skills to do it, but could take a load of time. Time obviously equals money. Stealing source code is of course unethical and I would never endorse it, for the obvious immediate moral implications. But furthermore, it is simply not a commercial option when developing work for clients due to long term legal issues. Buying code or components is often a great way to rapidly make progress that would otherwise take a long time to build. Borrowing code or the closest parallel I could think of, using open or free libraries, components, frameworks or APIs, is often the smartest thing to do when building an application of scale or one that requires a short timeline to deployment.

There are some great large repositories of code out there today for the Flash developer. I came from the early days of Flash, where sites like Flashkit and Were-here ruled the landscape. The upstarts at the time, Ultrashock and Kirupa also had some great stuff (They still do for that matter). Learning resources, code warehouse and decent communities, the lot of them. Fast forward a few years and the community is much, much larger. Maybe a little more fragmented, too. Blogs and bloggers pretty much run the show. There are few sites here and there that provide a larger launch pad for community, but really, you do have to know where to look to find the gems. OSFlash.org is a great starting place, FlashMagazine and TheFlashBlog serve a lot of great content, too. Those things considered, in order to help you find a few libraries of code you might not necessarily know about or have heard about, I’m making this list. I’m leaving Papervision off the list, because unless you have been living under a rock for the last year and a half, you know about it.

  1. SWFObject - If you aren’t publishing your Flash/Flex files using this excellent JS method, you are missing out and so are your users. An easy way to simultaneously detect Flash, embed it, and supply alternate content all at once. You’d be behind the times if you aren’t using it, as Adobe has announced it’s going to be the default publishing method for the CS4 family of products.
  2. SWFAddress - Like Flash but hate it’s inability to provide deeplinking and proper back button functionality? Me too. Enter SWFAddress. You can now provide rich bookmarkable experiences and help your search engine friendliness, too. SWFAddress relies on SWFObject to work. If you are using Drupal, too, you may want to check out the SWFAddress module, written by my friends at cascadingstyle.net. With Adobe recently announcing the now search engine friendliness of Flash, deep linking is even more important if you need that kind of visibility. Who doesn’t need that?
  3. Gaia - A framework touted for it’s strength and ability in building experience sites quickly and easily via a scaffolding process and a strong event model. It certainly has gotten some uptake recently. I have begun research on this framework and anticipate using it sometime this quarter for some Flash work I have planned. Jesse Warden has a great post or two on it here and here.
  4. Casa - Growing somewhat long in the tooth, this AS2 library is somewhat obseleted by the changes brought forth in AS3. However, if you have some AS2 code you need to build or extend, this bit of code is well worth your time investigating.
  5. Tweener - Zeh Fernando’s super amazing AS2/AS3 powered animation engine. I have been using this since sometime in 2004. I found it digging around in the somewhat crusty, but still very useful proto.layer51.com site. Virtually every project that needs programmatic animation or tweening that I touch uses this. You gotta be crazy at this point to not be using some sort of a tween engine for your Flash development and this is among the very best of them.
  6. AS3 Corelib - Doing some things with Flash just isn’t fun. AS3Corelib does a good job at getting lot of those not so fun things out of the way. Image encoders, encryption, strings, numbers, dates… It’s all here. You won’t regret downloading this one. I use this a lot now on many of my projects.
  7. Cairngorm - I have to admit, I nearly left this one off the list as it might not be everyone’s cup of tea. It’s complex. It’s a bit niche. What is it you ask? From the Adobe Labs site: The Cairngorm Microarchitecture is a lightweight yet prescriptive framework for rich Internet application (RIA) development. Confused yet? Thought you might be. If you have an application of significant scale and complexity that needs to be built in Flex using a very structure format… You may need to look into this. We at the Iona Group are just beginning to employ it, and I’m not the one using it, it’s more along the lines of one of our dedicated developers (I tend to fall more in the XD, UI realm). However, I know it’s strong MVC architecture is going to give us significant advantages in the templating portion of the views needed for the app we are currently building (it’s a doozy! more on that later, hopefully).
  8. Degrafa - A super cool drawing framework for Flex. This provides an MXML interface for the Flash drawing API. I used it to build my DekafLovers mashup and continue to watch the frameworks development. I know they have some great things planned for this, with dynamic raster fills and a number of other big big things around the corner. For now, even though the framework says it is beta, it definitely ready for primetime. Juan, Ben and the rest of the team are just doing a great job on this.
  9. Bytearray’s Projects - Ok, I’m going to cop out and call this one 9 and 10… can you blame me? It’s a biggie and many might not even know it’s out there. This site is chock full of stuff. Generate PDFs from Flash? Check. Lightweight easy to use AS3 components? Check. Super kick ass audio visualizations? You know it! Wiimote components. Not even kidding. A freely published amazing AS3 book (French only at this time, I believe). You got it. Thibault Imbert has certainly made a name for himself building some great stuff. He recently took a full time job with DDB, so hopefully his experiments will continue. Truly amazing stuff.

So, there you go… a few snippets and bits I have found useful in the recent months. What are you using in your projects? I’m definitely on the lookout for new stuff, always!

Posted on


21 comments

  1. lowdown Jul 1

    I’m a little sad that you left PureMVC off the list. With its strong architecture, prolific community, many examples, utilities, and general ease of use it should make any top ten list of open source Flash/Flex/Air/AS3 libraries.

    For shame!

  2. Steven ‘Sven’ Merrill Jul 1

    Hey - I only count 9 there, unless you’re including the implicit mention of Papervision. ;) Great list, and I have two candidates for the #10 or #11 slot, depending on how you count it.

    In any case, I’d also recommend Mate as a lighter alternative to Cairngorm and a good stepping stone to MVC. It’s available at http://mate.asfusion.com/.

    I’d also recommend TweenLite is available in AS2 and AS3 versions, and it’s smaller and faster than Tweener, making it great for when you’ve got a lot of things to animate, or for use with Flash Lite. It doesn’t have all the bells and whistles of Tweener, it also has the ability to tween to OR from a set of values. Tweening from a set of values can be awesome for doing certain UI animation tasks. You can check out the AS3 version at http://blog.greensock.com/tweenliteas3/.

  3. lowdown Jul 1

    oh, that you’ve used recently. Sorry for scraping the shame finger at you :P

    PureMVC, I highly recommend it!

  4. Jib’s Jul 2

    About the tweens, I think tweenlite is a best way to tween and animate.
    Faster, and with a lot of very useful stuff.

  5. Chad Jul 2

    lowdown, I’ve heard great things about PureMVC… I’ll have to check it out! Thanks for dropping by!

  6. Chad Jul 2

    Sven, thanks for your addition. Mate is indeed coming on strong! I have read up on it. I may get a chance to check it out soon… And as for TweenLite, yeah, I know it’s smaller and probably faster than Tweener for a lot of things, but you know, I just know Tweener really well. As for tweening from a set of values, I usually do that soemthing like this:

    Tweener.addTween(myClip, {myProperty:myProperty-value, time:1});

  7. Chad Jul 2

    Oh and Steve… I only counted 9, because ByteArray has so many great an useful little bits of code at his site that it was basically like adding 2 to the list! A bit of a cheat, I know.

  8. Darren Daz Cox Jul 2

    So much to explore here but this list seems like a solid resource, thanks Chad.

  9. Steven ‘Sven’ Merrill Jul 2

    Well, I should have read the last item on the list more carefully, too ;)

  10. Jack Jul 2

    Tweener’s great and a lot of people use it for good reason. Just for the record, though, I figured I’d chime in and address the comment from ‘Sven’ about TweenLite not having all the bells and whistles that Tweener does. If you’re looking for bells and whistles, TweenLite has a “big brother” that uses the identical syntax and adds a slew of features, called TweenMax. Bezier tweening, bezierThrough, orientToBezier, sequencing, filter tweening, and LOTS more. It’s definitely faster than Tweener, and if you’re used to Tweener, you’ll have no problem transitioning because the syntax is very similar. Check it out at http://www.TweenMax.com. Speed tests are available at http://blog.greensock.com/tweening-speed-test/ and http://blog.greensock.com/bezier-speed-test/

    Don’t get me wrong, though - Tweener is a solid engine with lots to offer.

  11. Kyle Simpson Jul 2

    Great list. Really awesome stuff, especially the PDF generation for AS3!

    Just to toot my own horn for a moment.. How about the flensed family of projects that launched a few weeks ago. Two projects are out already, with (at least) 5 more on the way.

    CheckPlayer (http://checkplayer.flensed.com/) is a feature enhancement toolset built on top of SWFObject 2.1. It provides both a simpler and a more flexible/powerful interface for SWFObject type operations, including player plugin detection, inline auto-updating, and dynamic SWF embedding, but all with more powerful interfaces including detailed robust callback mechanisms to give the author more control.

    flXHR (http://flxhr.flensed.com/) (which uses CheckPlayer) is finally a fully API compatible, SWF+javascript drop-in replacement for native XMLHttpRequest (XHR), but with cross-domain communication ability, robust error handling, timeouts, and more. Demos show how it can easily be adapted into any of the major JS frameworks, which makes it even more powerful!

  1. Hebi Flash Blog » Revue de web 28 - 1er Juillet : Home, flash indexing et un peu de 3D…
  2. links for 2008-07-02 « 個人的な雑記
  3. The Burgeoning Openly Owned Web » links for 2008-07-03
  4. andy.edmonds.be › links for 2008-07-03
  5. Librerias de Flex y Flash open source
  6. links for 2008-07-03 | JeremiahTolbert.com
  7. links for 2008-07-03 « toonz
  8. my so-called blog » links for 2008-07-04
  9. links for 2008-07-04 « My Weblog
  10. Good times & Happy days » Blog Archive » Open Source Flash/Flex libraries

Leave a reply

Related Posts:

  • My Upcoming “Intro to Flex” Presentation… March 4th, 2008 @ 7PM
  • Flex:Open Source - Adobe Labs
  • Open Letter to Component Developers and Vendors: Sell Your Code, Too!