SlideShare a Scribd company logo
1 of 47
Intro to Adobe Flex

A brief introduction to Adobe’s RIA development tool.
What is Flex?
What is Flex?	

• Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs).
What is Flex?	

• Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs).


• A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air.
What is Flex?	

• Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs).


• A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air.


• Adobe Flex Builder™ software is an Eclipse™ based IDE for developing RIAs
What is Flex?	

• Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs).


• A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air.


• Adobe Flex Builder™ software is an Eclipse™ based IDE for developing RIAs


• A competitor or compliment to AJAX, JavaFX, Silverlight (depends who you ask and in what context)
What is Flex?	

• Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs).


• A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air.


• Adobe Flex Builder™ software is an Eclipse™ based IDE for developing RIAs


• A competitor or compliment to AJAX, JavaFX, Silverlight (depends who you ask and in what context)


• Very cool
What isn’t Flex?
What isn’t Flex?

• It’s not a timeline based animation tool
What isn’t Flex?

• It’s not a timeline based animation tool


• It’s not expensive - It’s actually available for students for free and also as an open source plug-in for Eclipse
What isn’t Flex?

• It’s not a timeline based animation tool


• It’s not expensive - It’s actually available for students for free and also as an open source plug-in for Eclipse


• It’s not a server-side language
What isn’t Flex?

• It’s not a timeline based animation tool


• It’s not expensive - It’s actually available for students for free and also as an open source plug-in for Eclipse


• It’s not a server-side language


• It’s not an answer for everything
Origins of Flex
Origins of Flex

• Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like
  ColdFusion or PHP
Origins of Flex

• Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like
  ColdFusion or PHP


• Built in Eclipse, compiled on the server
Origins of Flex

• Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like
  ColdFusion or PHP


• Built in Eclipse, compiled on the server


• It was expensive
Origins of Flex

• Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like
  ColdFusion or PHP


• Built in Eclipse, compiled on the server


• It was expensive


• Adobe saw value in the Flash Platform, bought Macromedia and has embraced the framework, version 3 has
  just launched with 4 not too far behind.
Origins of Flex

• Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like
  ColdFusion or PHP


• Built in Eclipse, compiled on the server


• It was expensive


• Adobe saw value in the Flash Platform, bought Macromedia and has embraced the framework, version 3 has
  just launched with 4 not too far behind.


• Opensourced in 2007. SDK/Compiler can be downloaded and snapped into Eclipse for free.
Origins of Flex

• Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like
  ColdFusion or PHP


• Built in Eclipse, compiled on the server


• It was expensive


• Adobe saw value in the Flash Platform, bought Macromedia and has embraced the framework, version 3 has
  just launched with 4 not too far behind.


• Opensourced in 2007. SDK/Compiler can be downloaded and snapped into Eclipse for free.


• Education version is also free
Current State of Flex
Current State of Flex

• Growing quickly:


   • Developers are embracing MXML and AS3.


   • The player has nearly a 95% penetration rate.


   • Dependable and Fast: Flex content looks like Flex content on every browser.


   • Easy to debug - Compile time errors, profiler, refactoring support
Current State of Flex

• Growing quickly:


   • Developers are embracing MXML and AS3.


   • The player has nearly a 95% penetration rate.


   • Dependable and Fast: Flex content looks like Flex content on every browser.


   • Easy to debug - Compile time errors, profiler, refactoring support


• Flex blogs, books, tutorials and conferences are exploding
Current State of Flex

• Growing quickly:


   • Developers are embracing MXML and AS3.


   • The player has nearly a 95% penetration rate.


   • Dependable and Fast: Flex content looks like Flex content on every browser.


   • Easy to debug - Compile time errors, profiler, refactoring support


• Flex blogs, books, tutorials and conferences are exploding


• Flex related job listings are also exploding
Basics of Flex
Basics of Flex	

• Runs in the Flash Player or AIR
Basics of Flex	

• Runs in the Flash Player or AIR


• Tag based markup MXML serves as the basis for Flex projects
Basics of Flex	

• Runs in the Flash Player or AIR


• Tag based markup MXML serves as the basis for Flex projects


• MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag>
Basics of Flex	

• Runs in the Flash Player or AIR


• Tag based markup MXML serves as the basis for Flex projects


• MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag>


• Component based development: Containers/Layout Components, UI Elements, Data Connectors, more
Basics of Flex	

• Runs in the Flash Player or AIR


• Tag based markup MXML serves as the basis for Flex projects


• MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag>


• Component based development: Containers/Layout Components, UI Elements, Data Connectors, more


