Clarifying the Term “Flex”

I’ve noticed some confusion out there around the term "Flex". The term has evolved as our technology has evolved, and actually means something very different now than it did even just a few months ago. If you’re a little confused about what we mean when we say Flex or Flex 2, this should clear things up.

I’ve decided to break this post down into two sections: Initial Flex Products, which describes how we started off using the term Flex, and Current Flex Products, which describes what Flex means today.

Initial Flex Products

  • Flex 1.5: Flex 1.5 is probably what most of you think of when you think of Flex: an enterprise level presentation server. You write MXML, move it over to a server, and Flex compiles the MXML into a SWF, and serves up your application’s presentation layer. You can compile your MXML "off-line" and just copy the resulting SWF over to your server, as well. Once your Flex application is running on the client, you can use web services or AMF to communicate with the server.
  • Flex Builder 1.5: Flex Builder 1.5 is an authoring environment for Flex 1.5. It is based on the Dreamweaver code base, and gives you things like design and code view, syntax highlighting, code hinting, and application preview.

Current Flex Products

  • Flex 2: Flex 2 is an umbrella term which refers to all the technologies in the Flex 2 product line including the Flex Framework, Flex Builder 2, and Flex Enterprise Services 2.
  • Flex Framework 2: With the next generation of Flex technology, we have decoupled the framework from the products themselves. The Flex Framework consists of MXML (an XML-based language for declaratively building your applications), class libraries, components, containers, and effects. The Flex Framework can be used to build and style Flex applications without a server or any particular IDE. In fact, all you actually need to build Flex applications is the Flex Framework and the Flex compiler, both of which can be used on their own. Find out more about the Flex Framework here.
  • Flex Builder 2: Flex Builder 2 is an entirely new product, and has almost nothing in common with Flex Builder 1.5. Flex Builder 2 is a brand new RIA IDE built on top of Eclipse, and is the easiest and most powerful way to build Flex applications. Flex Builder 2 makes developing Flex applications much simpler with features like an integrated compiler, code hinting, debugging, design view, source control system integration, and tons of other features. It will be available as both a standalone application, and as an Eclipse plugin that you can use with your existing Eclipse installation. Find out more about Flex Builder 2, and download an alpha release, here.
  • Flex Enterprise Services 2: Flex Enterprise Services is basically the next generation of the Flex 1.5 server, but with tons of new functionality like automated testing, enterprise messaging support (which provides a publish/subscribe messaging infrastructure), and the Flex Data Services, which automatically synchronizes data manipulated locally with data on the server. Find out more about Flex Enterprise Services 2 here.

Other Flex-related Technologies

  • Flex Charting Components 2: The Flex Charting Components 2 are a new set of customizable Flex components which provide very slick data visualization capabilities. Think of them as an extension to the Flex Framework. You can use them with Flex Builder 2 and Flex Enterprise Services. Find out more about the Flex Charting Components 2 here.
  • Flex Compiler: Although Flex Builder 2 and Flex Enterprise Services both have the Flex compiler built in, it can also be used outside of either product. The compiler can be used for compiling MXML applications or ActionScript projects from the command line. Find out more about using the Flex compiler and Flex framework from the command line here and here.
  • ActionScript 3: ActionScript 3 is the core of the Flex Framework. Although the syntax is similar to ActionScript 2, it is more object-oriented, more strongly typed, and because it executes inside a brand new virtual machine, it is much faster than ActionScript 2. ActionScript 3 is fully compliant with the ECMAScript 4 proposal (the standard JavaScript 2.0 is based on), and includes things like E4X and regular expressions. Find out more about ActionScript 3 here.
  • Flash Player 8.5: Flash Player 8.5 is the newest version of the Flash Player, and is still in alpha. It is the client runtime for Flex 2 applications. The biggest addition to Flash Player 8.5 is the ActionScript 3 virtual machine. Find out more about Flash Player 8.5 here.

If you have any Flex related questions, or if anything in this post isn’t clear, let me know.

