SlideShare una empresa de Scribd logo
1 de 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/)

Más contenido relacionado

La actualidad más candente

Introduction to lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web ComponentMohith Shrivastava
 
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 Bohdan Dovhań
 
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...Mark Leusink
 
Introduction to Firebase on Android
Introduction to Firebase on AndroidIntroduction to Firebase on Android
Introduction to Firebase on Androidamsanjeev
 
Tumbleweed intro
Tumbleweed introTumbleweed intro
Tumbleweed introRich Helton
 
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
 
What's New with Confluence Connect
What's New with Confluence ConnectWhat's New with Confluence Connect
What's New with Confluence ConnectAtlassian
 
Lightning Web Component in Salesforce
Lightning Web Component in SalesforceLightning Web Component in Salesforce
Lightning Web Component in SalesforceJitendra Zaa
 
What Is Alfresco
What Is AlfrescoWhat Is Alfresco
What Is Alfrescofosulliv
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 serversMark Myers
 
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 Flexelliando 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 AIRfunkatron
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
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 anitColdFusionConference
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approachAleksandr Tsertkov
 
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 ColdFusionColdFusionConference
 
Flash Platformアップデート
Flash PlatformアップデートFlash Platformアップデート
Flash PlatformアップデートMariko Nishimura
 
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...European Collaboration Summit
 

