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

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

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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)
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

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!