slides are here
Upcoming SlideShare
Loading in...5
×
 

slides are here

on

  • 2,484 views

 

Statistics

Views

Total Views
2,484
Views on SlideShare
2,484
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • An abstract conceptual model upon which reference architectures or concrete solutions can be derived. This model shows that the web 2.0 needed to extend the core client-server model further in both directions in order to fulfill the capabilities necessary for web 2.0 patterns. While client server stopped at the client, the web 2.0 metamodel includes the concepts of the user and the root capabilities as well as additional distinction of the connectivity reachability. USERS: In order to facilitates patterns where users take a core responsibility like folksonomies (collaborative tagging), user generated content (youtube, flickr), participation-collaboration patterns (for things like wikipedia), the user is a core part of the mechanism and infrastructure. This model reflects that. CAPABILITIES: In order to develop Rich User Experiences, more capabilities have to be present and also form a core part of the scenario. SOA takes the capabilities and serves them up as re-0purposable services. CONNECTIVITY/REACHABILITY - the web has grown up and there are now more protocols, standards and technologies that can be used for interactions between client applications and services. Some considerations arise from Web 2.0 patterns like the synchronized web which demand a more fault temperate infrastructure for delivering seamless experiences to users and mitigate the offline/online states for the user. Primary Audience: Analysts, business people, architects, CTO/CIO/CxO levels Why: Commonly used models are of interest to architects and others who try to explain concepts. Models set a basis for further understanding of concepts relevant to engagement. Deliverable: One single abstract model for engagement (next slide). Relevant Models (we can explain how these relate if needed): Web 2.0 meta-model (essentially the same model) OSI 7 layer model (a predecessor to the model. We can show lineage if needed) Reference Model for SOA (the core model for the services tier)
  • Reference architecture is: A technology component view of a generalized architecture. Abstract of all technologies (HTTP, TCP/IP java etc) and abstract of all applications or vendor products . Agnostic to patterns of usage. Primary Audience: Software or enterprise Architects Why: There is a great value in being able to communicate ideas and functionality abstract of specific technologies protocols or products. These become artifacts that can be applied by architects in multiple domains.
  • Data binding is the process of tying the data in one object to another object. The data model supports bidirectional data binding for writing data from Flex controls to the data model, or for reading data into controls from the model. You can also bind server data to a data model or directly to Flex controls. For example, you can bind the results returned from a web service to the data model, and then have that data propagate to your form controls. The data model supports automatic data validation. This means that you can use the Flex ZipCode validator to make sure that the value in a model field is a valid ZIP code. If the data is invalid, you can display a message to the user so that the user can correct the error.
  • Flash and HTML are primary application technologies in Apollo Can create an application using just those technologies.

