SlideShare une entreprise Scribd logo
1  sur  26
Do-It-Yourself (DIY) Flex Ian Grasshoff – Waupaca County Dan McFarlane – UW Stevens Point
Goal: 	To provide a basic guide and the corresponding resources to help attendees get started using the Esri Flex Application Programming Interface (API) in conjunction with ArcGIS Server.
Overview What is Flex and How does it Work? Why use Flex? Why Do-It-Yourself (DIY)? Getting Started Learning Pathways Brief Examples Lessons Learned Resources Questions
What is Flex? Flash Builder IDE Flex SDK MXML ActionScript Flex Class Library Flex is a Software Development Kit (SDK) for building expressive web applications that deploy consistently on all major browsers Flex was created to make it easier for developers to construct applications using Flash platform Two core pieces:  MXML and ActionScript  February 2008 Adobe released Flex 3 SDK under open source Mozilla Public License Applications can be developed using Eclipse Integrated Development Environment (IDE) (free) or Adobe Flash Builder ($$) Source:  http://www.adobe.com/products/flex
What is MXML? MXML (no official meaning) XML based markup language Used for laying out user interface 	components and data sources Similar to HTML but more structured and richer set of tags (about 100) Complies to .swf file (small web format, opens with Flashplayer) or .air Flash Builder IDE Flex SDK MXML Simple Example: <mx:Canvasid="siteTitle" width="239.5" height="46" top="46" left="168“ backgroundAlpha="1.0" 	styleName="titleIconCanvas" borderSides="top,right" cornerRadius="0" includeIn="State1"> <mx:Labeltext="Radon Test Results" fontWeight="bold" fontSize="22“ left="-2" top="1“ 	fontFamily="CourierNew" width="100%" height="25“ textAlign="center" color="#1f5c5b"/> <mx:Labeltext="Waupaca County, Wisconsin" fontWeight="bold" fontSize="12“ fontStyle="italic"  left="0"  	top="23" fontFamily="Verdana" width="200" height="20“ textAlign="left" 	textDecoration="none" 	color="#000000"/> </mx:Canvas>
What is Action Script? ActionScript (Current Version:  3.0) Object-oriented programming language  	developed by Macromedia ECMAScript, which means syntax is similar to 	Javascript ActionScript makes things happen! MXML and ActionScript go together Complies to .swf file (small web format, opens with Flashplayer) Flash Builder IDE Flex SDK ActionScript Simple Example: <![CDATA[ importmx.controls.Alert; 	private functionmyFunction(txt:String):void { Alert.show(txt,”MyAlert”,Alert.OK); } ]]> <mx:VBox width=“500” top=“10” left=“10”> 	<mx:TextInput id=“myText” width=“95%”/> 	<mx:Buttonid=“myButton” click=“myFunction(myText.text)” label=“click me”/> </mx:VBox> Example Link
How Flex Works Flash Builder IDE Client Web Browser Flex SDK Flash Player MXML ActionScript Flex Class Library Data Data Web Server .air .swf Flex Remote Objects XML/HTTP, REST, SOAP Web Services J2EE/Cold Fusion/PHP/.NET AIR Runtime on Desktop Computer Existing Applications and Infrastructure
Flex & ArcGIS Server Client Web Browser Flash Player Data Web Server XML/HTTP, REST, SOAP Web Services Data ArcGIS Server Server Object Manager (SOM) and Server Object Container (SOC) SDE Geodatabase File Geodatabase
Why Use Flex? Pros Tons of Core Components (About 100) Large User Base (especially among GIS community) An easy to use integrated development environment (IDE), aka Flash Builder 4 (previous version is Flex Builder 3) Polished visual appeal, slick animation effects MXML/ActionScript 3.0 very similar to JavaScript so it’s fairly easy to learn Fast Deployment Esri has made it easy to use Flex with ArcGIS Server Lots of online resources
Why Use Flex?Cont. Cons Database access isn’t easy as it could be (but it is possible) Integration with Microsoft .NET solutions is complicated (WebOrb) Requires Adobe Flash Player to be installed on client (Adobe claims 99.5% of web clients in US/Canada have ver. 10 installed) Applications can be resource intensive Doesn’t work well on mobile devices Another new programming language to learn
Why DIY? Pros Save $$$ (no vendor contracts) No Vendor Lock-in Maintain future applications in-house Quicker adaptation of new technology Flexibility to do what you want, when you want Gain the knowledge to evaluate vendor products (if you choose to purchase services in the future) Springboard to other programming languages Cons Takes time (which costs $$) Learning curve (if you build from scratch) Just one more thing to learn/maintain
Learning Pathways Flex in a Week Videos ArcGIS Sample Flex Viewer Application Sample Flex Viewer 2.2 Sample Flex Viewer 1.3 ArcGIS Flex API Samples (access from ArcGIS Resource Center) Browse/Download Code Gallery Samples  Modify Code Gallery Samples Build your own widget and/or modify Sample Flex Viewer Create your own custom site from scratch (if deemed necessary)
Getting Started Quick and Easy Requires access to AGS services (you can use Esri Services for free) Download Esri Sample Flex Viewer Application (ArcGIS Resource Center) Modify Sample Flex Viewer base config.xml file to point to ArcGIS Server services Modify widget config.xml files
Getting Started More Involved Access to ArcGIS Server services (you can use Esri Services for free) Download Esri Sample Flex Viewer Application (ArcGIS Resource Center) source code Download latest Esri Flex API source code Download Adobe Flash Builder 4 (Free 60-day trial) Flash Builder 4 Premium: $699 ($299.00 for upgrade from previous ver.) Flash Builder 4 Standard: $249 ($99.00 for upgrade from previous ver.) Setup Flex Project (import source code, setup config.xml files) Compile and test the application
Brief Examples Example 1: ArcGIS Viewer for Flex Example 2: Custom Widgets Example 3: Custom Flex Application
Brief Examples ArcGIS Viewer for Flex Example 1: ArcGIS Viewer for Flex Ready to deploy GIS Web client for ArcGIS Server Configurable, so you can easily add tools & data without programming
Brief Examples ArcGIS Viewer for Flex Config.xml files Titles, logos, start up page, application color  Overview map, navigation tools, etc Map content (basemaps & operational layers) ,[object Object],GIS client functionality
Brief Examples ArcGIS Viewer for Flex Config.xml files ,[object Object]
 Functionality
 Data Content