• Actionscript 3 can be used to add behaviors or other interactivity not covered by MXML
Basics of Flex	

• Runs in the Flash Player or AIR


• Tag based markup MXML serves as the basis for Flex projects


• MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag>


• Component based development: Containers/Layout Components, UI Elements, Data Connectors, more


• Actionscript 3 can be used to add behaviors or other interactivity not covered by MXML


• Supports common OOP practices like MVC patterns, code behind, etc.
Basic of Flex Continued
Basic of Flex Continued

• MXML components can be brought onto the canvas via the GUI similar to Dreamweaver or VisualStudio


• Markup can be written by hand with code assist, too. Again, similar to Dreamweaver or VisualStudio


• MXML components have attributes that allow for modification of appearance or behavior


• Components can be extended for additional capabilities or reuse via MXML or AS or a combo of both.


• Containers control layout (Canvas, Vertical Box, Horizontal Box)


• UI components display data, control interactivity or display states or other visual feedback (Datagrids, lists, buttons, selects menus,
  radio buttons, etc.)


• Data components load or send data (Services, XML, Remoting, etc)


• Other tags include: Script, Style, etc.


• Tags can be nested similar to HTML/XML
Designing Interfaces in Flex
Designing Interfaces in Flex

• CSS can be used to style the components


• Flash, PNGs, and JPGs can be used to skin the components, too


• Illustrator, Photoshop, Fireworks, Flash all have component design sets to assist in UI skinning


• Constraint based layouts and percentage based placements make polished, uniform layouts much easier
My First Flex App: Hello World
My First Flex App: Hello World

  <?xml version="1.0" encoding="utf-8"?>
My First Flex App: Hello World

   <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
My First Flex App: Hello World

   <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	 <mx:Label x="10" y="10" text="Output" id="output"/>
My First Flex App: Hello World

   <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	 <mx:Label x="10" y="10" text="Output" id="output"/>
	 <mx:Button x="10" y="36" label="Click Me" click="{output.text = 'Hello World'}"/>
My First Flex App: Hello World

   <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	 <mx:Label x="10" y="10" text="Output" id="output"/>
	 <mx:Button x="10" y="36" label="Click Me" click="{output.text = 'Hello World'}"/>
</mx:Application>
My First Okay Flex App: Hello World from XML
My First Okay Flex App: Hello World from XML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	   <mx:Script>
	   	    <![CDATA[
	   	    	    //my favorite little random function - seed with floor and ceiling and it brings back a random integer from the range
             public function randRange(min:Number, max:Number):Number {
             var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
                 return randomNum;
             }
	   	    ]]>
	   </mx:Script>
    <mx:XML id="myXML" xmlns="">
    	
    <greetings>
    	
    	    <greeting>Hola Mundo</greeting>
    	
    	    <greeting>Hello World</greeting>
    	
    	    <greeting>Ciao Mondo</greeting>
    	
    	    <greeting>Hallo welt</greeting>
    	
    	    <greeting>            </greeting>
    	
    </greetings>
    </mx:XML>
	   <mx:Label x="10" y="10" text="Output" id="output"/>
	   <mx:Button x="10" y="36" label="Click Me" click="{output.text = myXML.greeting[randRange(0, 4)].valueOf()}"/>
</mx:Application>
My First More Okay Flex App: Hello World from External XML
My First More Okay Flex App: Hello World from External XML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	   <mx:Script>
	   	    <![CDATA[
	   	    	    //my favorite little random function - seed with floor and ceiling and it brings back a random integer from the range
             public function randRange(min:Number, max:Number):Number {
             var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
                 return randomNum;
             }
	   	    ]]>
	   </mx:Script>
    <mx:XML id="myXML" source="externalXML.xml" xmlns="" />
	   <mx:Label x="10" y="10" text="Output" id="output"/>
	   <mx:Button x="10" y="36" label="Click Me" click="{output.text = myXML.greeting[randRange(0, 4)].valueOf()}"/>
</mx:Application>
More Flex Info

• adobe.com/flex


• flex.org


• weblogs.macromedia.com/mxna


• opensource.adobe.com


• visualrinse.com


• 30onair.com
Enough yakking, let’s code

• Cross your fingers


• Stick around to heckle and get some freebies

More Related Content

What's hot

Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introduction
atomlin
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with  PHP, HTML & Javascript  in AIRBuilding Desktop RIAs with  PHP, HTML & Javascript  in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
funkatron
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
vidyamittal
 

What's hot (19)

