Ted Patrick - Demos & MAX @ Adobe Systems


Note: This is the personal blog of Ted Patrick. The opinions and statements voiced here are my own.



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 :)

27 Responses to “Flex 3 - Tuesday: Code Enhancements”

  1. # Anonymous Dimitar G.

    Any chances to grab from somewhere an alpha or beta of Flex 3 or Flex Builder 3?  

  2. # Blogger Ted Patrick

    Dimitar,

    We are days away from FX3 Beta 1!

    Ted :)  

  3. # Anonymous DL1t

    Wow! These are really cool features, especially for profiling and refactoring? Will they be included in public beta?  

  4. # Blogger Ted Patrick

    Everything I am talking about will be in Beta 1.

    Cheers,

    Ted :)  

  5. # Anonymous peter

    That Profiler rocks! WOW!  

  6. # Blogger Bill White

    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! :)  

  7. # Blogger Big Will...

    Hi Ted,

    Just wondering if there will be a way of creating custom Flex preloaders with "EASE" in Flex 3.  

  8. # Anonymous Samuel Agesilas

    All I an say is Flex Builder Lover ( and lot's of it ). That Profiler is a dream come true.  

  9. # Anonymous Samuel Agesilas

    Wait that last comment did not convery my excitment. Hope this one does!!! YES!!!!! OH GOD YESS!!!!!!!!  

  10. # Anonymous Wietse Veenstra

    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!  

  11. # Anonymous Ben

    Any news on what will be the cost of FB3?  

  12. # Anonymous Brett Walker

    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.  

  13. # Anonymous Dimitar G.

    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?  

  14. # Anonymous Anonymous

    this is great!!!
    Only one question refactoring will work with packaging too?  

  15. # Anonymous Anonymous

    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 ?  

  16. # Blogger munkyboy

    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 :)  

  17. # Anonymous Todd Clare

    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.  

  18. # Blogger Brian

    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...  

  19. # Anonymous Anonymous

    Ted,

    What about code-formatting like eclipse provides for Java?
    It would be very helpful in projects in which many developers are involved.

    Andy  

  20. # Anonymous Zokdok

    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.  

  21. # Anonymous Ozren

    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.  

  22. # Blogger Ruben

    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)?  

  23. # Anonymous Morten Reinholdt

    Hi

    I almost can't wait hehe ;-)  

  24. # Blogger barry.b

    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  

  25. # Blogger mormat

    Interesting, but to my mind it's not enough for release set of features.
    Will that set be extended in release version?  

  26. # Anonymous Beau D. Scott

    Excellent news! Hey, just curious: Will FB3 have source-formatting abilities?  

  27. # Anonymous Anonymous

    REFACTORING? Support for renaming is hardly refactoring...  

Post a Comment

Where to find me:

Ted on Twitter - @AdobeTed
Ted on Adobe Groups
Ted on LinkedIn
Ted on Facebook
Ted at Adobe


Latest

Lists

Links

Jobs

Flex Jobs
city, state, zip

Archives