Tuesday, November 25, 2008

Do FlexBuilder and MXMLC Really Feature Incremental Compilation?

I use FlexBuilder in my work, and, overall, it's a decent tool. Eclipse gets a lot of points for being free; Flex SDK gets a lot of points for being free. FlexBuilder doesn't get points because it's basically the above two items glued together along with a GUI builder, and it costs real cash.

Wait, I'm off track already. The price isn't the issue for me. Rather, I want to know why FlexBuilder doesn't feature incremental compilation.

Hold up again, actually, I guess I want to know how Adobe defines incremental compilation since they insist that it is present and switched on by default in FlexBuilder.

Now, if I make any change (even spacing) to any code file -- or even a non-compiled file, like some html or JavaScript that happens to be hanging out in the html-template folder -- FlexBuilder rebuilds my entire project. And it's a big project, so, the job even on a 3.6GHz box means a chance to catch up on RSS or grab more coffee.

Interesting take on incremental compilation. See, I thought the whole idea was to allow compilation of some, ah, compilation unit -- say a file, or a class -- into an intermediate format which would then be linked, stitched or, in the case of Java .class files, just ZIPped into a final form.

Besides allowing compilation in parallel, this design allows for an easy way to only recompile the units that have changed: just compare the date on the intermediate output file to the date on the source file. If the source file has changed later, then recompile it. It does not appear that this is how the tool is behaving.

Perhaps this logic is already built into FlexBuilder -- mxmlc, really, since that's the compiler -- and the minutes of build time are spent on linking everything into a SWF. Since Adobe revs Flash player regularly, and many movies are compiled with new features to target only the new player, it should be possible to update the SWF format a bit in the next go-around, so that linking doesn't take egregiously long.

Apparently, at MAX this year, Adobe has started referring to the Flash "platform" -- meaning all of the related tools and tech involved around the runtime. Fair enough, it is a robust ecosystem. But "platform" kind of implies that the tools support writing real -- and big -- applications, not just a clone of Monkey Ball or another custom video player for MySpace pages.


Warren Young said...

I think what Adobe means by "incremental compilation" is that it immediately starts building the project every time you save a file that goes into building it.

I don't find that the *whole* project gets rebuilt each time. It depends on what you touch. Change something core to the app, and yeah, the build time seems to take about the same time as a clean build. Touch something peripheral, though, and it goes much faster. One learns to suppress old habits of saving early and often when messing around with the core modules of the project.

I'm not defending them...Flex Builder is indeed rather slow, and one shouldn't have to appease the tool by abandoning those hard-won saving habits. There's a lot of room for improvement.

As to the question about whether they should be charging money for Flex Builder, that one's easy. Yes, it's got weaknesses, but it definitely offers real value. At professional programming rates, all it has to do is save you a few hours of time to justify itself. It's done that many times over for me.

Runescape Gold said...

Not long stumbled on your current article and possess already been version along. I must express mail our admiration of one's committal to writing accomplishment along with capacity to shuffling visitors understand from the beginning towards oddment. I would like to see modern posts in order to plowshare the thoughts together with you.

Sell Runescape Gold
RS Gold

cheapwowgold said...

If possible, concentrate on instances with Cheap Tera Gold, considering that offering the cloth which they decrease is primarily a great method to make WOW Gold Cheap.

Anonymous said...

Way it is noteworthy all around you sunglasses wholesale, additionally, the stylish exploring rarely leave you the only one. Who has a two of awesome fashion accessory drinking glasses, you are the shining an individual who stalls in the center from the fashion world. >

You have eyeglasses frames to land which will people that you're a beautiful an individual who has actually different mastering in regards to the street fashion? We should appear like the far more very popular glasses frames person who has this named flavor involving trendy? In basic terms. The perfect means spectacles is really effective acceptable to help teach all these whizzes.