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

Ria Development With Flex And PHP
Ria Development With Flex And PHPRia Development With Flex And PHP
Ria Development With Flex And PHPJohn Coggeshall
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introductionatomlin
 
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 AIRfunkatron
 
Getting Started with Flex and PHP
Getting Started with Flex and PHPGetting Started with Flex and PHP
Getting Started with Flex and PHPRyan Stewart
 
MikeTaulty_Ux_Update
MikeTaulty_Ux_UpdateMikeTaulty_Ux_Update
MikeTaulty_Ux_Updateukdpe
 
Evolution of Applications & Web
Evolution of Applications & WebEvolution of Applications & Web
Evolution of Applications & WebHimanshu Jindal
 
Tech Stack Ideas
Tech Stack IdeasTech Stack Ideas
Tech Stack Ideasnsclark
 
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 2017Alexandre Morgaut
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Netvidyamittal
 
Introduction to Umbraco
Introduction to UmbracoIntroduction to Umbraco
Introduction to UmbracoRoel
 
Crossover
CrossoverCrossover
Crossoverszlwzl
 

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

Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction senthil0809
 
Introduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniIntroduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniJoseph Khan
 
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 2Shyamala Prayaga
 
Flex introduction
Flex introductionFlex introduction
Flex introductioniamprajyot
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXJoseph Labrecque
 
A Look at Flex and PHP
A Look at Flex and PHPA Look at Flex and PHP
A Look at Flex and PHPelliando dias
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAlphageeks
 
Full Stack Web Development | MAGES Institute
Full Stack Web Development | MAGES Institute Full Stack Web Development | MAGES Institute
Full Stack Web Development | MAGES Institute JeniferJenkins2
 
[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the Basics[DanNotes] XPages - Beyound the Basics
[DanNotes] XPages - Beyound the BasicsUlrich Krause
 
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 2dcoletta
 
Flex 3 - Introduction
Flex 3 - IntroductionFlex 3 - Introduction
Flex 3 - Introductionrakhtar
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the BasicsUlrich Krause
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Trainingguest25cec3
 

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
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
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

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 SupportChad Udell
 
ATD - Western Michigan September Meeting
ATD - Western Michigan September MeetingATD - Western Michigan September Meeting
ATD - Western Michigan September MeetingChad Udell
 
Atd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile LearningAtd 2015 - Mastering Mobile Learning
Atd 2015 - Mastering Mobile LearningChad Udell
 
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 ResultsChad Udell
 
Mlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll ResultsMlearning Unraveled - With Poll Results
Mlearning Unraveled - With Poll ResultsChad Udell
 
Tappestry Demo
Tappestry DemoTappestry Demo
Tappestry DemoChad Udell
 
Whats Next for Mobile Learning
Whats Next for Mobile LearningWhats Next for Mobile Learning
Whats Next for Mobile LearningChad Udell
 
There Is No Easy Button
There Is No Easy ButtonThere Is No Easy Button
There Is No Easy ButtonChad Udell
 
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 AnalyticsChad Udell
 
The Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnConThe Leadership Challenge - mLearnCon
The Leadership Challenge - mLearnConChad Udell
 
Design concepts for Mobile Learnng
Design concepts for Mobile LearnngDesign concepts for Mobile Learnng
Design concepts for Mobile LearnngChad Udell
 
ASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thASTD St. Louis Presentation - July 28th
ASTD St. Louis Presentation - July 28thChad 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
 
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 MobileChad Udell
 
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...Chad Udell
 
Comparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSesComparing the Four Main Mobile OSes
Comparing the Four Main Mobile OSesChad Udell
 
Creating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitCreating mLearning With Your Existing Toolkit
Creating mLearning With Your Existing ToolkitChad Udell
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitChad Udell
 
Hacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitHacking Robots for Fun and Profit
Hacking Robots for Fun and ProfitChad 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

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Recently uploaded (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

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