// you’re reading...

ActionScript 3

Code Model is going places

I posted a while ago that I was working on the next-generation Flash/Flex compiler at Adobe. After taking some time off, traveled a lot and moving half-way across the globe from San Francisco, I’ve started working again.  And then I remembered I had a blog!

Perhaps the most exciting piece to report is that Code Model: the core language intelligence engine used in Flash Builder, Flash Catalyst and Flash Pro (I should blog about that, it’s pretty amazing) will be the basis for the new compiler.  This is something I’ve been advocating for quite some time and it’s finally happening.  And when I say advocating, I really mean being constantly talking about it until people finally gave in…

When you think about it, it makes perfect sense:

  • Code Model is fast (well, faster than asc/mxmlc…still not as fast as javac/jdt) and memory efficient
  • Code Model was designed to be hosted inside of tools (Builder, Catalyst and now Pro)
  • Code Model is a full compiler front-end: lexing, parsing, syntax checking, semantic analysis, type resolution for ActionScript and MXML
  • Code Model’s code is clean, and interface heavy

At this point in tooling development, it makes very little sense to have a compiler that can’t be integrated seamlessly into other tools.  And it makes even less sense to write two competing libraries: one for compiling and one for language intelligence features.

The potential here is huge: smaller SWFs, faster compile times, better and more accurate tooling features…the list goes on and on.

So the future is bright, and I’ll be able to talk about more and more as the project picks up speed.

Discussion

9 comments for “Code Model is going places”

  1. Seems like it will make IDEs more responsive with smaller memory foorprint. Good but probably not in my “most want” list :)

    I hope more for run time performance improvements then compile time improvements. They meter more.

    Posted by wonderwhy-er | September 3, 2010, 1:39 am
  2. [...] This post was mentioned on Twitter by Ultra Red, karannnnnnnnnnn3. karannnnnnnnnnn3 said: Code Model is going places: I posted a while ago that I was working on the next-generation Flash/Flex compiler at … http://bit.ly/d2Cmdp [...]

    Posted by Tweets that mention Marking Occurrences | Code Model is going places -- Topsy.com | September 3, 2010, 1:56 am
  3. Sounds like some exciting advances. One of the things I have found as I work with more and more complex solutions is that asc is actually a pretty slow compiler, and mxmlc is quite the memory hog. And Flex apps can certainly benefit from smaller swfs, even incremental reductions make a difference.

    Thanks Dave, for pushing to make the compiler better. I am certain it will improve the platform tremendously in ways people don’t realize.

    Posted by TJ Downes | September 3, 2010, 4:26 am
  4. This is awesome, I remember Jesse Freeman requesting that the flex framework become parts of the player…
    “Native Flex Classes”
    http://insideria.com/2010/04/flash-next—part-2.html

    On an other note:
    who should I ask this:
    http://forums.adobe.com/thread/712160?tstart=0
    I have tried to find and answer for over a week now…

    Keep up the good work ;)

    Posted by Brett Coffin | September 3, 2010, 2:46 pm
  5. Cool, I must admit I was totally unaware of Code Model, or the extensibility features of Flex Builder, thanks for the headsup. BTW the link to Code Model http://www.adobe.com/devnet/flex/flashbuilder_extensibility/CodeModel/index.html?overview-summary.html is broken.

    Posted by Graham Phillips | November 15, 2010, 1:54 am
  6. With which version of the Flex SDK is this new compiler going to be included? Hero, or some further off and more vaguely specified build? I’m looking forward to the day when the Code Model stuff (or its derivatives) is included outside of com.adobe.flexbuilder.

    Posted by Kyle Murray | December 29, 2010, 11:25 am

Post a comment