Feeds:
Posts
Comments

adobe cs4 launch

Learn Flex in one week by going through this video training course. To maximize your learning, we recommend that you view the videos and complete the exercises in the order that they are listed. If you run into problems and have questions, you can ask a question on the Flex in a Week forum.

Note: Before starting the training, please ensure that you have installed Flex Builder. You can either use the free trial version or buy Flex Builder to go through the training.

Day 1: Flex basics

Day 2: Component development

Day 3: Putting it all together 

  • Video: Validating data (7:15)
  • Exercise: Validating form data (PDF, 95k)
  • (Download Starter, ZIP, 33K; Solution, ZIP, 34K)
  • Video: Requesting and sending data with RemoteObject (20:52)
  • Exercise: Using RemoteObject to send data to the server (PDF, 496k)
  • (Download Server, ZIP 22K; Starter, ZIP, 34K; Solution, ZIP, 35K)
  • Video: Formatting data (6:09)
  • Video: Dragging data between List components (5:20)
  • Exercise: Implementing drag and drop between components (PDF, 626k)
  • (Download Starter, ZIP, 35K; Solution, ZIP, 35K)
  • Video: Filtering XML with E4X (12:04)
  • Exercise: Using XML with E4X (PDF, 53k)
  • (Download Starter, ZIP, 35K; Solution, ZIP, 36K)
  • Video: Deploying Flex and AIR applications (11:57)
  • Exercise: Deploying a Flex application (PDF, 499k)
  • (Download Starter, ZIP, 36K; Solution, ZIP, 36K)
  • Exercise: Creating and Deploying an AIR Application (PDF, 1.2M)
  • (Download Starter, ZIP, 36K; Solution, ZIP, 815K)
  • LifeCycle DE overView Video: very usefull

     https://admin.adobe.acrobat.com/_a295153/livecycledevoverview1/

    from Greg Wilson’s Ramblings

    As you probably know, Flex Data Services was recently renamed to LiveCycle Data Services ES, commonly referred to as LiveCycle DS. However, this name change has confused a lot of people because there was already a set of products named LiveCycle Enterprise Suite, commonly referred to as LiveCycle ES. After talking to many people at 360Flex and other events, I’ve concluded that the distinction and relationship between these is a bit muddy for most. more..

    What is framework?

    In computing, a software framework provides “the skeleton of an application that can be customized by an application developer” Like software libraries, software frameworks aid the software developer by containing source code that solves problems for a given domain and provides a simple API. However, while a code library acts like a servant to other programs, software frameworks reverse the master/servant relationship. This reversal, called inversion of control, expresses the essence of software frameworks. more..

    by wiki.

    BlazeDS Vs LCDS

    Very clear view about the BlazeDS vs LCDS from Sujit Reddy G blog.

    Following are the differences between LCDS and BlazeDS in terms of features. For more details on the features, please visit http://www.adobe.com/products/livecycle/dataservices/features.html

    ) – Indicates the feature is available

    Features BlazeDS LCDS
    Data management Services    
    Client-Server synchronization   )
    Conflict resolution   )
    Data paging   )
    SQL adapter  
    )
    Hibernate adapter  
    )
    Document Services    
    LiveCycle remoting   )
    RIA-to-PDF conversion   )
    Enterprise-Class Flex application services    
    Data access/remoting
    )
    )
    Proxy service
    )
    )
    Automated testing support  
    )
    Software clustering )
    )
    Web tier compiler  
    )
    Enterprise Integration    
    WSRP generation  
    )
    Ajax data services )
    )
    Flex-Ajax bridge )
    )
    Runtime configuration
    )
    )
    Open adapter architecture )
    )
    JMS adapter
    )
    )
    Server-side component framework integration )
    )
    ColdFusion integration  
    )
    Offline Application Support    
    Offline data cache  
    )
    Local message queuing  
    )
    Real – Time Data    
    Publish and Subscribe messaging
    )
    )
    Real -time data quality of service  
    )
    RTMP tunneling  
    )

    Developing Flex RIAs with Cairngorm microarchitecture – Rapid and consistent development with Cairngorm and Flex

    http://www.adobe.com/devnet/flex/articles/cairngorm_pt6.html

    <?xml version=”1.0″ encoding=”utf-8″?>
    <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” initialize=”init()” width=”1000″ height=”700″>
     <mx:Script>
     <![CDATA[
      import mx.collections.ArrayCollection;
      import mx.core.UIComponent;
      import mx.controls.Alert;
      import mx.collections.*;
      private var swfURL:String = "avm1SWF.swf";
      private var libMC:MovieClip;
      private var fxStage:UIComponent = new UIComponent();
      [Bindable]
      private var totalSlides:ArrayCollection;
      private var curSlide:int = 1;
      private var myCursor:IViewCursor; 
      
      
      private function init():void{   
       var loader:Loader = new Loader();
       loader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfComplete);
       var fLoader:ForcibleLoader = new ForcibleLoader(loader);
       fLoader.load(new URLRequest(swfURL));
       fxStage.addChild(loader);
       pptContainer.addChild(fxStage);   
      }
      private function swfComplete(event:Event):void{
       totalSlides  = new ArrayCollection();
       libMC = new MovieClip();
        libMC =  event.currentTarget.content as MovieClip;
        for(var i:int = 1;i<Math.ceil(libMC.totalFrames/2);i++){
         var o:Object = {label:i};   
         totalSlides.addItem(o);
        }
        myCursor = totalSlides.createCursor();
        var sort:Sort = new Sort();
                sort.fields = [new SortField("label")];
                totalSlides.sort=sort;
                totalSlides.refresh();
       first.enabled = false;
       back.enabled = false;
        libMC.gotoAndStop(1);
      }
      private function currentSlide(n:int):void{
       var on:int;
       if(on < n){
        if(n==1){    
        libMC.gotoAndPlay(libMC.totalFrames);
        }else{
         libMC.gotoAndStop(n*2-2);
        }
       }
       n = n*2;   
       libMC.gotoAndStop(n);
       on = n; 
      }
      
      public function navigate(event:MouseEvent):void {
        var goto:String = event.currentTarget.label;
        switch(goto) {
         case ‘first’:
           firstCollection();
           break;
         case ‘back’:
           backCollection();
           break;
         case ‘next’:
           nextCollection();
           break;
         case ‘last’:
           lastCollection();
           break;
        }
        enableDisableButtons()
        
       }
       private function enableDisableButtons():void{
        var firstInCollection:Boolean = totalSlides.getItemAt(0) ==  myCursor.current;
        first.enabled = back.enabled = !firstInCollection
        var lastInCollection:Boolean = totalSlides.getItemAt(totalSlides.length – 1) ==  myCursor.current;
        last.enabled = next.enabled = !lastInCollection;
       }
       public function nextCollection():void {
        if(! myCursor.afterLast) {
         myCursor.moveNext();
         currentSlide(myCursor.current.label);
        }
       }
       public function backCollection():void {
        if(!myCursor.beforeFirst) {
         myCursor.movePrevious();
         currentSlide(myCursor.current.label);
        }
       }
       public function firstCollection():void {
        myCursor.seek(CursorBookmark.FIRST);
        currentSlide(myCursor.current.label);
       }
       public function lastCollection():void {
        myCursor.seek(CursorBookmark.LAST);
        currentSlide(myCursor.current.label);
       }
       public function countLast(theCursor:IViewCursor):int {
                    var counter:int=0;
                    var mark:CursorBookmark=theCursor.bookmark;
                    while (theCursor.moveNext()) {
                        counter++;
                    }
                    theCursor.seek(mark);
                    return counter;
                }
                public function loadCurrentSlide(c:int):void {
                 curSlide = c;
                 currentSlide(curSlide);
                    myCursor.findAny(totalSlides.getItemAt(curSlide-1));
                    var count:int = countLast(myCursor);               
        enableDisableButtons();
                } 
     
     ]]>
    </mx:Script>
    <mx:VBox width=”100%” >
     <mx:HBox width=”100%” height=”550″>
      <mx:VBox width=”20%” height=”550″>
       <mx:Repeater id=”r” dataProvider=”{totalSlides}”>
        <mx:Button label=”{‘Slide’+r.currentItem.label}” click=”loadCurrentSlide(event.currentTarget.repeaterIndex+1)”/>
       </mx:Repeater>
      </mx:VBox>
      <mx:Box id=”pptContainer”>   
      </mx:Box>
     </mx:HBox>
     <mx:HBox width=”100%” horizontalAlign=”center”>
      <mx:HBox>
      <mx:Button label=”first” id=”first” click=”navigate(event)”/>
      <mx:Button label=”back” id=”back” click=”navigate(event)”/>
      <mx:Button label=”next” id=”next” click=”navigate(event)”/>
      <mx:Button label=”last” id=”last” click=”navigate(event)”/>
     </mx:HBox>
     </mx:HBox>
    </mx:VBox>
    </mx:Application>

    E4X

    E4X
    The ECMAScript for XML (E4X) specification defines a set of classes and functionality for working with XML data. E4X makes it easy to utilize XML structured data and reduce code complexity as well as create less coupling between code and external data.
    Key features of E4X include:

    • ECMAScript for XML specification defines a new set of classes and functionality for working with XML data.
    • You manipulate XML data with well-known operators, such as the dot (.) operator.
    • Use the @ and (.) operators not only to read data, but also to assign data.
    • Using E4X functionality is much easier and more intuitive than “walking the DOM”.

    E4X Example:
    An example application is available here

    http://learn.adobe.com/wiki/display/Flex/E4X

    « Newer Posts - Older Posts »