SlideShare ist ein Scribd-Unternehmen logo
1 von 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/)

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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...
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

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 DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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 Processorsdebabhi2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

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!