No need to compile application,[object Object]
Brief Examples ArcGIS Viewer for Flex Ready-to-deploy widgets Example Link
Brief Examples Custom Widgets Custom Sample Flex Viewer Widgets Use the EsriBaseWidget Class Plug right into Sample Flex Viewer Application Just copy/paste any existing widget and modify as needed Modify the config.xml to include your new widget! Custom Widgets Example Link
Brief Examples Custom Application Custom Flex Application Goal:  create a streamlined, simplified Flex application (started this prior to the release of Sample Flex Viewer 2.2) for viewing Radon Test Data  Created with the idea to reuse the base code for future applications Started small, grew more complex with each end-user review Approx. 160 hours to build (this was mainly due to fact that I was learning as I went) Learned basic object oriented programming through the process Custom Flex Application Example Link
Lessons Learned Flex in a week video series:  great starting point Document (this can be as simple as good comments in your code) Research:  chances are someone else might have encountered a similar problem Make your code as re-usable as possible (very difficult) Look into “FlashVars” Flex coupled with PHP provides even more functionality Share your code, especially if you “borrow” heavily from others
Resources Flex Tour de Flex (http://www.adobe.com/devnet/flex/tourdeflex.html) Flex in a Week Videos (http://www.adobe.com/devnet/flex/videotraining.html) Flex Developer Center (http://www.adobe.com/devnet/flex.html) Flex Cookbook 	(http://cookbooks.adobe.com/flex) Flex Examples (http://blog.flexexamples.com) Balsamiq(http://balsamiq.com/) Stack Overflow (http://stackoverflow.com/)

Contenu connexe

Tendances

Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Quek Lilian
 
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and FlexRIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
elliando dias
 
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
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
Aleksandr Tsertkov
 
Flash Platformアップデート
Flash PlatformアップデートFlash Platformアップデート
Flash Platformアップデート
Mariko Nishimura
 

Tendances (20)

Lightning Web Component - LWC
Lightning Web Component - LWCLightning Web Component - LWC
Lightning Web Component - LWC
 
Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance Migrate To Lightning Web Components from Aura framework to increase performance
Migrate To Lightning Web Components from Aura framework to increase performance
 
Workflows and Digital Signatures
Workflows and Digital SignaturesWorkflows and Digital Signatures
Workflows and Digital Signatures
 
Introduction to Firebase on Android
Introduction to Firebase on AndroidIntroduction to Firebase on Android
Introduction to Firebase on Android
 
Tumbleweed intro
Tumbleweed introTumbleweed intro
Tumbleweed intro
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
 
What's New with Confluence Connect
What's New with Confluence ConnectWhat's New with Confluence Connect
What's New with Confluence Connect
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in Salesforce
 
What Is Alfresco
What Is AlfrescoWhat Is Alfresco
What Is Alfresco
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 servers
 
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and FlexRIAs with Java, Spring, Hibernate, BlazeDS, and Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
 
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
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Migration to ColdFusion 11 – making it seamless and easy anit
Migration to ColdFusion 11 – making it seamless and easy   anitMigration to ColdFusion 11 – making it seamless and easy   anit
Migration to ColdFusion 11 – making it seamless and easy anit
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
Flash Platformアップデート
Flash PlatformアップデートFlash Platformアップデート
Flash Platformアップデート
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
 

Similaire à DIY Flex

Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Training
guest25cec3
 
Flex In Portal Final
Flex In Portal   FinalFlex In Portal   Final
Flex In Portal Final
Sunil Patil
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
ravinxg
 
Building Buzzword (Flex Camp Boston 2007)
Building Buzzword (Flex Camp Boston 2007)Building Buzzword (Flex Camp Boston 2007)
Building Buzzword (Flex Camp Boston 2007)
dcoletta
 

Similaire à DIY Flex (20)

Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Training
 
Introduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic ResourcesIntroduction To Adobe Flex And Semantic Resources
Introduction To Adobe Flex And Semantic Resources
 
Flex In Portal Final
Flex In Portal   FinalFlex In Portal   Final
Flex In Portal Final
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Buzzword, How'd They Build That?
Buzzword, How'd They Build That?Buzzword, How'd They Build That?
Buzzword, How'd They Build That?
 
Flex 3 - Introduction
Flex 3 - IntroductionFlex 3 - Introduction
Flex 3 - Introduction
 
SharePoint Framework SPFx
SharePoint Framework SPFxSharePoint Framework SPFx
SharePoint Framework SPFx
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Ria
 
Flex RIA
Flex RIAFlex RIA
Flex RIA
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Introduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniIntroduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - Zaloni
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
 
Introduction to Adobe Flex
Introduction to Adobe FlexIntroduction to Adobe Flex
Introduction to Adobe Flex
 
Facets of applied smw
Facets of applied smwFacets of applied smw
Facets of applied smw
 
Building Buzzword (Flex Camp Boston 2007)
Building Buzzword (Flex Camp Boston 2007)Building Buzzword (Flex Camp Boston 2007)
Building Buzzword (Flex Camp Boston 2007)
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex Intro
 
Adobe Flex Resources 6439
Adobe Flex Resources 6439Adobe Flex Resources 6439
Adobe Flex Resources 6439
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

DIY Flex

  • 1. Do-It-Yourself (DIY) Flex Ian Grasshoff – Waupaca County Dan McFarlane – UW Stevens Point
  • 2. Goal: To provide a basic guide and the corresponding resources to help attendees get started using the Esri Flex Application Programming Interface (API) in conjunction with ArcGIS Server.
  • 3. Overview What is Flex and How does it Work? Why use Flex? Why Do-It-Yourself (DIY)? Getting Started Learning Pathways Brief Examples Lessons Learned Resources Questions
  • 4. What is Flex? Flash Builder IDE Flex SDK MXML ActionScript Flex Class Library Flex is a Software Development Kit (SDK) for building expressive web applications that deploy consistently on all major browsers Flex was created to make it easier for developers to construct applications using Flash platform Two core pieces: MXML and ActionScript February 2008 Adobe released Flex 3 SDK under open source Mozilla Public License Applications can be developed using Eclipse Integrated Development Environment (IDE) (free) or Adobe Flash Builder ($$) Source: http://www.adobe.com/products/flex
  • 5. What is MXML? MXML (no official meaning) XML based markup language Used for laying out user interface components and data sources Similar to HTML but more structured and richer set of tags (about 100) Complies to .swf file (small web format, opens with Flashplayer) or .air Flash Builder IDE Flex SDK MXML Simple Example: <mx:Canvasid="siteTitle" width="239.5" height="46" top="46" left="168“ backgroundAlpha="1.0" styleName="titleIconCanvas" borderSides="top,right" cornerRadius="0" includeIn="State1"> <mx:Labeltext="Radon Test Results" fontWeight="bold" fontSize="22“ left="-2" top="1“ fontFamily="CourierNew" width="100%" height="25“ textAlign="center" color="#1f5c5b"/> <mx:Labeltext="Waupaca County, Wisconsin" fontWeight="bold" fontSize="12“ fontStyle="italic" left="0" top="23" fontFamily="Verdana" width="200" height="20“ textAlign="left" textDecoration="none" color="#000000"/> </mx:Canvas>
  • 6. What is Action Script? ActionScript (Current Version: 3.0) Object-oriented programming language developed by Macromedia ECMAScript, which means syntax is similar to Javascript ActionScript makes things happen! MXML and ActionScript go together Complies to .swf file (small web format, opens with Flashplayer) Flash Builder IDE Flex SDK ActionScript Simple Example: <![CDATA[ importmx.controls.Alert; private functionmyFunction(txt:String):void { Alert.show(txt,”MyAlert”,Alert.OK); } ]]> <mx:VBox width=“500” top=“10” left=“10”> <mx:TextInput id=“myText” width=“95%”/> <mx:Buttonid=“myButton” click=“myFunction(myText.text)” label=“click me”/> </mx:VBox> Example Link
  • 7. How Flex Works Flash Builder IDE Client Web Browser Flex SDK Flash Player MXML ActionScript Flex Class Library Data Data Web Server .air .swf Flex Remote Objects XML/HTTP, REST, SOAP Web Services J2EE/Cold Fusion/PHP/.NET AIR Runtime on Desktop Computer Existing Applications and Infrastructure
  • 8. Flex & ArcGIS Server Client Web Browser Flash Player Data Web Server XML/HTTP, REST, SOAP Web Services Data ArcGIS Server Server Object Manager (SOM) and Server Object Container (SOC) SDE Geodatabase File Geodatabase
  • 9. Why Use Flex? Pros Tons of Core Components (About 100) Large User Base (especially among GIS community) An easy to use integrated development environment (IDE), aka Flash Builder 4 (previous version is Flex Builder 3) Polished visual appeal, slick animation effects MXML/ActionScript 3.0 very similar to JavaScript so it’s fairly easy to learn Fast Deployment Esri has made it easy to use Flex with ArcGIS Server Lots of online resources
  • 10. Why Use Flex?Cont. Cons Database access isn’t easy as it could be (but it is possible) Integration with Microsoft .NET solutions is complicated (WebOrb) Requires Adobe Flash Player to be installed on client (Adobe claims 99.5% of web clients in US/Canada have ver. 10 installed) Applications can be resource intensive Doesn’t work well on mobile devices Another new programming language to learn
  • 11. Why DIY? Pros Save $$$ (no vendor contracts) No Vendor Lock-in Maintain future applications in-house Quicker adaptation of new technology Flexibility to do what you want, when you want Gain the knowledge to evaluate vendor products (if you choose to purchase services in the future) Springboard to other programming languages Cons Takes time (which costs $$) Learning curve (if you build from scratch) Just one more thing to learn/maintain
  • 12. Learning Pathways Flex in a Week Videos ArcGIS Sample Flex Viewer Application Sample Flex Viewer 2.2 Sample Flex Viewer 1.3 ArcGIS Flex API Samples (access from ArcGIS Resource Center) Browse/Download Code Gallery Samples Modify Code Gallery Samples Build your own widget and/or modify Sample Flex Viewer Create your own custom site from scratch (if deemed necessary)
  • 13. Getting Started Quick and Easy Requires access to AGS services (you can use Esri Services for free) Download Esri Sample Flex Viewer Application (ArcGIS Resource Center) Modify Sample Flex Viewer base config.xml file to point to ArcGIS Server services Modify widget config.xml files
  • 14. Getting Started More Involved Access to ArcGIS Server services (you can use Esri Services for free) Download Esri Sample Flex Viewer Application (ArcGIS Resource Center) source code Download latest Esri Flex API source code Download Adobe Flash Builder 4 (Free 60-day trial) Flash Builder 4 Premium: $699 ($299.00 for upgrade from previous ver.) Flash Builder 4 Standard: $249 ($99.00 for upgrade from previous ver.) Setup Flex Project (import source code, setup config.xml files) Compile and test the application
  • 15. Brief Examples Example 1: ArcGIS Viewer for Flex Example 2: Custom Widgets Example 3: Custom Flex Application
  • 16. Brief Examples ArcGIS Viewer for Flex Example 1: ArcGIS Viewer for Flex Ready to deploy GIS Web client for ArcGIS Server Configurable, so you can easily add tools & data without programming
  • 17.
  • 18.
  • 21.
  • 22. Brief Examples ArcGIS Viewer for Flex Ready-to-deploy widgets Example Link
  • 23. Brief Examples Custom Widgets Custom Sample Flex Viewer Widgets Use the EsriBaseWidget Class Plug right into Sample Flex Viewer Application Just copy/paste any existing widget and modify as needed Modify the config.xml to include your new widget! Custom Widgets Example Link
  • 24. Brief Examples Custom Application Custom Flex Application Goal: create a streamlined, simplified Flex application (started this prior to the release of Sample Flex Viewer 2.2) for viewing Radon Test Data Created with the idea to reuse the base code for future applications Started small, grew more complex with each end-user review Approx. 160 hours to build (this was mainly due to fact that I was learning as I went) Learned basic object oriented programming through the process Custom Flex Application Example Link
  • 25. Lessons Learned Flex in a week video series: great starting point Document (this can be as simple as good comments in your code) Research: chances are someone else might have encountered a similar problem Make your code as re-usable as possible (very difficult) Look into “FlashVars” Flex coupled with PHP provides even more functionality Share your code, especially if you “borrow” heavily from others
  • 26. Resources Flex Tour de Flex (http://www.adobe.com/devnet/flex/tourdeflex.html) Flex in a Week Videos (http://www.adobe.com/devnet/flex/videotraining.html) Flex Developer Center (http://www.adobe.com/devnet/flex.html) Flex Cookbook (http://cookbooks.adobe.com/flex) Flex Examples (http://blog.flexexamples.com) Balsamiq(http://balsamiq.com/) Stack Overflow (http://stackoverflow.com/)
  • 27. Resources Cont. ArcGIS Server Flex API ArcGIS Server Blog (http://blogs.esri.com/Dev/blogs/arcgisserver/default.aspx) ArcGIS API for Flex (http://help.arcgis.com/en/webapi/flex/index.html) ArcGIS.com Gallery (http://www.arcgis.com/home/gallery.html) ArcGIS API 1.3 Code Gallery: Moved to ArcScripts(http://arcscripts.esri.com) API 1.3 code is still very useful!