arcgis server 9.3 flex api jeremy bixby city of lenexa, ks december 2 nd, 2008
TRANSCRIPT
ArcGIS Server 9.3 Flex ArcGIS Server 9.3 Flex APIAPI
Jeremy BixbyJeremy Bixby
City of Lenexa, KSCity of Lenexa, KS
December 2December 2ndnd, 2008, 2008
What is Flex?What is Flex?
Powerful toolkit offering prepackaged Powerful toolkit offering prepackaged code modules.code modules.
Based on ActionScript.Based on ActionScript. Open-Source, owned by AdobeOpen-Source, owned by Adobe Adobe sells FlexBuilder, an Adobe sells FlexBuilder, an
integrated development environment integrated development environment (IDE).(IDE).
What is Actionscript?What is Actionscript?
Common Descendent of ECMAScript Common Descendent of ECMAScript (originally JavaScript), the web (originally JavaScript), the web scripting standard.scripting standard.
Syntax is C-like, but easier to work Syntax is C-like, but easier to work with then a full programming with then a full programming languagelanguage
Flex and ActionScriptFlex and ActionScript
The programmer develops highly-The programmer develops highly-interactive web sites by using the interactive web sites by using the Flex framework, and the ActionScript Flex framework, and the ActionScript language. language.
ActionScript compiles into the .swf ActionScript compiles into the .swf format, or Shockwave Flash Format. format, or Shockwave Flash Format.
What is the SWF format?What is the SWF format?
Format that the Flash player “plays” when Format that the Flash player “plays” when an internet user browses to a site which an internet user browses to a site which invokes an SWF file. invokes an SWF file.
Flash player is currently installed on Flash player is currently installed on approx. 98.9% of all internet-enabled approx. 98.9% of all internet-enabled computers. computers.
Adobe offers javascript functions to allow Adobe offers javascript functions to allow the user to easily download the Flash the user to easily download the Flash Player if developer-specified version is not Player if developer-specified version is not currently installed. currently installed.
Flex examplesFlex examples
http://www.canvaspress.com/index.hthttp://www.canvaspress.com/index.htmlml
http://www.toyota.comhttp://www.toyota.com
Non-Flex examplesNon-Flex examples
http://southport.jpl.nasa.gov/http://southport.jpl.nasa.gov/
Why Flex? Why not JavaScript or Why Flex? Why not JavaScript or Web ADF?Web ADF?
WebADF is much more powerful then WebADF is much more powerful then the JavaScript or Flex APIs, but not the JavaScript or Flex APIs, but not needed for our uses.needed for our uses.
No good IDEs available for JavaScript.No good IDEs available for JavaScript. JavaScript API heavily uses Dojo.JavaScript API heavily uses Dojo.
• Doesn’t always workDoesn’t always work• Frequently changesFrequently changes• Poorly documentedPoorly documented
Here’s why Flex!!!Here’s why Flex!!!
Fun to program withFun to program with Easier to implement design patternsEasier to implement design patterns Flex, by virtue of being privately Flex, by virtue of being privately
developed is:developed is:• Supported and maintainedSupported and maintained• DocumentedDocumented• Always worksAlways works• Highly-ScalableHighly-Scalable• Generous and Helpful User CommunityGenerous and Helpful User Community
Here’s why Flex (more)Here’s why Flex (more)
Flex toolkit is very powerful and Flex toolkit is very powerful and allows development of very allows development of very interactive, powerful web interactive, powerful web applications.applications.
Mxml + ActionScript = whole lotta Mxml + ActionScript = whole lotta fun!fun!
FlexBuilder DemoFlexBuilder Demo
IDE Tools for RIAIDE Tools for RIA• DebugDebug• Profile: This is cool.Profile: This is cool.• Tools to make your life easier, like Tools to make your life easier, like
AutoComplete, error-checking, etc.AutoComplete, error-checking, etc.
• Compare and Contrast: JavaScript vs. Compare and Contrast: JavaScript vs. ActionScript/FlexActionScript/Flex
Tour of Flex and ArcGIS Flex APIsTour of Flex and ArcGIS Flex APIs
A Quick look at both APIs…A Quick look at both APIs…
How have I adapted?How have I adapted?
Started with MVC, and very strong Started with MVC, and very strong tendencies towards abstraction, but tendencies towards abstraction, but switched to more of a component-switched to more of a component-driven architecture.driven architecture.
Result is kind of a hybrid approach to Result is kind of a hybrid approach to RIA development. RIA development.
Thanks!Thanks!
Any questions?Any questions?