Flex 3 - Tuesday: Code Enhancements
DIGG IT!
27
Comments
Published
Tuesday, June 05, 2007
at
7:01 AM
.
The code enhancements in Flex 3 are a standout in this release. The features include faster compilation, compiler class caching, deeper language intelligence for AS3/MXML/CSS, Code Search, Refactoring (Renaming: Method,Class,Variable), Code Outline, Memory Profiling, Performance Profiling, Profiling Live Memory Data, Enhanced Module support, and Multiple SDK support. Lets take a look at them all:
Compilation:
The MXML/COMPC/ASC compilers have been optimized within this release of Flex. The changes support class caching during the compilation process and result in much faster compilation times. In testing projects of various sizes, typically the first compilation will be about 30-40% faster than prior versions but the N+1 compilations are now limited to the classes that have changed resulting in orders of magnitude improvement. Given we typically are only changing one class at a time, this results in a very solid performance enhancement for compilation.
Language Intelligence:
The core language intelligence within the Flex Builder IDE has been dramatically improved to contain full knowledge of MXML/AS3/CSS assets during development. This might not seem like a big deal until you realize that it enables Refactoring, Code Search, Code Outline, Syntax highlighting, and Code completion. The work here changes the core of Flex Builder and enables much more advanced tooling.
Refactoring:
Flex Builder 3 supports refactoring for method renaming, class renaming, and variable renaming. Change the class name via refactoring and all instances, references, strong typing will change as a result. It allows you to make massive changes within a project quickly and consistently.


Class Outline:
The Class Outline view now supports imports and all the enhancements to Language Intelligence. I keep finding this new view to be a great addition for exploring larger projects. Given the ability to find methods and properties easily, combined with code search it becomes very useful.


Code Search:
Within Flex Builder simply select any variable and press CRTL+G to search globally. The resulting search panel will locate all instances of this variable, method, or property within your project.

Profiler:
If there were 3 things that will define the Flex 3 release, the Profiler is in the top 3. It is game changing to see inside your application running in Flash Player or Apollo. It will quickly show you how much memory is allocated to instances, allow you to force Garbage Collection, and see what the internals of your application are doing. It is a mountain of information about your projects and I think this feature will improve the quality of Flex applications for a long time to come.







Module Support:
The Module and ModuleLoader has been fully integrated into Flex Builder.

Multiple SDK Support:
Flex Builder now supports multiple SDKS and allows you to switch SDK's easily. This allows you to fully use Flex Builder 3 for projects using FXSDK 2.0.1, any hotfix, or the new Moxie SDK. It also allows you to customize your own SDK and use that configuration across projects. Provided all developers have identically named SDK's, these when projects are shared the compiler settings will work seamlessly.


Wednesday I will be covering new framework components and features. Look for some samples of the new Advanced DataGrid, deep linking, and SQL in AS3?
Cheers,
Ted :)

Any chances to grab from somewhere an alpha or beta of Flex 3 or Flex Builder 3?
Dimitar,
We are days away from FX3 Beta 1!
Ted :)
Wow! These are really cool features, especially for profiling and refactoring? Will they be included in public beta?
Everything I am talking about will be in Beta 1.
Cheers,
Ted :)
That Profiler rocks! WOW!
With the new profiler showing me how many instances of each object I have, I'm about to find out how bad of a programmer I really am! :)
Hi Ted,
Just wondering if there will be a way of creating custom Flex preloaders with "EASE" in Flex 3.
All I an say is Flex Builder Lover ( and lot's of it ). That Profiler is a dream come true.
Wait that last comment did not convery my excitment. Hope this one does!!! YES!!!!! OH GOD YESS!!!!!!!!
wow that sounds awesome! I'm very eager to start working with the beta version! I watched a sneak preview of Flex 3 last week in Amsterdam @ Adobe Live 2007 where Waldo Smeets quickly showed us some new functionalities. Thanks for going in on them a little better!:) Keep up the great work!
Any news on what will be the cost of FB3?
The profiler looks sweet, Ted! I'm very excited to check that part out.
I continue to find the Outline view to be unimpressive, though. It needs a better way to organize class properties and methods. I've found with Flex 2 that I don't use it much because it's hard to find anything quickly in big classes. It's just a big mess. I hope the Flex 3 Outline view is orders of magnitude faster at building the list than the Flex 2, where if you click on a property after switching to a new class, it will rebuild itself and lose your click.
I was quite skeptical towards the new version of Flex Builder comparing the progress of version 2 against version 1. And I was waiting FDT plugin 3.0 alpha to get official.
But comparing the features you pushed into the oncoming version and even better, just days since Beta 1, I can only say: Hats down, you guys do a great job and I have to admit I am more than impress!
And the best of all (from AS 3.0 editor point of view), soon we will have not 1, but 2 excellent editors to choose from – FB 3.0 and FDT 3.0.
Labs.Adobe.Com, right, the Beta 1 will be there?
this is great!!!
Only one question refactoring will work with packaging too?
The incremental compiler feature in Flex 1.5 was the source of a lot of hairy issues. Am guessing the new compiler in FB3 has been tested for those issues ?
great work guys! I can't wait!
I'm really looking forward to faster compilations and the profiling capabilities.
oh, and excited to see what enhancements have been done to individual controls as well :)
Thanks Ted. I can't wait to try it. One item that would be GREAT for helping coding would be to increase the robustness of code folding.
The Eclipse Java and PHP capabilities have preferences such as "When opening a file, auto fold the following: JavaDoc (or AsDoc?), Functions, Comments [...]".
The states of foldings are also saved for when you return the next time.
Also having folding inside the Script tag of MXML, as well as similar preferences for MXML code folding...
You guys keep up the good work.
Wow, my congrats to everyone there, as this is way more than I've heard about or was expecting.
Flex 3, you had my at "Profiler". No need to say anything more...
Ted,
What about code-formatting like eclipse provides for Java?
It would be very helpful in projects in which many developers are involved.
Andy
I really can't wait for this Beta to play with... :/
I sure hope coding in AS3 will be as good (or better) as coding doing AS2 with FDT and Eclipse.
Just two questions for you Ted, will there be any speed improvments in upcomming flash player 10, and will we finaly be able to turn off default context menu (right click menu)?
All those features are cool, but AS3/FP needs to be faster.
Thanks Ted.
Sounds very promising, all of it. Will there be some more functionality for customizing the script-outline panel in the Flex3 beta?
Something like a checkbox-list where you can set filters for what show and what to hide in the outline panel (public, private, vars, methods, imports, etc)?
Hi
I almost can't wait hehe ;-)
regarding Language Intelligence:
now that the Moxie team has got that going, any chance of being able to drill down to variables and object properties for databinding from the properties window when in design view?
this works a treat with tools like VisualStudio where you can remain in design view to complete the UI and all the databinding.
that way, code view is only necessary when coding up classes or adding custom in-line functions.
I'm looking for FlexBuilder to be as good a RAD app tool as, say, VisualBasic
Interesting, but to my mind it's not enough for release set of features.
Will that set be extended in release version?
Excellent news! Hey, just curious: Will FB3 have source-formatting abilities?
REFACTORING? Support for renaming is hardly refactoring...