SlideShare a Scribd company logo
1 of 44
Discover the Unknown Flex 4.5
       Piotr Walczyszyn | Adobe Enterprise Evangelist

       Blog: riaspace.com
       Twitter: @pwalczyszyn




©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
ls -al




                                                                            AS3 secrets
                                                                            Flex secrets
                                                                            Flash Builder secrets




                                                                                      2
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
**      ******** ****
                                                                             ****    **////// */// *
                                                                            **//** /**        /      /*
                                                                          ** //** /*********      ***
                                                                         **********////////** /// *
                                                                        /**//////**        /** *     /*
                                                                        /**      /** ******** / ****
                                                                        //       // ////////    ////



                                                                                       3
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Short conditional statements




                                                                            var someVar:Number;


                                                                            if (someVar)
                                                                                 doSomething();




                                                                                       4
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Short constructors




                                                                            var point:Point = new Point;




                                                                                          5
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Throwing objects



                                                                            try
                                                                            {
                                                                               throw 1;
                                                                            } 
                                                                            catch (n:Number)
                                                                            {
                                                                              trace(n); // outputs 1
                                                                            }




                                                                                        6
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: arguments class




                                                                            dispatcher.addEventListener(
                                                                              SomeEvent.TYPE,
                                                                              function(event:SomeEvent):void
                                                                              {
                                                                                EventDispatcher(event.target).
                                                                                  removeEventListener(
                                                                                    event.type,
                                                                                     arguments.callee
                                                                                  );
                                                                              });




                                                                                              7
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: ||= logical or assignment (by Sönke Rohde)



                                                                            var num:Number;
                                                                            num ||= 10;
                                                                            trace(num); // outputs 10


                                                                            num = 5;
                                                                            trace(num); // outputs 5


                                                                            num ||= 10;
                                                                            trace(num); // outputs 5




                                                                                             8
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Getting object class type




                                                                     var clazz:Class = Object(obj).constructor;




                                                                                        9
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Labels & continue (by Christian Cantrell)

                                      outerLoop: for (var i:uint = 0; i < outerArray.length; ++i)
                                      {
                                        var foo:String = outerArray[i];
                                        innerLoop: for (var j:uint = 0; j < innerArray.length; ++j)
                                        {
                                            var bar:String = innerArray[j];
                                            if (foo == bar)
                                            {
                                                continue outerLoop;
                                            }
                                        }
                                        trace(foo);
                                      }




                                                                            10
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Label & break (by Christian Cantrell)



                                                 dateCheck:
                                                {
                                                  trace("Good morning.");
                                                  var today:Date = new Date();
                                                  if (today.month == 11 && today.date == 24)   // Christmas!
                                                  {
                                                      break dateCheck;
                                                  }
                                                  trace("Time for work!");
                                                }




                                                                            11
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: with statement

                                                                            function polar(r:Number):void
                                                                            {
                                                                            
 
   var a:Number, x:Number, y:Number;
                                                                            
 
   with (Math)
                                                                            
 
   {
                                                                            
 
   
     a = PI * pow(r, 2);
                                                                            
 
   
     x = r * cos(PI);
                                                                            
 
   
     y = r * sin(PI / 2);
                                                                            
 
   }
                                                                            
 
   trace("area = " + a);
                                                                            
 
   trace("x = " + x);
                                                                            
 
   trace("y = " + y);
                                                                            }
                                                                            
 
   
     
                                                                            polar(3);



                                                                                                     12
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: global functions




                                                     // globalFunction.as file
                                                     package
                                                     {
                                                     
 public function globalFunction(text:String):void
                                                     
{
                                                     
 
 trace(text);
                                                     
}
                                                     }




                                                                             13
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: internal functions



                                    protected function someFunction():void
                                    {
                                    

             var internalFunction:Function = function(text:String):void
                                    

             {
                                    

             
          trace(text);
                                    

             };
                                    

             
          
                                    

             internalFunction("Hello World!");
                                    }




                                                                             14
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: custom namespaces (by Mihai Corlan)


                                           // online.as file
                                           package org.corlan
                                           {
                                                 public namespace online = "http://corlan.org/apps/online";
                                           }


                                           // offline.as file
                                           package org.corlan
                                           {
                                                 public namespace offline = "http://corlan.org/apps/offline";
                                           }




                                                                             15
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: custom namespaces (by Mihai Corlan)
                                                                        online function save(object:Object):void
                                                                        {
                                                                            //save the object back to server
                                                                            trace("online");
                                                                        }


                                                                        offline function save(object:Object):void
                                                                        {
                                                                            //save the object locally
                                                                            trace("offline");
                                                                        }


                                                                        ...
                                                                        online::save(obj);
                                                                        offline::save(obj);
                                                                                                16
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3: Proxy class
                                 dynamic class MyProxy extends Proxy
                                 {
                                                 flash_proxy override function callProperty(name:*, ...rest):*
                                                 {
                                                              // function call proxy
                                                 }
                                                 flash_proxy override function getProperty(name:*):*
                                                 {
                                                              // getter call proxy
                                                 }
                                                 flash_proxy override function setProperty(name:*, value:*):void
                                                 {
                                                              // setter call proxy
                                                 }
                                 }
                                                                                       17
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
********
                                                                            /**/////
                                                                            /**        **   **
                                                                            /******* //** **
                                                                            /**////    //***
                                                                            /**         **/**
                                                                            /**        ** //**
                                                                            //        //   //




                                                                                    18
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: ObjectProxy class




                   warning: unable to bind to property 'propName' on class 'Object' (class is not an IEventDispatcher)




                                                                            19
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: ObjectProxy class
                   warning: unable to bind to property 'propName' on class 'Object' (class is not an IEventDispatcher)




                                                                            19
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: ObjectProxy class
                   warning: unable to bind to property 'propName' on class 'Object' (class is not an IEventDispatcher)




                                                                            var obj:Object = {propName : “prop value”};
                                                                            var objProxy:ObjectProxy = new ObjectProxy(obj);


                                                                            ...


                                                                            <s:Label text=”{objProxy.propName}” />




                                                                                                  19
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: <fx:Library> & <fx:Definition>
                                                                   <?xml version="1.0" encoding="utf-8"?>
                                                                   <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                                            xmlns:mx="library://ns.adobe.com/flex/mx"
                                                                            xmlns:s="library://ns.adobe.com/flex/spark">
                                                                             <fx:Library>
                                                                                  <fx:Definition name="MySquare">
                                                                                       <s:Group>
                                                                                             <s:Rect width="100%" height="100%">
                                                                                                    <s:stroke>
                                                                                                         <s:SolidColorStroke color="red"/>
                                                                                                    </s:stroke>
                                                                                             </s:Rect>
                                                                                       </s:Group>
                                                                                  </fx:Definition>
                                                                             </fx:Library>


                                                                             <fx:MySquare x="0" y="0" height="20" width="20"/>
                                                                   </s:Application>

                                                                                                    20
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: <fx:Private>

                                                                <?xml version="1.0" encoding="utf-8"?>
                                                                <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                                             xmlns:mx="library://ns.adobe.com/flex/mx"
                                                                             xmlns:s="library://ns.adobe.com/flex/spark">

                                                                
 <fx:Declarations>
                                                                
 </fx:Declarations>

                                                                      <!-- has to be last tag in MXML doc -->
                                                                      <fx:Private>
                                                                            <!-- content must be in XML format -->
                                                                            <Date>10/22/2008</Date>
                                                                            <Author>Nick Danger</Author>
                                                                      </fx:Private>

                                                                </s:Application>


                                                                                                21
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: <fx:Reparent>
                                                      
 <s:states>
                                                      
 
            <s:State name="portrait" />
                                                      
 
            <s:State name="landscape" />
                                                      
 </s:states>
                                                      
 <s:VGroup includeIn="portrait" width="100%" height="100%">
                                                      
 
            <s:Rect id="redRect" includeIn="portrait" width="100%" height="100%">
                                                      
 
            
      <s:fill>
                                                      
 
            
      
   <s:SolidColor color="#FF0000" />
                                                      
 
            
      </s:fill>
                                                      
 
            </s:Rect>
                                                      
 
            <s:Rect id="blackRect" includeIn="portrait" width="100%" height="100%">
                                                      
 
            
      <s:fill>
                                                      
 
            
      
   <s:SolidColor color="#000000" />
                                                      
 
            
      </s:fill>
                                                      
 
            </s:Rect>
                                                      
 </s:VGroup>
                                                      
 <s:HGroup includeIn="landscape" width="100%" height="100%">
                                                      
 
            <fx:Reparent target="redRect" includeIn="landscape" />
                                                      
 
            <fx:Reparent target="blackRect" includeIn="landscape" />
                                                      
 </s:HGroup>
                                                                                                     22
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: states (by Steve Hartley)
                                                                     <s:states>
                                                                     
 <s:State name="portrait" />
                                                                     
 <s:State name="landscape" />
                                                                     </s:states>

                                                                     <s:Group width="100%" height="100%">
                                                                     
 
    <s:layout.portrait>
                                                                     
 
    
   <s:VerticalLayout />
                                                                     
 
    </s:layout.portrait>
                                                                     
 
                                                                     
 
    <s:layout.landscape>
                                                                     
 
    
   <s:HorizontalLayout />
                                                                     
 
    </s:layout.landscape>
                                                                     
 
                                                                     
 
    <fx:RedRectangle width="100%" height="100%" />
                                                                     
 
    <fx:BlackRectangle width="100%" height="100%" />
                                                                     
 </s:Group>

                                                                                                   23
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: state groups (by Narciso (nj) Jaramillo)

                      <s:states>
                      
 <s:State name="portraitPhone" stateGroups="portrait,phone" />
                      
 <s:State name="landscapePhone" stateGroups="landscape,phone" />
                      
 <s:State name="portraitTablet" stateGroups="portrait,tablet" />
                      
 <s:State name="landscapeTablet" stateGroups="landscape,tablet" />
                      </s:states>


                      <s:ViewNavigator id="mainNavigator"
                                    left="0" left.landscapeTablet="{LIST_WIDTH}"
                                    top="0" top.portraitTablet="{ACTIONBAR_HEIGHT + LIST_HEIGHT}"
                                    right="0" bottom="0" firstView="views.SummaryView"
                      
           firstView.tablet="views.DetailView”
                                                                     />          



                                                                            24
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: IMXMLObject
                                       package
                                       {
                                       
 import mx.core.IMXMLObject;
                                       
                                       
 public class MyMXMLObject implements IMXMLObject
                                       
 {
                                       
 
             public function initialized(document:Object, id:String):void
                                       
 
             {
                                       
 
             
         trace("Added to:", document, "with id:", id);
                                       
 
             }
                                       
 }
                                       }
                                       ...
                                       <fx:Declarations>
                                       
 <local:MyMXMLObject id="myMXMLObject" />
                                       </fx:Declarations>


                                                                                            25
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: FlexGlobals.topApplication




                                                        <?xml version="1.0" encoding="utf-8"?>
                                                        <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                        
 
             
   
    xmlns:s="library://ns.adobe.com/flex/spark">
                                                        
                                                        
 <fx:Declarations>
                                                        
 
             <fx:String id="myString">Hello World?!</fx:String>
                                                        
 </fx:Declarations>
                                                        
                                                        </s:Application>




                                                                                               26
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: FlexGlobals.topApplication
                                     <?xml version="1.0" encoding="utf-8"?>
                                     <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                                     
 
             xmlns:s="library://ns.adobe.com/flex/spark" title="FlexGlobals" xmlns:local="*"
                                     
 
             creationComplete="view_creationCompleteHandler(event)">
                                     
                                     
 <fx:Script>
                                     
 
             <![CDATA[
                                     
 
             
         import mx.core.FlexGlobals;
                                     
 
             
         import mx.events.FlexEvent;
                                     
 
             
                                     
 
             
         protected function view_creationCompleteHandler(event:FlexEvent):void
                                     
 
             
         {
                                     
 
             
         
            lbl.text = FlexGlobals.topLevelApplication.myString;
                                     
 
             
         }
                                     
 
             ]]>
                                     
 </fx:Script>
                                     
 <s:Label id="lbl" verticalCenter="0" horizontalCenter="0" />
                                     </s:View>

                                                                                                      27
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: conditional compilation

                          CONFIG::android
                          protected function view_creationCompleteHandler(event:FlexEvent):void
                          {
                          

              lbl.text = "Android: " + FlexGlobals.topLevelApplication.myString;
                          }
                          

              
                          CONFIG::ios
                          protected function view_creationCompleteHandler(event:FlexEvent):void
                          {
                          

              lbl.text = "iOS: " + FlexGlobals.topLevelApplication.myString;
                          }




                                                                            28
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Fx: conditional compilation




                                                                            29
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: keeping generated ActionScript




                                                                            30
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
******** ******
                                                                            /**///// /*////**
                                                                            /**      /*   /**
                                                                            /******* /******
                                                                            /**//// /*//// **
                                                                            /**      /*    /**
                                                                            /**      /*******
                                                                            //       ///////




                                                                                    31
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Press Ctrl+Space to invoke Content Assist.




                                                                            32
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Metadata code completion




                                                                            33
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Code completion when using states




                                                                            34
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Camel-case code hinting




                                                                            35
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Quick Assist - Press Cmd/Ctrl+1




                                                                            * Rename in file
                                                                            * Rename in workspace
                                                                            * Generate getter/setter
                                                                            * Convert local variable to field
                                                                            * Assign to variable
                                                                            * Split variable declaration
                                                                            * Organize imports



                                                                                              36
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Quick Outline - Press Cmd/Ctrl+O




                                                                            37
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Code templates




                                                                            38
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Organize imports




                                                     Place your cursor on an import statement, press
                                                     Cmd/Ctrl+1, and select Organize Imports.

                                                     To sort the import statements alphabetically by
                                                     package name, press Cmd/Ctrl+Shift+O.




                                                                             39
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: Call Hierarchy (Cmd/Ctrl+Alt+H)




                                                                            40
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
FB: other shortcuts


                                                      Cmd/Ctrl+I - Fixing indentation
                                                      Cmd/Ctrl+Shift+C - Code commenting
                                                      Cmd/Ctrl+Shift+D - Adding CDATA blocks (<![CDATA[ ]]>)
                                                      Cmd/Ctrl+Shift+F - Format MXML documents


                                                                 - Block selection and edit mode



                                                      Cmd/Ctrl+Shift+L - Complete list of shortcuts




                                                                                     41
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

Viewers also liked

Ruby Plugins for Jenkins
Ruby Plugins for JenkinsRuby Plugins for Jenkins
Ruby Plugins for Jenkinscowboyd
 
『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜満徳 関
 
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜満徳 関
 
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーションユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーションMasanori Kado
 
ユーザーストーリー作り(DevLOVE道場第二回)
ユーザーストーリー作り(DevLOVE道場第二回)ユーザーストーリー作り(DevLOVE道場第二回)
ユーザーストーリー作り(DevLOVE道場第二回)Kiichi Kajiura
 
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜満徳 関
 
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますJenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますMasanori Satoh
 
Jenkins the definitive guide lt(第四回jenkins勉強会)
Jenkins the definitive guide lt(第四回jenkins勉強会)Jenkins the definitive guide lt(第四回jenkins勉強会)
Jenkins the definitive guide lt(第四回jenkins勉強会)Ryuji Tamagawa
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011Kohsuke Kawaguchi
 
輪るビングドラム.NET
輪るビングドラム.NET輪るビングドラム.NET
輪るビングドラム.NETbleis tift
 
アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」
アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」
アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」Takahiro Nohdomi
 
アジャイルサムライ読書会湯島道場開催概要
アジャイルサムライ読書会湯島道場開催概要アジャイルサムライ読書会湯島道場開催概要
アジャイルサムライ読書会湯島道場開催概要Kiichi Kajiura
 
Introduction to facilitation
Introduction to facilitationIntroduction to facilitation
Introduction to facilitationEiichi Hayashi
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
アジャイルサムライ読書会湯島道場第一回Lt
アジャイルサムライ読書会湯島道場第一回Ltアジャイルサムライ読書会湯島道場第一回Lt
アジャイルサムライ読書会湯島道場第一回LtKiichi Kajiura
 

Viewers also liked (20)

Ruby Plugins for Jenkins
Ruby Plugins for JenkinsRuby Plugins for Jenkins
Ruby Plugins for Jenkins
 
『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~再演~』第4回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
『アジャイルとスクラム』第1回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーションユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーション
 
ユーザーストーリー作り(DevLOVE道場第二回)
ユーザーストーリー作り(DevLOVE道場第二回)ユーザーストーリー作り(DevLOVE道場第二回)
ユーザーストーリー作り(DevLOVE道場第二回)
 
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
『ユーザーストーリーマッピング ~前編~』第2回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますJenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
 
20110118 scrum 10 mins
20110118 scrum 10 mins20110118 scrum 10 mins
20110118 scrum 10 mins
 
Jenkins the definitive guide lt(第四回jenkins勉強会)
Jenkins the definitive guide lt(第四回jenkins勉強会)Jenkins the definitive guide lt(第四回jenkins勉強会)
Jenkins the definitive guide lt(第四回jenkins勉強会)
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
SCM Boot Camp
SCM Boot CampSCM Boot Camp
SCM Boot Camp
 
Jenkinsstudy#4kokawa
Jenkinsstudy#4kokawaJenkinsstudy#4kokawa
Jenkinsstudy#4kokawa
 
輪るビングドラム.NET
輪るビングドラム.NET輪るビングドラム.NET
輪るビングドラム.NET
 
アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」
アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」
アジャイルサムライ読書会(湯島道場) 第一回 地の巻「アジャイルをはじめる前に」
 
アジャイルサムライ読書会湯島道場開催概要
アジャイルサムライ読書会湯島道場開催概要アジャイルサムライ読書会湯島道場開催概要
アジャイルサムライ読書会湯島道場開催概要
 
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話 Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
 
Introduction to facilitation
Introduction to facilitationIntroduction to facilitation
Introduction to facilitation
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
アジャイルサムライ読書会湯島道場第一回Lt
アジャイルサムライ読書会湯島道場第一回Ltアジャイルサムライ読書会湯島道場第一回Lt
アジャイルサムライ読書会湯島道場第一回Lt
 
TDD Boot Camp
TDD Boot CampTDD Boot Camp
TDD Boot Camp
 

Similar to Discover The Unknown Flex 4.5 (MAX 2011)

iOS overview
iOS overviewiOS overview
iOS overviewgupta25
 
Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainTowards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainAttila Szegedi
 
Symbian OS - Memory Management
Symbian OS - Memory ManagementSymbian OS - Memory Management
Symbian OS - Memory ManagementAndreas Jakl
 
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbersDefcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbersAlexandre Moneger
 
Swift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for DevelopersSwift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for DevelopersAzilen Technologies Pvt. Ltd.
 
Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014
Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014
Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014Susan Potter
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworksMD Sayem Ahmed
 
Browser exploitation SEC-T 2019 stockholm
Browser exploitation SEC-T 2019 stockholmBrowser exploitation SEC-T 2019 stockholm
Browser exploitation SEC-T 2019 stockholmJameel Nabbo
 
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...Tung Nguyen
 
Openframworks x Mobile
Openframworks x MobileOpenframworks x Mobile
Openframworks x MobileJanet Huang
 
eZ publish 5[-alpha1] Introduction & Architecture
eZ publish 5[-alpha1] Introduction & ArchitectureeZ publish 5[-alpha1] Introduction & Architecture
eZ publish 5[-alpha1] Introduction & ArchitectureAndré Rømcke
 
Getting Started with Amazon ECS: Run Docker Containers on AWS
Getting Started with Amazon ECS: Run Docker Containers on AWSGetting Started with Amazon ECS: Run Docker Containers on AWS
Getting Started with Amazon ECS: Run Docker Containers on AWSTung Nguyen
 
Sony C#/.NET component set analysis
Sony C#/.NET component set analysisSony C#/.NET component set analysis
Sony C#/.NET component set analysisPVS-Studio
 
Composing an App with Free Monads (using Cats)
Composing an App with Free Monads (using Cats)Composing an App with Free Monads (using Cats)
Composing an App with Free Monads (using Cats)Hermann Hueck
 
Rein_in_the_ability_of_log4j
Rein_in_the_ability_of_log4jRein_in_the_ability_of_log4j
Rein_in_the_ability_of_log4jRazorsight
 
AWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSAWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSTung Nguyen
 

Similar to Discover The Unknown Flex 4.5 (MAX 2011) (20)

Extending and scripting PDT
Extending and scripting PDTExtending and scripting PDT
Extending and scripting PDT
 
iOS overview
iOS overviewiOS overview
iOS overview
 
55j7
55j755j7
55j7
 
Using the Windows 8 Runtime from C++
Using the Windows 8 Runtime from C++Using the Windows 8 Runtime from C++
Using the Windows 8 Runtime from C++
 
Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages ToolchainTowards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages Toolchain
 
Symbian OS - Memory Management
Symbian OS - Memory ManagementSymbian OS - Memory Management
Symbian OS - Memory Management
 
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbersDefcon 22 - Stitching numbers - generating rop payloads from in memory numbers
Defcon 22 - Stitching numbers - generating rop payloads from in memory numbers
 
Swift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for DevelopersSwift 2.0: Apple’s Advanced Programming Platform for Developers
Swift 2.0: Apple’s Advanced Programming Platform for Developers
 
Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014
Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014
Scalaz By Example (An IO Taster) -- PDXScala Meetup Jan 2014
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
 
Browser exploitation SEC-T 2019 stockholm
Browser exploitation SEC-T 2019 stockholmBrowser exploitation SEC-T 2019 stockholm
Browser exploitation SEC-T 2019 stockholm
 
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
Getting Started with ECS: An Easy Way to Run Docker Containers - AWS Summit A...
 
Openframworks x Mobile
Openframworks x MobileOpenframworks x Mobile
Openframworks x Mobile
 
eZ publish 5[-alpha1] Introduction & Architecture
eZ publish 5[-alpha1] Introduction & ArchitectureeZ publish 5[-alpha1] Introduction & Architecture
eZ publish 5[-alpha1] Introduction & Architecture
 
Getting Started with Amazon ECS: Run Docker Containers on AWS
Getting Started with Amazon ECS: Run Docker Containers on AWSGetting Started with Amazon ECS: Run Docker Containers on AWS
Getting Started with Amazon ECS: Run Docker Containers on AWS
 
Sony C#/.NET component set analysis
Sony C#/.NET component set analysisSony C#/.NET component set analysis
Sony C#/.NET component set analysis
 
Composing an App with Free Monads (using Cats)
Composing an App with Free Monads (using Cats)Composing an App with Free Monads (using Cats)
Composing an App with Free Monads (using Cats)
 
Type-safe DSLs
Type-safe DSLsType-safe DSLs
Type-safe DSLs
 
Rein_in_the_ability_of_log4j
Rein_in_the_ability_of_log4jRein_in_the_ability_of_log4j
Rein_in_the_ability_of_log4j
 
AWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECSAWS Summit Santa Slara 2019 Mar ECS
AWS Summit Santa Slara 2019 Mar ECS
 

More from Piotr Walczyszyn

Flex/AS3 Architecture And Dependency Injection Frameworks Overview
Flex/AS3 Architecture And Dependency Injection Frameworks OverviewFlex/AS3 Architecture And Dependency Injection Frameworks Overview
Flex/AS3 Architecture And Dependency Injection Frameworks OverviewPiotr Walczyszyn
 
Środowisko adobe air jako platforma do budowania gier
Środowisko adobe air jako platforma do budowania gierŚrodowisko adobe air jako platforma do budowania gier
Środowisko adobe air jako platforma do budowania gierPiotr Walczyszyn
 
Presentation Model pattern with Flex and Swiz framework
Presentation Model pattern with Flex and Swiz frameworkPresentation Model pattern with Flex and Swiz framework
Presentation Model pattern with Flex and Swiz frameworkPiotr Walczyszyn
 
Budowanie aplikacji kontekstowych z użyciem Adobe AIR i Flex
Budowanie aplikacji kontekstowych z użyciem Adobe AIR i FlexBudowanie aplikacji kontekstowych z użyciem Adobe AIR i Flex
Budowanie aplikacji kontekstowych z użyciem Adobe AIR i FlexPiotr Walczyszyn
 
Augmented Reality in the browser and on the desktop with Flash Platform
Augmented Reality in the browser and on the desktop with Flash PlatformAugmented Reality in the browser and on the desktop with Flash Platform
Augmented Reality in the browser and on the desktop with Flash PlatformPiotr Walczyszyn
 
Budowanie Nowoczesnych Aplikacji Internetowych (RIA)
Budowanie Nowoczesnych Aplikacji Internetowych (RIA)Budowanie Nowoczesnych Aplikacji Internetowych (RIA)
Budowanie Nowoczesnych Aplikacji Internetowych (RIA)Piotr Walczyszyn
 

More from Piotr Walczyszyn (7)

Flash - Pogromcy Mitów
Flash - Pogromcy MitówFlash - Pogromcy Mitów
Flash - Pogromcy Mitów
 
Flex/AS3 Architecture And Dependency Injection Frameworks Overview
Flex/AS3 Architecture And Dependency Injection Frameworks OverviewFlex/AS3 Architecture And Dependency Injection Frameworks Overview
Flex/AS3 Architecture And Dependency Injection Frameworks Overview
 
Środowisko adobe air jako platforma do budowania gier
Środowisko adobe air jako platforma do budowania gierŚrodowisko adobe air jako platforma do budowania gier
Środowisko adobe air jako platforma do budowania gier
 
Presentation Model pattern with Flex and Swiz framework
Presentation Model pattern with Flex and Swiz frameworkPresentation Model pattern with Flex and Swiz framework
Presentation Model pattern with Flex and Swiz framework
 
Budowanie aplikacji kontekstowych z użyciem Adobe AIR i Flex
Budowanie aplikacji kontekstowych z użyciem Adobe AIR i FlexBudowanie aplikacji kontekstowych z użyciem Adobe AIR i Flex
Budowanie aplikacji kontekstowych z użyciem Adobe AIR i Flex
 
Augmented Reality in the browser and on the desktop with Flash Platform
Augmented Reality in the browser and on the desktop with Flash PlatformAugmented Reality in the browser and on the desktop with Flash Platform
Augmented Reality in the browser and on the desktop with Flash Platform
 
Budowanie Nowoczesnych Aplikacji Internetowych (RIA)
Budowanie Nowoczesnych Aplikacji Internetowych (RIA)Budowanie Nowoczesnych Aplikacji Internetowych (RIA)
Budowanie Nowoczesnych Aplikacji Internetowych (RIA)
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Discover The Unknown Flex 4.5 (MAX 2011)

  • 1. Discover the Unknown Flex 4.5 Piotr Walczyszyn | Adobe Enterprise Evangelist Blog: riaspace.com Twitter: @pwalczyszyn ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 2. ls -al AS3 secrets Flex secrets Flash Builder secrets 2 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 3. ** ******** **** **** **////// */// * **//** /** / /* ** //** /********* *** **********////////** /// * /**//////** /** * /* /** /** ******** / **** // // //////// //// 3 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 4. AS3: Short conditional statements var someVar:Number; if (someVar)      doSomething(); 4 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 5. AS3: Short constructors var point:Point = new Point; 5 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 6. AS3: Throwing objects try { throw 1; }  catch (n:Number) { trace(n); // outputs 1 } 6 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 7. AS3: arguments class dispatcher.addEventListener( SomeEvent.TYPE, function(event:SomeEvent):void { EventDispatcher(event.target). removeEventListener( event.type, arguments.callee ); }); 7 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 8. AS3: ||= logical or assignment (by Sönke Rohde) var num:Number; num ||= 10; trace(num); // outputs 10 num = 5; trace(num); // outputs 5 num ||= 10; trace(num); // outputs 5 8 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 9. AS3: Getting object class type var clazz:Class = Object(obj).constructor; 9 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 10. AS3: Labels & continue (by Christian Cantrell) outerLoop: for (var i:uint = 0; i < outerArray.length; ++i) { var foo:String = outerArray[i]; innerLoop: for (var j:uint = 0; j < innerArray.length; ++j) { var bar:String = innerArray[j]; if (foo == bar) { continue outerLoop; } } trace(foo); } 10 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 11. AS3: Label & break (by Christian Cantrell) dateCheck: { trace("Good morning."); var today:Date = new Date(); if (today.month == 11 && today.date == 24) // Christmas! { break dateCheck; } trace("Time for work!"); } 11 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 12. AS3: with statement function polar(r:Number):void { var a:Number, x:Number, y:Number; with (Math) { a = PI * pow(r, 2); x = r * cos(PI); y = r * sin(PI / 2); } trace("area = " + a); trace("x = " + x); trace("y = " + y); } polar(3); 12 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 13. AS3: global functions // globalFunction.as file package { public function globalFunction(text:String):void { trace(text); } } 13 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 14. AS3: internal functions protected function someFunction():void { var internalFunction:Function = function(text:String):void { trace(text); }; internalFunction("Hello World!"); } 14 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 15. AS3: custom namespaces (by Mihai Corlan) // online.as file package org.corlan { public namespace online = "http://corlan.org/apps/online"; } // offline.as file package org.corlan { public namespace offline = "http://corlan.org/apps/offline"; } 15 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 16. AS3: custom namespaces (by Mihai Corlan) online function save(object:Object):void { //save the object back to server trace("online"); } offline function save(object:Object):void { //save the object locally trace("offline"); } ... online::save(obj); offline::save(obj); 16 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 17. AS3: Proxy class dynamic class MyProxy extends Proxy { flash_proxy override function callProperty(name:*, ...rest):* { // function call proxy } flash_proxy override function getProperty(name:*):* { // getter call proxy } flash_proxy override function setProperty(name:*, value:*):void { // setter call proxy } } 17 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 18. ******** /**///// /** ** ** /******* //** ** /**//// //*** /** **/** /** ** //** // // // 18 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 19. Fx: ObjectProxy class warning: unable to bind to property 'propName' on class 'Object' (class is not an IEventDispatcher) 19 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 20. Fx: ObjectProxy class warning: unable to bind to property 'propName' on class 'Object' (class is not an IEventDispatcher) 19 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 21. Fx: ObjectProxy class warning: unable to bind to property 'propName' on class 'Object' (class is not an IEventDispatcher) var obj:Object = {propName : “prop value”}; var objProxy:ObjectProxy = new ObjectProxy(obj); ... <s:Label text=”{objProxy.propName}” /> 19 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 22. Fx: <fx:Library> & <fx:Definition> <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Library> <fx:Definition name="MySquare"> <s:Group> <s:Rect width="100%" height="100%"> <s:stroke> <s:SolidColorStroke color="red"/> </s:stroke> </s:Rect> </s:Group> </fx:Definition> </fx:Library> <fx:MySquare x="0" y="0" height="20" width="20"/> </s:Application> 20 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 23. Fx: <fx:Private> <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Declarations> </fx:Declarations> <!-- has to be last tag in MXML doc --> <fx:Private> <!-- content must be in XML format --> <Date>10/22/2008</Date> <Author>Nick Danger</Author> </fx:Private> </s:Application> 21 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 24. Fx: <fx:Reparent> <s:states> <s:State name="portrait" /> <s:State name="landscape" /> </s:states> <s:VGroup includeIn="portrait" width="100%" height="100%"> <s:Rect id="redRect" includeIn="portrait" width="100%" height="100%"> <s:fill> <s:SolidColor color="#FF0000" /> </s:fill> </s:Rect> <s:Rect id="blackRect" includeIn="portrait" width="100%" height="100%"> <s:fill> <s:SolidColor color="#000000" /> </s:fill> </s:Rect> </s:VGroup> <s:HGroup includeIn="landscape" width="100%" height="100%"> <fx:Reparent target="redRect" includeIn="landscape" /> <fx:Reparent target="blackRect" includeIn="landscape" /> </s:HGroup> 22 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 25. Fx: states (by Steve Hartley) <s:states> <s:State name="portrait" /> <s:State name="landscape" /> </s:states> <s:Group width="100%" height="100%"> <s:layout.portrait> <s:VerticalLayout /> </s:layout.portrait> <s:layout.landscape> <s:HorizontalLayout /> </s:layout.landscape> <fx:RedRectangle width="100%" height="100%" /> <fx:BlackRectangle width="100%" height="100%" /> </s:Group> 23 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 26. Fx: state groups (by Narciso (nj) Jaramillo) <s:states> <s:State name="portraitPhone" stateGroups="portrait,phone" /> <s:State name="landscapePhone" stateGroups="landscape,phone" /> <s:State name="portraitTablet" stateGroups="portrait,tablet" /> <s:State name="landscapeTablet" stateGroups="landscape,tablet" /> </s:states> <s:ViewNavigator id="mainNavigator" left="0" left.landscapeTablet="{LIST_WIDTH}" top="0" top.portraitTablet="{ACTIONBAR_HEIGHT + LIST_HEIGHT}" right="0" bottom="0" firstView="views.SummaryView" firstView.tablet="views.DetailView” /> 24 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 27. Fx: IMXMLObject package { import mx.core.IMXMLObject; public class MyMXMLObject implements IMXMLObject { public function initialized(document:Object, id:String):void { trace("Added to:", document, "with id:", id); } } } ... <fx:Declarations> <local:MyMXMLObject id="myMXMLObject" /> </fx:Declarations> 25 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 28. Fx: FlexGlobals.topApplication <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"> <fx:Declarations> <fx:String id="myString">Hello World?!</fx:String> </fx:Declarations> </s:Application> 26 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 29. Fx: FlexGlobals.topApplication <?xml version="1.0" encoding="utf-8"?> <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="FlexGlobals" xmlns:local="*" creationComplete="view_creationCompleteHandler(event)"> <fx:Script> <![CDATA[ import mx.core.FlexGlobals; import mx.events.FlexEvent; protected function view_creationCompleteHandler(event:FlexEvent):void { lbl.text = FlexGlobals.topLevelApplication.myString; } ]]> </fx:Script> <s:Label id="lbl" verticalCenter="0" horizontalCenter="0" /> </s:View> 27 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 30. Fx: conditional compilation CONFIG::android protected function view_creationCompleteHandler(event:FlexEvent):void { lbl.text = "Android: " + FlexGlobals.topLevelApplication.myString; } CONFIG::ios protected function view_creationCompleteHandler(event:FlexEvent):void { lbl.text = "iOS: " + FlexGlobals.topLevelApplication.myString; } 28 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 31. Fx: conditional compilation 29 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 32. FB: keeping generated ActionScript 30 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 33. ******** ****** /**///// /*////** /** /* /** /******* /****** /**//// /*//// ** /** /* /** /** /******* // /////// 31 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 34. FB: Press Ctrl+Space to invoke Content Assist. 32 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 35. FB: Metadata code completion 33 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 36. FB: Code completion when using states 34 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 37. FB: Camel-case code hinting 35 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 38. FB: Quick Assist - Press Cmd/Ctrl+1 * Rename in file * Rename in workspace * Generate getter/setter * Convert local variable to field * Assign to variable * Split variable declaration * Organize imports 36 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 39. FB: Quick Outline - Press Cmd/Ctrl+O 37 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 40. FB: Code templates 38 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 41. FB: Organize imports Place your cursor on an import statement, press Cmd/Ctrl+1, and select Organize Imports. To sort the import statements alphabetically by package name, press Cmd/Ctrl+Shift+O. 39 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 42. FB: Call Hierarchy (Cmd/Ctrl+Alt+H) 40 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 43. FB: other shortcuts Cmd/Ctrl+I - Fixing indentation Cmd/Ctrl+Shift+C - Code commenting Cmd/Ctrl+Shift+D - Adding CDATA blocks (<![CDATA[ ]]>) Cmd/Ctrl+Shift+F - Format MXML documents - Block selection and edit mode Cmd/Ctrl+Shift+L - Complete list of shortcuts 41 ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 44. ©2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. Other types can be thrown also\n
  7. An arguments object is used to store and access a function&apos;s arguments. Within a function&apos;s body, you can access its arguments object by using the local arguments variable.\n
  8. Assigns expression1 the value of expression1 || expression2.\n\nhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/operators.html\n
  9. You can also do this: Class(getDefinitionByName(getQualifiedClassName(obj)))\n
  10. Inspired by Christian Cantrells post: http://blogs.adobe.com/cantrell/archives/2009/12/labels_in_actionscript_3.html\n
  11. \n
  12. \n
  13. \n
  14. \n
  15. Inspired by Mihai Corlan: http://corlan.org/flex-for-php-developers/#c7\n
  16. Inspired by Mihai Corlan: http://corlan.org/flex-for-php-developers/#c7\n
  17. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Proxy.html\n
  18. \n
  19. http://help.adobe.com/pl_PL/FlashPlatform/reference/actionscript/3/mx/utils/ObjectProxy.html\n\nDynamic ObjectProxy (by Andrea Bresolin) - http://www.devahead.com/blog/2009/12/dynamic-objectproxy/\n\nExtending model objects with ObjectProxy class: http://www.riaspace.com/2010/11/extending-model-objects-with-objectproxy-class/\n
  20. http://help.adobe.com/pl_PL/FlashPlatform/reference/actionscript/3/mx/utils/ObjectProxy.html\n\nDynamic ObjectProxy (by Andrea Bresolin) - http://www.devahead.com/blog/2009/12/dynamic-objectproxy/\n\nExtending model objects with ObjectProxy class: http://www.riaspace.com/2010/11/extending-model-objects-with-objectproxy-class/\n
  21. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mxml/definition.html\nhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mxml/library.html\n
  22. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mxml/private.html\n
  23. \n
  24. \n
  25. http://www.rictus.com/muchado/wp-content/uploads/2011/04/multiscreen-dev-with-flex-360flex-2011.pptx.pdf\n
  26. \n
  27. \n
  28. \n
  29. \n
  30. http://blogs.adobe.com/flexdoc/files/flexdoc/conditionalcompilation.pdf\n
  31. \n
  32. \n
  33. http://www.adobe.com/devnet/flash-builder/articles/tips-tricks.html\n\nCode proposal cycling - Press Ctrl+Space multiple times to filter the list of suggestions that Content Assist provides, and show only properties, events, effects, and so on.\n
  34. http://www.adobe.com/devnet/flash-builder/articles/tips-tricks.html\n\nCode proposal cycling - Press Ctrl+Space multiple times to filter the list of suggestions that Content Assist provides, and show only properties, events, effects, and so on.\n
  35. http://www.adobe.com/devnet/flash-builder/articles/tips-tricks.html\n\nCode proposal cycling - Press Ctrl+Space multiple times to filter the list of suggestions that Content Assist provides, and show only properties, events, effects, and so on.\n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n