slides are here slides are here Presentation Transcript

  • An introduction to Flex and Apollo Duane Nickull Senior Technical Evangelist Adobe Systems, Inc.
  • Abstract
    • Find out why this talk and others like it are SOLD OUT at events in 2007.
    • Flex / Apollo jobs are everywhere!
    • We are at the beginning of a (r)evolution
  • Agenda and projects
    • Module 1: Introduction to Flex and Flex Builder
      • Simple application using online compiler (Build Flex Application)
    • Module 2: Installing Flex Builder
      • Hands on Walk through
    • Module 3: First Hands on Experience
      • HelloWorld (Build hands on application)
    • Module 4: Flex in more depth
      • Flash Chart from Data binding (S51: Build hands on application)
      • Flex Slider Control data capture (S53: Build hands on application)
      • Data binding (S55: Build hands on application)
      • Using the <mx:script> tag to code Actionscript behaviors (S57: Build hands on application)
    • Module 5: Working with XML using Flex Builder
    • Module 6: Flex and AJAX
    • Module 7: Apollo
      • Hands on (Build Stand alone Browser)
  • Introduction to Flex
  • Flex??
    • Used Flex before? Apollo? (Show of hands)
    • Flex:
      • A Tag/script-based Rich Internet Application (RIA) development for Flash
      • Interprets XML (specifically MXML) into Flash (*.swf files).
      • Uses simple scripting language to react to events and create behaviors.
      • Allows Flash to be bound to data models (XML, Web Services, AMF, more…)
  • Flex is Free!
    • Do not need to buy anything.
    • MXML - text editor
    • Free Compiler - http://www.adobe.com/products/flex/sdk/
    • Free online compiler - http://try.flex.org/
    • Flex Builder makes it easier
    • So what can you build?
    • http://www.amgentourofcalifornia.com/docroot/tourtracker2/index.html
    DEMO
  • Flex - Flash?
    • Flash Director is aimed at creative professionals.
    • Flex Builder is aimed at dev-types to rapidly create RIA’s.
    • Flex has two main components:
      • 1. Flex Builder – design time tool to rapidly prototype RIA’s. Tons of pre-built components and functionality.
      • OR:
      • Flex Compiler - free compiler.
      • Flex Data Services – server to aggregate and bind to the enterprise
  • HTML vs Flex vs Flash
    • Unlike HTML, Flex was designed for application development (no more creating navbars by slicing up images!)
    • HTML / CSS files
    • Includes
    • JavaScript libraries
    • Tag-based
    • HTML output
    HTML Flex Flash
    • MXML / CSS files
    • Components
    • ActionScript classes
    • Tag-based/states
    • SWF in HTML output
    • FLA files
    • Symbols
    • ActionScript classes
    • Timeline-based
    • SWF output
  • Traditional Client Server model
  • The Web 2.0 Model - the new Client Server!
    • Abstract Engagement Model for connecting and integrating enterprises and users.
    • The model extends the Client server model further to the user (Humans too) and deeper into the back end to facilitate the web 2.0 patterns of interaction.
    Users Services Capabilities Client Applications/Runtimes Connectivity / Reachability Patterns of inter- action “ Don't treat software as an artifact, but as a process of engagement with your users” - Tim O’Reilly
  • Web 2.0 Application Development Reference Architecture Service Container Service Provider Interface Registry- Repository Service Invocation layer Security Container/Model Communication Services Virtual Machine Controller Rendering & Media Data/State Management Client Application Tier Services Tier Resource Tier Business Rules/ Workflow Standards, Technologies & Protocols Consistent Object and Event Models Consistent Architectural Models Network / Connectivity Design & Governance Tools Core Services = spans both tiers
  • Apollo, Flex and Flash Sandbox Architecture * Now also called “Smart Client”
    • So is Adobe Flex!
    • XML: use a text editor to write Flex apps.
    • CSS supported.
    • ActionScript 3.0 (ECMA)
    • Use existing Flash components (*.swf files) in Flex.
    • SOAP/AMF/HTTP: Easy data in/data out.
    • Playing with SVG? Drop it on in!
    • Plays nicely with JSP or Java beans?
    • JavaScript bridge
    Web 2.0 is Open: Based on Standards.
  • Flex Builder (Design Time Tool)
    • Eclipse based tool for generating RIA’s.
    • Compiler, debugger, and other tools developers really use.
    • Graphic design of complex flash files in minutes.
    • Lots of pre-built components to use from palette.
    • Current version is 2.01.
    • Download free trial from Adobe.
  • Flex Builder - Code view
  • Flex Builder - Design View
  • Runtime Data binding model
  • Runtime Environment – ActionScript
    • ActionScript class library
      • Layout
      • Effects, skins, etc.
      • Networking and data
      • Object Oriented
      • Strongly Typed
    • If you know Javascript, ActionScript will be easy.
  • MXML
    • Macromedia eXtensible Markup language.
      • XML language
      • Declarative programming (objects / properties are declared)
    <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; xmlns=&quot;*&quot; layout=&quot;vertical&quot;> <mx:WebService id=&quot;webService&quot; wsdl=&quot;http://localhost:8700/f2ria/services/SimpleWebService?wsdl&quot; load=&quot;webService.outMethod()&quot; showBusyCursor=&quot;true&quot;/> <mx:Label text=&quot;{webService.outMethod.result}&quot;/> <mx:Button label=&quot;Get Static Data&quot; click=&quot;webService.arrayOutMethod()&quot;/> <mx:DataGrid dataProvider=&quot;{webService.arrayOutMethod.result}&quot;/> <mx:Button label=&quot;Get Dynamic Data&quot; click=&quot;webService.getSandwichList()&quot;/> <mx:DataGrid dataProvider=&quot;{webService.getSandwichList.result}&quot;/> </mx:Application>
  •  
  • Questions?
    • Q & A before Module 2
  • Installing Flex and Flash Module 2
  • Flex CD’s are provided
    • Download available at:
      • http://www.adobe.com/products/flex/
    • Flex Builder 2 only available for Windows,Mac OSX currently.
  • Choose location (use default)
  • Flex 2’s installer detects system and configures itself.
  • Select top option then click “NEXT”.
  • The launcher continues
  • Accept the license terms
  • Choose install folder
  • Select the Flash Players for your browsers
  • Hit Install
  • Voila~
  • Test it: Start -> All Programs -> Adobe -> Flex Builder 2 Click “TRY”
  • Now begin your new project
    • Open the wizard
    • Name your project
    • Click “Finish”
    • Click the “Design” Tab
    • Drag some visual components on the page.
    • Click “Run”
    • It should launch a browser and show your project.
    • Congratulations – you have successfully installed Flex 2!!!
  • First Hands on Experience Hello World app Using the Flex explorer Where to get help (user forums)
  • Our first application – HelloWorld.mxml <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;> <mx:Panel layout=&quot;absolute&quot;> </mx:Panel> </mx:Application> DEMO
  • Adding layout <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;> <mx:Panel x=&quot;334&quot; y=&quot;227&quot; width=&quot;383&quot; height=&quot;305“ layout=&quot;absolute&quot;> </mx:Panel> </mx:Application>
  • Adding Text <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;> <mx:Panel x=&quot;334&quot; y=&quot;227&quot; width=&quot;383&quot; height=&quot;305“ layout=&quot;absolute&quot;> <mx:TextArea x=&quot;10&quot; y=&quot;0&quot; width=&quot;343&quot; height=&quot;153&quot; text=&quot;Hello World!&quot; textAlign=&quot;center&quot;/> </mx:Panel> </mx:Application>
  • Adding styles
    • fontFamily=&quot;Verdana&quot; fontSize=&quot;20&quot; fontWeight=&quot;bold&quot; color=&quot;#ff0000&quot;
    <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;> <mx:Panel x=&quot;334&quot; y=&quot;227&quot; width=&quot;383&quot; height=&quot;305“ layout=&quot;absolute&quot;> <mx:TextArea x=&quot;10&quot; y=&quot;0&quot; width=&quot;343&quot; height=&quot;153&quot; text=&quot;Hello World!&quot; textAlign=&quot;center“ fontFamily=&quot;Verdana&quot; fontSize=&quot;20&quot; fontWeight=&quot;bold&quot; color=&quot;#ff0000&quot; /> </mx:Panel> </mx:Application>
  • Adding behavior <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;> <mx:Panel id=“myPanel” x=&quot;334&quot; y=&quot;227&quot; width=&quot;383&quot; height=&quot;305“ layout=&quot;absolute&quot;> <mx:TextArea x=&quot;10&quot; y=&quot;0&quot; width=&quot;343&quot; height=&quot;153&quot; text=&quot;Hello World!&quot; textAlign=&quot;center“ fontFamily=&quot;Verdana&quot; fontSize=&quot;20&quot; fontWeight=&quot;bold&quot; color=&quot;#ff0000&quot;/> <mx:Button x=&quot;149&quot; y=&quot;182&quot; label=&quot;Goodbye&quot; click=&quot;myPanel.visible=(false)&quot;/> </mx:Panel> </mx:Application>
  • Done – clicking “Goodbye” makes it disappear.
  • Flex User Forums - Don’t stop now ;-)
    • http://www.adobe.com/cfusion/webforums/forum/index.cfm?forumid=60
    • http://forums.flexonline.com/ib/ikonboard.cgi
    • http://groups.yahoo.com/group/flexcoders/
    • http://www.dopejam.com/FlexCoders/
    • VANCOUVERITES and CANUCKS FANS!
    • @ Vancouver Flash User Group (c/o Ross L. @ http://flash.meetup.com/110/ )
    • Training will continue at this group!
  • Flex in more depth
      • Pre built GUI components
        • Layout
        • Charting
        • Navigators
        • Controls
        • Demo of what can be done
      • Data binding
      • Remote procedure calls
  • Two types of Components
    • Containers – rectangular regions of the screen that allow you to position components in a Flex application.
    • Controls – form elements such as buttons, user input devices and other interactive components.
    • Containers First:
    • There are two types of Containers.
      • Layout containers – controlling the sizing and positioning of the child elements within them.
      • Navigation containers – controls user movement or navigation among multiple child containers (example - Tabbed panes, Accordion)
  • Container Examples:
  • Container Examples:
  • Flex Components: Layout
  • Flex Components: Charting
  • Charts - Demo DEMO
  • Navigator Components
  • Controller Components - Slider property capture & display DEMO
  • Data binding
    • Use curly braces to bind ActionScript expressions to MXML attribute values.
    • Not all attributes can be bound – use the [Bindable] metadata in order to make a member variable bindable.
    • In beta 2, properties with getters and setters can also be made bindable through the same metadata.
  • Creating a Binding DEMO
  • Remote Procedure Calls (Service calls)
    • Make calls to the server using RPC calls
      • <HTTPService url=“xxx” request=“yyy” />
      • <WebService wsdl=“xxx”>
        • <operation name=“yyy” />
      • </WebService>
      • <RemoteObject destination=“xxx”>
        • <method name=“yyy” />
      • </RemoteObject>
  • Adding behavior with ActionScript DEMO
  • Working with XML Data in Flex apps Module 5
  • Working with XML Data
    • ActionScript 3.0 has a new way of working with XML data like GML
      • Previously, ways of working with XML data were not based on ECMAScript standards.
      • ActionScript 3.0 is based on the ECMAScript standard, edition 4.
    • There are new classes and functionality collectively called E4X (ECMAScript for (4) XML).
    • E4X Operators:
      • Used to access elements and attributes of an XML object
      • Can be used for both data retrieval and assignment (accesors and mutators).
  • E4X
    • A new set of classes and methods for working with XML data in ECMAScript
      • ActionScript is ECMAScript (explain relationship)
    • More http://www.ecma-international.org/publications/standards/ECMA-357.htm
    • ActionScript 3.0 includes this new standards and implements the new E4X classes
      • XML
      • XMLList
      • QName
      • Namespace
    • These classes make working with XML in ActionScript 3.0 easy:
      • Simple – no complex loop iteration
      • More consistent – both internally and with other parts of ActionScript
      • Uses familiar syntax
  • Sample XML file for demos <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <MultiLineString srsName=&quot;http://www.opengis.net/gml/srs/epsg.xml#4326&quot;> <lineStringMember> <LineString value=“1”> <coord><X>56.1</X><Y>0.45</Y></coord> <coord><X>67.23</X><Y>0.98</Y></coord> </LineString> </lineStringMember> <lineStringMember value=“2”> <LineString> <coord><X>46.71</X><Y>9.25</Y></coord> <coord><X>56.88</X><Y>10.44</Y></coord> </LineString> </lineStringMember> <lineStringMember value=“3”> <LineString> <coord><X>324.1</X><Y>219.7</Y></coord> <coord><X>0.45</X><Y>4.56</Y></coord> </LineString> </lineStringMember> </MultiLineString>
  • The Dot(.) Operator
    • Use the XML dot (.) operator to navigate to child elements of an XML object.
    • Example: MyXMLObject.child[2] will return the third child element named “child” from the XML Object
    • Remember that counting starts at [0]
    • You can concatenate these to get access to descendents of the root.
    • Example:
    <mx:Label id=&quot;XCoordinate&quot; text=&quot;{myGMLData.lineStringMember[0].LineString.coord[0].X}&quot;/>
  • Example: Dot(.) operator <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; backgroundAlpha=&quot;0&quot;> <mx:Script><![CDATA[ var myGMLData = {XMLFILE} ]]></mx:script> <mx:Label id=&quot;XCoordinate&quot; text=&quot;{ myGMLData.MultiLineString.lineStringMember[1].LineString.coord.X }&quot;/> <mx:Label id=&quot;YCoordinate&quot; text=&quot;{ myGMLData.MultiLineString.lineStringMember[1].LineString.coord.Y }&quot;/> </mx:Application> Demo - ~/Flex/GML/GML.mxml
  • Parentheses [()] Operators
    • Operates with a “Predicate Filtering” behavior.
    • Use the (and) operators to evaluate an expression in an E4X construct.
    • Use parenthesis to insert conditional search logic with the dot operator
      • Can also use regex
    • Example:
    • Returns: a fragment of XML with the path specified and an element “X” has an exact value of “324.1”.
    • If more than one will return a list
    • Is case sensitive
    <mx:Label id=&quot;XCoordinate&quot; text=&quot;{myGMLData.lineStringMember.LineString.coord.(X == 324.1)}&quot;/>
  • Attribute Operator
    • Can be used in conjunction with the dot operator and parenthesis for complex searches, navigating the document tree.
    • Example:
    • Returns:
    <mx:Label id=&quot;Attribute&quot; text=&quot;{myGMLData.lineStringMember.(@value = 2)}&quot;/>
  • Descendent Accessor (..) Operator
    • Returns the descendent regardless of what path is encountered to get their.
    • Without [] operator, returns all instances that match expression.
    • Example:
    • Returns all Y Elements including children (if any):
    <mx:Label id=&quot;Descendent&quot; text=&quot;{myGMLData.lineStringMember..Y}&quot; height=&quot;220&quot; width=&quot;235&quot;/>
  • Combination Searches
    • Operators can be combined to be very specific.
    • Example:
    • Returns:
    <mx:Label id=&quot;combination&quot; text=&quot;{myGMLData.lineStringMember..coord.(Y > 10.44)}&quot;/> DEMO Launch E4X Project
  • Using the iCollectionView Interface
    • The XMLListCollection interface implements the ICollectionView set of methods.
    • An ICollectionView is simply a view of a dataProvider
      • Ability to sort data
      • Ability to filter data
      • No affect on the dataProvider itself (read only)
  • Filter Function
    • Limits the ICollectionView to a subset
    • Function takes a single object as a parameter
      • Correcsponds to an item in an ArrayCollection
    • Method returns a Boolean
      • Can add your own conditional logic that checks the data
      • Automatically loops through each element of the ArrayCollection
      • Matches that return “1” (true) indicates to include the element in the new view
    • XMLListCollection has a property with the name of the filter function that specifies the function to call
    • The refresh() method must be called on the ArrayCollection
    • Applies the filter or soft resulting in a new view of the dataProvider.
    • Returns true if successful, false if not.
  • Data Assignment using E4X
    • It is also possible to use E4X to write to XML fragments
    • Depends upon variables such as permissions, persistent copies etc.
    • Example:
      • myGMLData.lineStringMember[0].LineString.coord[0].X=‘100’
    Set()
  • Flex and AJAX
      • Complementary coexistence
      • Bridge concepts
      • Demo of bridge
  • What is AJAX
    • Asynchronous JavaScript And XML
    • Really invented by Microsoft when they introduced the XMLHTTPRequest object.
    • Can be used to make really cool calls from a page to a resource without having to reload the page.
      • Could even do web services.
    • Very commonly used in many sites – Google personal home page, Yahoo, MSN etc.
  • AJAX and Flex are NOT competitors!
    • But they have different capabilities and benefits.
      • Flex is used for Flash presented RIA’s with video, widgets, dynamic behavior, communication and more.
      • AJAX is used commonly within HTML pages for many of the same things, usually for round trip data collection.
    • Each has advantages and cases where they are optimal over the other. Too many factors to list.
    • They can be used together!
    • FABridge – small chunk of code to bridge Flex and AJAX.
      • Makes your ActionScript classes available to JavaScript without any additional coding
    • http://flexapps.macromedia.com/labs/fabridge/samples/FABridgeSample.html
  • Apollo - moving beyond the browser.
  • Disclaimer!!!!
    • Some guys who wear (really) nice suits wanted me to say:
    • “ Project in development process - subject to change”
    • “ Accurate as of March 2007”
    • “ Apollo is a temporary name. That may change”
    • “ No small animals were hurt, fruit bruised or other objects mangled during the construction of this slide deck etc.”
    • NOTE:
    • “ The code herein was written by largely average people with no programming experience.
    • PLEASE DO TRY THIS AT HOME - THAT IS THE POINT!
      • “ Apollo is a cross-operating system runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, Ajax) to build and deploy desktop RIA’s”
      • - Apollo guru/genius Mike Chambers
    • NOT an attempt to kill the browser or the desktop.
    What is Apollo?
  • Why?
  • Example : Mike Chamber’s “Ascension” LAUNCH - Desktop/Apollo
  • How are Apollo Applications Composed?
    • Applications can be built using the following technologies
      • Flash / Flex / ActionScript
      • HTML / JavaScript / CSS / AJAX
      • Combination of these technologies
      • PDF can be leveraged with any application
    HTML SWF Renderer Scripting DOM PDF SWF HTML Renderer Overlays Scripting DOM PDF Native Application Display Apollo APIs
  • HTML Engine
    • WebKit Open Source Engine
      • Open Source Project that we can contribute to
    • Used in Safari, KHTML
    • Why WebKit?
      • Proven Technology that web developers and end users are familiar with
      • Compact Code.
      • Proven ability to run on mobile devices
  • Key features
    • No System Chrome = user make their own.
      • Balls.app - Example of no boundaries
    • Allows Developers (you) to create RIA’s
    • Deployable .air packages (double click install like apps)
      • Distribute as standalone or packaged with runtime
      • File I/O
      • Connectivity
      • System Events
    • WOOT!!!!
  • Apollo - writing to file system
    • Launch PrefsXMLDemo.mxml
    • Launch ~/Nickull/Applications/PrefsXMLDemo.app
    DEMO
  • Apollo Applications Overview
  • Screw Hello World! - a Browser in 4 lines of code! DEMO
  • Packaging Apollo Projects for Distribution
  • .air package = swfs, html, xml
    • Swf’s + Application.xml + other.resources = Application.air (deployable package)
    • On Windows *.exe, Mac OS/X *.app (present)
  • The Apollo Application.xml file
    • <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
    • <application xmlns=&quot;http://ns.adobe.com/apollo/application/1.0.M3&quot; appId=&quot;e4x&quot; version=&quot;.4&quot;>
    • <properties> <name> Duane Nickulls E4X Tutorial </name> <description> Some random words </description> <publisher> Unknown </publisher> <copyright> (c) 2007 All rights Reserved </copyright> </properties>
    • <rootContent systemChrome=&quot;standard&quot; transparent=&quot;false&quot; visible=&quot;true&quot;> </rootContent>
    • <icon></icon>
    • </application>
  • The Apollo Application.xml file
    • The parameters for identifying, installing, and launching Apollo apps.
    • <Application> rool element has there children/properties:
    • @ appID (mandatory) — UID string unique to application
      • Best practice: dot-delimited,reverse-DNS-style
      • Example: ”org.nickull.apollo.ApplicationName”
      • 17-255 characters long [0-9][a-z][A-Z][.][-]
    • @ version - &quot;MajorVersion.MinorVersion.Build&quot; denoting applications self described version.
      • Examples: &quot;1.0&quot;, &quot;.4&quot;, &quot;0.5&quot;, &quot;4.9&quot;, &quot;1.3.4a&quot;
    • ns:xmlns — The Apollo namespace (&quot;http://ns.adobe.com/apollo/application/1.0.M3&quot;).
  • The Apollo Application.xml file
    • <name> MAXCountdownTimer </name>
      • Displayed by the operating system when app is running.
      • Used in the application installation path and must conform to target O/S folder naming restrictions.
    <name> Apollo - moving beyond the browser. Apollo - moving beyond the browser.
  • The Apollo Application.xml file
    • <publisher> Unknown </publisher>
    • Type=string. Displayed in the Apollo application installer.
    • Note on Windows: Publisher string is also used the application installation path and must conform to Windows folder naming restrictions.
    • <copyright></copyright>
    • Optional copyright info.
  • The Apollo Application.xml file
    • <rootContent systemChrome=&quot;standard&quot; transparent=&quot;false&quot; visible=&quot;true”> [SWF reference is generated] </rootContent>
    • Identifies main content file (SWF or HTML) of application.
    • @ systemChrome — (Standard || none)
      • &quot;standard” - the application window is opened with native O/S window elements such as a title bar, minimize, and close buttons.
      • &quot;none” - application must provide its own window controls.
      • ApolloApplication class supplies its own window controls, which are only shown when systemChrome=&quot;none&quot;.
    • @ transparent — (true || false)
      • &quot;true&quot;, the application has support for full transparency.
      • NOTE: For the Apollo M3 release (Current Mar 2007), setting transparent=&quot;true&quot; has no effect if systemChrome=&quot;standard&quot;).
    • @ visible — (true || false)
      • &quot;false&quot;, the main window will not be displayed until application changes the visible property.
  • Wrap up Where to go to continue working with Flex and Apollo Q&A
  • Flex / Apollo links
    • http://labs.adobe.com/
    • http://www.adobe.com/products/flex/
    • http://www.flex.org/
    • http://360flex.org
    • http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html
    • Use google, blogsearch etc.
    • Adobe MAX 2007 (Register early - space is limited)
    • LAUNCH MAX COUNTDOWN TIMER
    • http://technoracle.blogspot.com
    • Me: Duane Nickull, [email_address] .com
  • Q & A
    • Thank you!
  •