La actualidad más candente (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
 
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
 
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...
 
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...
 

Destacado (8)

11D - MAPPING MEASURES OF RELIABILITY ALONGSIDE DATA FROM THE AMERICAN COMMUN...
11D - MAPPING MEASURES OF RELIABILITY ALONGSIDE DATA FROM THE AMERICAN COMMUN...11D - MAPPING MEASURES OF RELIABILITY ALONGSIDE DATA FROM THE AMERICAN COMMUN...
11D - MAPPING MEASURES OF RELIABILITY ALONGSIDE DATA FROM THE AMERICAN COMMUN...
 
2010 Federal Perspective
2010 Federal Perspective2010 Federal Perspective
2010 Federal Perspective
 
2010 Presnted to the Wisconsin Towns Association
2010 Presnted to the Wisconsin Towns Association2010 Presnted to the Wisconsin Towns Association
2010 Presnted to the Wisconsin Towns Association
 
Spring 2010 GIS in Emergency Mngt
Spring 2010 GIS in Emergency MngtSpring 2010 GIS in Emergency Mngt
Spring 2010 GIS in Emergency Mngt
 
SCO Pilot Project Efforts to Integrate County PLSS Datasets - Timothy Kennedy
SCO Pilot Project Efforts to Integrate County PLSS Datasets - Timothy KennedySCO Pilot Project Efforts to Integrate County PLSS Datasets - Timothy Kennedy
SCO Pilot Project Efforts to Integrate County PLSS Datasets - Timothy Kennedy
 
Locate In Wisconsin Application
Locate In Wisconsin ApplicationLocate In Wisconsin Application
Locate In Wisconsin Application
 
Dor
DorDor
Dor
 
Redistricting
RedistrictingRedistricting
Redistricting
 

Similar a DIY Flex

Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction senthil0809
 
Flex_Basic_Training
Flex_Basic_TrainingFlex_Basic_Training
Flex_Basic_Trainingguest25cec3
 
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 Resourceskeith_sutton100
 
Flex In Portal Final
Flex In Portal   FinalFlex In Portal   Final
Flex In Portal FinalSunil Patil
 
Buzzword, How'd They Build That?
Buzzword, How'd They Build That?Buzzword, How'd They Build That?
Buzzword, How'd They Build That?dcoletta
 
Flex 3 - Introduction
Flex 3 - IntroductionFlex 3 - Introduction
Flex 3 - Introductionrakhtar
 
SharePoint Framework SPFx
SharePoint Framework SPFxSharePoint Framework SPFx
SharePoint Framework SPFxVladimir Medina
 
Flex And Ria
Flex And RiaFlex And Ria
Flex And Riaravinxg
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integrationicaraion
 
Introduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniIntroduction to Adobe Flex - Zaloni
Introduction to Adobe Flex - ZaloniJoseph Khan
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overviewSubin Sugunan
 
Introduction to Adobe Flex
Introduction to Adobe FlexIntroduction to Adobe Flex
Introduction to Adobe FlexAngelin R
 
Facets of applied smw
Facets of applied smwFacets of applied smw
Facets of applied smwJesse Wang
 
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
 
Afik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAfik Gal @alphageeks: Flex Intro
Afik Gal @alphageeks: Flex IntroAlphageeks
 

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

Más de Wisconsin Land Information Association

Workshop using open source software for mobile data collection workshop - a...
Workshop   using open source software for mobile data collection workshop - a...Workshop   using open source software for mobile data collection workshop - a...
Workshop using open source software for mobile data collection workshop - a...Wisconsin Land Information Association
 
Mapping spatial patterns of whai finder usage to measure community outreach e...
Mapping spatial patterns of whai finder usage to measure community outreach e...Mapping spatial patterns of whai finder usage to measure community outreach e...
Mapping spatial patterns of whai finder usage to measure community outreach e...Wisconsin Land Information Association
 
Lakesheds and riverscapes extending wisconsin's hydro database with landsca...
Lakesheds and riverscapes   extending wisconsin's hydro database with landsca...Lakesheds and riverscapes   extending wisconsin's hydro database with landsca...
Lakesheds and riverscapes extending wisconsin's hydro database with landsca...Wisconsin Land Information Association
 
Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...
Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...
Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...Wisconsin Land Information Association
 
Integrating sanitary televising data with utility gis data within the city of...
Integrating sanitary televising data with utility gis data within the city of...Integrating sanitary televising data with utility gis data within the city of...
Integrating sanitary televising data with utility gis data within the city of...Wisconsin Land Information Association
 
Integrating high accuracy gps with esri's arc gis for windows mobile field so...
Integrating high accuracy gps with esri's arc gis for windows mobile field so...Integrating high accuracy gps with esri's arc gis for windows mobile field so...
Integrating high accuracy gps with esri's arc gis for windows mobile field so...Wisconsin Land Information Association
 
Implementing arc gis 10.1 for the wisconsin dnr nhi portal levi felling
Implementing arc gis 10.1 for the wisconsin dnr nhi portal   levi fellingImplementing arc gis 10.1 for the wisconsin dnr nhi portal   levi felling
Implementing arc gis 10.1 for the wisconsin dnr nhi portal levi fellingWisconsin Land Information Association
 

Más de Wisconsin Land Information Association (20)

Airphoto anomilies
Airphoto anomiliesAirphoto anomilies
Airphoto anomilies
 
A wikimap of landscape values in the bad river watershed carl sack
A wikimap of landscape values in the bad river watershed   carl sackA wikimap of landscape values in the bad river watershed   carl sack
A wikimap of landscape values in the bad river watershed carl sack
 
Workshop using open source software for mobile data collection workshop - a...
Workshop   using open source software for mobile data collection workshop - a...Workshop   using open source software for mobile data collection workshop - a...
Workshop using open source software for mobile data collection workshop - a...
 
Wigicc's role in wisconsin jon schwitchtenberg
Wigicc's role in wisconsin   jon schwitchtenbergWigicc's role in wisconsin   jon schwitchtenberg
Wigicc's role in wisconsin jon schwitchtenberg
 
Wi 590 nutrient management web application lisa morrison
Wi 590 nutrient management web application   lisa morrisonWi 590 nutrient management web application   lisa morrison
Wi 590 nutrient management web application lisa morrison
 
Surveying and land records management dean roth
Surveying and land records management   dean rothSurveying and land records management   dean roth
Surveying and land records management dean roth
 
Mapping spatial patterns of whai finder usage to measure community outreach e...
Mapping spatial patterns of whai finder usage to measure community outreach e...Mapping spatial patterns of whai finder usage to measure community outreach e...
Mapping spatial patterns of whai finder usage to measure community outreach e...
 
Local gis in the statewide voter registration system sarah whitt
Local gis in the statewide voter registration system   sarah whittLocal gis in the statewide voter registration system   sarah whitt
Local gis in the statewide voter registration system sarah whitt
 
Li dar quality control a client's perspective - tyler grosshuesch
Li dar quality control   a client's perspective - tyler grosshueschLi dar quality control   a client's perspective - tyler grosshuesch
Li dar quality control a client's perspective - tyler grosshuesch
 
Li dar meets wisconsinview jc nelson
Li dar meets wisconsinview   jc nelsonLi dar meets wisconsinview   jc nelson
Li dar meets wisconsinview jc nelson
 
Lakesheds and riverscapes extending wisconsin's hydro database with landsca...
Lakesheds and riverscapes   extending wisconsin's hydro database with landsca...Lakesheds and riverscapes   extending wisconsin's hydro database with landsca...
Lakesheds and riverscapes extending wisconsin's hydro database with landsca...
 
Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...
Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...
Lake habitat mapping with side scan sonar in nine wisconsin lakes - christine...
 
Integrative mapping strategies jeremy bixby
Integrative mapping strategies   jeremy bixbyIntegrative mapping strategies   jeremy bixby
Integrative mapping strategies jeremy bixby
 
Integrating sanitary televising data with utility gis data within the city of...
Integrating sanitary televising data with utility gis data within the city of...Integrating sanitary televising data with utility gis data within the city of...
Integrating sanitary televising data with utility gis data within the city of...
 
Integrating high accuracy gps with esri's arc gis for windows mobile field so...
Integrating high accuracy gps with esri's arc gis for windows mobile field so...Integrating high accuracy gps with esri's arc gis for windows mobile field so...
Integrating high accuracy gps with esri's arc gis for windows mobile field so...
 
Implementing arc gis 10.1 for the wisconsin dnr nhi portal levi felling
Implementing arc gis 10.1 for the wisconsin dnr nhi portal   levi fellingImplementing arc gis 10.1 for the wisconsin dnr nhi portal   levi felling
Implementing arc gis 10.1 for the wisconsin dnr nhi portal levi felling
 
Gis in parks and recreation the proragis website - trish nau
Gis in parks and recreation   the proragis website - trish nauGis in parks and recreation   the proragis website - trish nau
Gis in parks and recreation the proragis website - trish nau
 
Geo moose project update brian fischer
Geo moose project update   brian fischerGeo moose project update   brian fischer
Geo moose project update brian fischer
 
Elevation hydrology tools kent pena
Elevation hydrology tools   kent penaElevation hydrology tools   kent pena
Elevation hydrology tools kent pena
 
Developing mobile apps pick your poison - levi felling
Developing mobile apps   pick your poison - levi fellingDeveloping mobile apps   pick your poison - levi felling
Developing mobile apps pick your poison - levi felling
 

Último

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

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!