Ria Development With Flex And PHP
Ria Development With Flex And PHPRia Development With Flex And PHP
Ria Development With Flex And PHP
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introduction
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with  PHP, HTML & Javascript  in AIRBuilding Desktop RIAs with  PHP, HTML & Javascript  in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Getting Started with Flex and PHP
Getting Started with Flex and PHPGetting Started with Flex and PHP
Getting Started with Flex and PHP
 
My view on XPages
My view on XPagesMy view on XPages
My view on XPages
 
MikeTaulty_Ux_Update
MikeTaulty_Ux_UpdateMikeTaulty_Ux_Update
MikeTaulty_Ux_Update
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & Web
 
Tech Stack Ideas
Tech Stack IdeasTech Stack Ideas
Tech Stack Ideas
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
 
introduction to Lamp Stack
introduction to Lamp Stackintroduction to Lamp Stack
introduction to Lamp Stack
 
10 Reasons to Use Wordpress
10 Reasons to Use Wordpress10 Reasons to Use Wordpress
10 Reasons to Use Wordpress
 
Php Intro
Php IntroPhp Intro
Php Intro
 
Check
CheckCheck
Check
 
Introduction to Umbraco
Introduction to UmbracoIntroduction to Umbraco
Introduction to Umbraco
 
Crossover
CrossoverCrossover
Crossover
 
171dreamweaver
171dreamweaver171dreamweaver
171dreamweaver
 

Similar to A Brief Intro to Adobe Flex

Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Shyamala Prayaga
 
A Look at Flex and PHP
A Look at Flex and PHPA Look at Flex and PHP
A Look at Flex and PHP
elliando dias
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
ravinxg
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Training
guest25cec3
 

Similar to A Brief Intro to Adobe Flex (20)

Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction
 
Introduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniIntroduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - Zaloni
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
 
Flex introduction
Flex introductionFlex introduction
Flex introduction
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
A Look at Flex and PHP
A Look at Flex and PHPA Look at Flex and PHP
A Look at Flex and PHP
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Full Stack Web Development | MAGES Institute
Full Stack Web Development | MAGES Institute Full Stack Web Development | MAGES Institute
Full Stack Web Development | MAGES Institute
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Building a Real-World Application with Adobe Flex 2
Building a Real-World Application with Adobe Flex 2Building a Real-World Application with Adobe Flex 2
Building a Real-World Application with Adobe Flex 2
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Flex 3 - Introduction
Flex 3 - IntroductionFlex 3 - Introduction
Flex 3 - Introduction
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 
Flex RIA
Flex RIAFlex RIA
Flex RIA
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Training
 

More from Chad Udell

Whats Next for Mobile Learning
Whats Next for Mobile LearningWhats Next for Mobile Learning
Whats Next for Mobile Learning
Chad Udell
 
ASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28th
Chad Udell
 
Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?
Chad Udell
 

More from Chad Udell (20)

DevLearn 2018 - Designing AR Experiences for Performance Support
DevLearn 2018 -  Designing AR Experiences for Performance SupportDevLearn 2018 -  Designing AR Experiences for Performance Support
DevLearn 2018 - Designing AR Experiences for Performance Support
 
ATD - Western Michigan September Meeting
ATD - Western Michigan September MeetingATD - Western Michigan September Meeting
ATD - Western Michigan September Meeting
 
Atd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile LearningAtd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile Learning
 
Leveraging Devices to Create Amazing Mobile Learning - TK2014 Results
Leveraging Devices to Create Amazing Mobile Learning - TK2014 ResultsLeveraging Devices to Create Amazing Mobile Learning - TK2014 Results
Leveraging Devices to Create Amazing Mobile Learning - TK2014 Results
 
Mlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll ResultsMlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll Results
 
Tappestry Demo
Tappestry DemoTappestry Demo
Tappestry Demo
 
Prototyping
PrototypingPrototyping
Prototyping
 
Whats Next for Mobile Learning
Whats Next for Mobile LearningWhats Next for Mobile Learning
Whats Next for Mobile Learning
 
There Is No Easy Button
There Is No Easy ButtonThere Is No Easy Button
There Is No Easy Button
 
Learning Tracking Out of the LMS and Embracing Learning Analytics
Learning Tracking Out of the LMS and Embracing Learning AnalyticsLearning Tracking Out of the LMS and Embracing Learning Analytics
Learning Tracking Out of the LMS and Embracing Learning Analytics
 
The Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnConThe Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnCon
 
Design concepts for Mobile Learnng
Design concepts for Mobile LearnngDesign concepts for Mobile Learnng
Design concepts for Mobile Learnng
 
ASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28th
 
Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?Is Mobile For Me? What Skills Do I Need?
Is Mobile For Me? What Skills Do I Need?
 
How to Convert Your eLearning to Mobile
How to Convert Your eLearning to MobileHow to Convert Your eLearning to Mobile
How to Convert Your eLearning to Mobile
 
Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...
Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...
Max 2010- Building Mobile Learning with Your Existing eLearning Toolkit - Ado...
 
Comparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSesComparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSes
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing Toolkit
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and Profit
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and Profit
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

A Brief Intro to Adobe Flex

  • 1.
  • 2. Intro to Adobe Flex A brief introduction to Adobe’s RIA development tool.
  • 4. What is Flex? • Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs).
  • 5. What is Flex? • Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs). • A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air.
  • 6. What is Flex? • Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs). • A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air. • Adobe Flex Builder™ software is an Eclipse™ based IDE for developing RIAs
  • 7. What is Flex? • Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs). • A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air. • Adobe Flex Builder™ software is an Eclipse™ based IDE for developing RIAs • A competitor or compliment to AJAX, JavaFX, Silverlight (depends who you ask and in what context)
  • 8. What is Flex? • Flex is a a cross-platform development framework for creating Rich Internet Applications (RIAs). • A component based tool that you can use to develop apps that run using the Flash Player or Adobe Air. • Adobe Flex Builder™ software is an Eclipse™ based IDE for developing RIAs • A competitor or compliment to AJAX, JavaFX, Silverlight (depends who you ask and in what context) • Very cool
  • 10. What isn’t Flex? • It’s not a timeline based animation tool
  • 11. What isn’t Flex? • It’s not a timeline based animation tool • It’s not expensive - It’s actually available for students for free and also as an open source plug-in for Eclipse
  • 12. What isn’t Flex? • It’s not a timeline based animation tool • It’s not expensive - It’s actually available for students for free and also as an open source plug-in for Eclipse • It’s not a server-side language
  • 13. What isn’t Flex? • It’s not a timeline based animation tool • It’s not expensive - It’s actually available for students for free and also as an open source plug-in for Eclipse • It’s not a server-side language • It’s not an answer for everything
  • 15. Origins of Flex • Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like ColdFusion or PHP
  • 16. Origins of Flex • Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like ColdFusion or PHP • Built in Eclipse, compiled on the server
  • 17. Origins of Flex • Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like ColdFusion or PHP • Built in Eclipse, compiled on the server • It was expensive
  • 18. Origins of Flex • Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like ColdFusion or PHP • Built in Eclipse, compiled on the server • It was expensive • Adobe saw value in the Flash Platform, bought Macromedia and has embraced the framework, version 3 has just launched with 4 not too far behind.
  • 19. Origins of Flex • Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like ColdFusion or PHP • Built in Eclipse, compiled on the server • It was expensive • Adobe saw value in the Flash Platform, bought Macromedia and has embraced the framework, version 3 has just launched with 4 not too far behind. • Opensourced in 2007. SDK/Compiler can be downloaded and snapped into Eclipse for free.
  • 20. Origins of Flex • Flex 1 and 1.5 were server based languages where MXML was compiled/executed at request time, like ColdFusion or PHP • Built in Eclipse, compiled on the server • It was expensive • Adobe saw value in the Flash Platform, bought Macromedia and has embraced the framework, version 3 has just launched with 4 not too far behind. • Opensourced in 2007. SDK/Compiler can be downloaded and snapped into Eclipse for free. • Education version is also free
  • 22. Current State of Flex • Growing quickly: • Developers are embracing MXML and AS3. • The player has nearly a 95% penetration rate. • Dependable and Fast: Flex content looks like Flex content on every browser. • Easy to debug - Compile time errors, profiler, refactoring support
  • 23. Current State of Flex • Growing quickly: • Developers are embracing MXML and AS3. • The player has nearly a 95% penetration rate. • Dependable and Fast: Flex content looks like Flex content on every browser. • Easy to debug - Compile time errors, profiler, refactoring support • Flex blogs, books, tutorials and conferences are exploding
  • 24. Current State of Flex • Growing quickly: • Developers are embracing MXML and AS3. • The player has nearly a 95% penetration rate. • Dependable and Fast: Flex content looks like Flex content on every browser. • Easy to debug - Compile time errors, profiler, refactoring support • Flex blogs, books, tutorials and conferences are exploding • Flex related job listings are also exploding
  • 26. Basics of Flex • Runs in the Flash Player or AIR
  • 27. Basics of Flex • Runs in the Flash Player or AIR • Tag based markup MXML serves as the basis for Flex projects
  • 28. Basics of Flex • Runs in the Flash Player or AIR • Tag based markup MXML serves as the basis for Flex projects • MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag>
  • 29. Basics of Flex • Runs in the Flash Player or AIR • Tag based markup MXML serves as the basis for Flex projects • MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag> • Component based development: Containers/Layout Components, UI Elements, Data Connectors, more
  • 30. Basics of Flex • Runs in the Flash Player or AIR • Tag based markup MXML serves as the basis for Flex projects • MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag> • Component based development: Containers/Layout Components, UI Elements, Data Connectors, more • Actionscript 3 can be used to add behaviors or other interactivity not covered by MXML
  • 31. Basics of Flex • Runs in the Flash Player or AIR • Tag based markup MXML serves as the basis for Flex projects • MXML is a custom XML namespace, looks like <mx:MyTag></mx:MyTag> • Component based development: Containers/Layout Components, UI Elements, Data Connectors, more • Actionscript 3 can be used to add behaviors or other interactivity not covered by MXML • Supports common OOP practices like MVC patterns, code behind, etc.
  • 32. Basic of Flex Continued
  • 33. Basic of Flex Continued • MXML components can be brought onto the canvas via the GUI similar to Dreamweaver or VisualStudio • Markup can be written by hand with code assist, too. Again, similar to Dreamweaver or VisualStudio • MXML components have attributes that allow for modification of appearance or behavior • Components can be extended for additional capabilities or reuse via MXML or AS or a combo of both. • Containers control layout (Canvas, Vertical Box, Horizontal Box) • UI components display data, control interactivity or display states or other visual feedback (Datagrids, lists, buttons, selects menus, radio buttons, etc.) • Data components load or send data (Services, XML, Remoting, etc) • Other tags include: Script, Style, etc. • Tags can be nested similar to HTML/XML
  • 35. Designing Interfaces in Flex • CSS can be used to style the components • Flash, PNGs, and JPGs can be used to skin the components, too • Illustrator, Photoshop, Fireworks, Flash all have component design sets to assist in UI skinning • Constraint based layouts and percentage based placements make polished, uniform layouts much easier
  • 36. My First Flex App: Hello World
  • 37. My First Flex App: Hello World <?xml version="1.0" encoding="utf-8"?>
  • 38. My First Flex App: Hello World <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  • 39. My First Flex App: Hello World <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Label x="10" y="10" text="Output" id="output"/>
  • 40. My First Flex App: Hello World <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Label x="10" y="10" text="Output" id="output"/> <mx:Button x="10" y="36" label="Click Me" click="{output.text = 'Hello World'}"/>
  • 41. My First Flex App: Hello World <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Label x="10" y="10" text="Output" id="output"/> <mx:Button x="10" y="36" label="Click Me" click="{output.text = 'Hello World'}"/> </mx:Application>
  • 42. My First Okay Flex App: Hello World from XML
  • 43. My First Okay Flex App: Hello World from XML <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ //my favorite little random function - seed with floor and ceiling and it brings back a random integer from the range public function randRange(min:Number, max:Number):Number { var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min; return randomNum; } ]]> </mx:Script> <mx:XML id="myXML" xmlns=""> <greetings> <greeting>Hola Mundo</greeting> <greeting>Hello World</greeting> <greeting>Ciao Mondo</greeting> <greeting>Hallo welt</greeting> <greeting> </greeting> </greetings> </mx:XML> <mx:Label x="10" y="10" text="Output" id="output"/> <mx:Button x="10" y="36" label="Click Me" click="{output.text = myXML.greeting[randRange(0, 4)].valueOf()}"/> </mx:Application>
  • 44. My First More Okay Flex App: Hello World from External XML
  • 45. My First More Okay Flex App: Hello World from External XML <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ //my favorite little random function - seed with floor and ceiling and it brings back a random integer from the range public function randRange(min:Number, max:Number):Number { var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min; return randomNum; } ]]> </mx:Script> <mx:XML id="myXML" source="externalXML.xml" xmlns="" /> <mx:Label x="10" y="10" text="Output" id="output"/> <mx:Button x="10" y="36" label="Click Me" click="{output.text = myXML.greeting[randRange(0, 4)].valueOf()}"/> </mx:Application>
  • 46. More Flex Info • adobe.com/flex • flex.org • weblogs.macromedia.com/mxna • opensource.adobe.com • visualrinse.com • 30onair.com
  • 47. Enough yakking, let’s code • Cross your fingers • Stick around to heckle and get some freebies

Editor's Notes