19 Responses to Clarifying the Term “Flex”

  1. Ryan Stewart says:

    Hey Christian, I’m curious where you’ve been seeing the confusion. Within parts of the developer community or within business circles?This is a great post, and for those of us who stake a bit of our living on Flex, it will be great to point people to.

  2. Ryan,I’ve noticed that people I’ve talked to at conferences and in the course of day to day communication are still thinking of Flex as an enterprise server. It’s certainly to be expected. We only announced the next generation of Flex technology last October, so developers haven’t had a lot of time to get acclimated. I hoping this post will speed things up a bit.

  3. Bruce says:

    When should developers expect the Flex 2 family of products to be released. I note that you mentioned that Flex Builder 2.0 is in alpha release.We are redesigning a large website in mid-2006 and are considering Flex as our front end and ColdFusion as the backend.

  4. Gracy David says:

    Flex2 product lines will be lauched by March 1st (as per the information given to me by an Adobe flex2 product development team member).

  5. Clint Modien says:

    Uhh… I dislike gossip… but I have to clarify Gracy’s point. I didn’t hear it from anyone on the product team but I had “heard” it won’t be released till “at least” after March. Which makes sense to me… the beta isn’t even out yet and it’s Jan 20th? That gives them 5 weeks to go from alpha to beta to production?

  6. Matt says:

    I have heard the same release date (March 1st) from a Macromedia team member.

  7. Matt Chotin says:

    We haven’t made any announcements about when the product will release though you can anticipate 1st half of 2006. I don’t know about the March 1 date but at best case that would simply be an announcement, I can guarantee you that the product won’t be shipping then.

  8. Gracy David says:

    Oh!! Really sad to hear it Matt. 1? for you does this Coldfusion adapter will comes with single flex2 installatiion or as seperate?

  9. Thanks for posting that, Matt. It’s not that we’re being secretive — it’s just that we’re not going to launch any of the Flex 2 products until they are ready, and since Flex Builder 2 is not even in beta yet (although it’s probably the most robust alpha product I’ve ever used), we don’t know when that’s going to be. As we get closer, I’ll provide as much information on my blog as possible.

  10. Mike says:

    Hi Christian,Will Flex 2 Compiler only target Player 8.5, or are there plans to have it target Player 8 or 7?Thanks,Mike

  11. Mike,Only Flash Player 8.5. The Flex Framework 2 is implemented in ActionScript 3, so it will only work in Flash Player 8.5 which is the first Flash Player to have the AS3 virtual machine built in.

  12. Riccardo says:

    Christian,Thanks for posting this. It helps to clarify things a lot.One other thing that I’d like to ask is when would you use Flex2 and when would you use Flash 8 on the presentation layer?Thanks-Riccardo

  13. Riccardo,For a couple of versions, we were really trying to morph Flash Authoring into an application development tool, however we eventually realized that we could build a much more powerful RIA IDE if we started with something completely new. The result is Flex Builder 2. Flash Authoring is still better for very customized graphics and animation work while Flex Builder 2 excels at rich internet application development. Make sense?

  14. Brice says:

    Hi to everybody:I think a lot of people (I don’t say anybody) are thinking the following things:1) Flex is and was a mysterious object;2) Macromedia marketing used too much the word “dramatically”[try googling!];3) Flash developers are going crazy: the language API and its syntax has changed DRAMATICALLY (!) too much times, and they have done the same things in quite four or five different ways. Most of all, there’s always a Java programmer coming and telling you that here we talk about “OOP features”, not a real programming language;4) Macromedia answer to the point 3 seemed the creation of AS3. Now, it takes TIME to learn AS 2 as it takes time to learn other technologies. Consider this;5) Why should one buy/learn/use Flash 8 AS if somewhere on the Internet there’s a new API waiting for alpha pioneers to try it;6) where’s the need of Labs;7) Why not to use SVG that’s really a standard;8) Which is the intended target of a thing like Flex;9) Which are the competitors, the market. Who’s the developer you imagine;10) Finally, it seems always Flash/Flex is used to substitute something else: applets, SVG, HTML, AJAX (Remoting), etc.Bye

  15. DannyT says:

    I find another common question that frequently follows an explanation of Flex is:”Can’t you do that with Flash?”/”I can do that already with Flash”.My normal response is along the lines of Flex is better equiped for creating flash applications. However a decent, more educated answer to the “I can already do it in Flash” arguement would be appreciated.

  16. Riccardo says:

    Christian,thanks for your reply, it makes sense to me. I’m a big fan of Flex (and less of Flash) but the challenge sometimes is that now there is significant overlap between the two technologies (please correct me if I’m wrong) that ultimately it also depends on what our developers are more familiar with.-Riccardo

  17. Chris says:

    Just seconding Riccardo’s last question and questions 8 and 9 especially of Brice. It’s really hard to pin down what’s the difference between the kind of applications you would develop with Flex and those with Flash. Because of it’s programming capabilities with AS, the ability to consume Web Services and the like Flash is more than a front-end tool it’s the V and the C in MVC. However it’s not set up well to do applications that are page view based because of it’s orientation around the Timeline. Is Flex meant to fix those problems and if so how? Also why not make a version of the Flash IDE (not flex) that lets you easily organize a project based on pages and not a timeline with frames?

  18. John Teal says:

    Just a bit more fuel for the “I can already do that with Flash” fire; Flash is DRAMATICALLY less expensive than Flex–like, way!

  19. John, Flash is definitely not less expensive than Flex. The Flex SDK is actually free (or will be, once we release it), and Flex Builder will be priced below $1,000 — probably very close to how Flash is priced.The biggest difference between Flash and Flex is that Flash is primarily an animation/design tool while Flex Builder is a hard-core application development IDE with all the features (and more) that you’d expect from a modern IDE. If you use Flash, and you’re interested in seeing how Flex Builder is different, go download the beta from labs.adobe.com and have a look. I think you’ll agree that they are drastically different tools.