SlideShare a Scribd company logo
Getting Started with Adobe AIR Flex Camp Chicago 2009
Who Am I? Independent Consultant Technical Lead Author and technical writer
Adobe AIR Presentation Agenda: -Intro and overview Showing sample AIR apps Installing & Building apps Signing & deploying app - questions
What is Adobe AIR? Adobe Integrated Runtime (AIR) is a cross-operation system runtime, that allows developers to leverage their existing Web knowledge skills in HTML, Ajax, XML, Flash and Flex to build and deploy Rich Internet Application (RIA) on the desktop and soon on Mobile devices.
Adobe AIR architecture
Adobe AIR 1.5 & Flash 10
3D Effects The Flash Player 10 3D tool API allows you to take any pixel or container and move it around in a 3D space.
Custom Filters & Effects The Pixel Bender just-in- time (JIT) compiler can also be leveraged and used to process other data, such as sound or logic.
Text Layout Framework Text Layout Framework (TLF) is Adobe new Flash framework for dealing with text consist of set of classes in Flash Player 10 that brings print-quality to the web and allow you to create multilingual web applications using device fonts.
Enhanced Sound API Dynamic sound generation  – the sound APIs allow creating sound dynamically and generate audio applications such as music mixers. You can work with loaded MP3 audio at a lower level by extracting audio data and supplying it to the sound buffer. It allows to process, filter, and mix audio in real time using the Pixel Bender compiler.    Speex audio codec  – In addition to supporting ADPCM, HE-AAC, MP3, and Nellymoser audio.  Flash 10 also support new, high fidelity open source voice codec called Speex (www.speex.org/), which deliver low-latency for voice encoding and adds to the Microphone class.
Visual Performance   Hardware Acceleration Vector Dynamic Streaming Color correction
Enhance Drawing API Winding fill  - When two shapes used to intercepts we used to have an empty hole.  Winding fill means that we have an area fill as long as we have the winding in the same direction. UV Maps  – used in After Effects and other Adobe Video products and allow mapping on a 3D space. Graphics.drawPath  – Uses a list of drawing commands and coordinate to create a pixel. Graphics.drawTriangles  – Take Vector data and renders a set of triangles, typically to distort containers and give them a 3D z dimension.
Reading writing local files Flash Player 10 has exposed two new APIs in FileReference: load and save.
File I/O API AIR allows you to access the local file system on the client machine the same as native OS programs.  You can do common operations such as reading, writing, moving and renaming. File.copyTo() vs File.copyToAsync() File.deleteDirectory() vs File.deleteDirectoryAsync() File.deleteFile() vs File.deleteFileAsync()
Local storage and Encrypted SQLite   Adobe AIR 1.5 closed a security gap.  All AIR applications are using the exact same database, so essentially any AIR application can read other applications database.
Application Update and Notification API AIR 1.5 updated the Updater API and assist you updating an existing application.  In AIR 1.5 you can actually change the certificate of the application.  To update an application the application ID and the publisher ID should match.
Network Awareness AIR is built to run in conditions where the network connection is changing.  There is an event being lunched every time the application connect and disconnect from the internet allowing you to create an application that have network connection awareness.  air.NativeApplication.nativeApplication.addEventListener(air.Event.NETWORK_CHANGE, onNetworkChange); var socketMonitor:SocketMonitor = new SocketMonitor('www.YourSite.com', 80);  socketMonitor.addEventListener(StatusEvent.STATUS, statusChangeEventHandler);  socketMonitor.start();
Native Windowing API and Chrom Control There are three types of windows:   Normal  - A normal typical window Utility  - A tool palette Lightweight  - Lightweight windows with no chrome
Example Of AIR Applications Pandora Google Analytics Reporting Suite EarthBrowser YouTube Mobile
Pandora
Google Analytic
Earth Browser
Mobile YouTube http:// www.adobe.com/cfusion/exchange/index.cfm?event = extensionDetail&extid =1729023
Web Browser Adobe AIR App <Script> <![CDATA[ import flash.html.HTMLLoader; import mx.core.UIComponent; private var htmlPage:HTMLLoader = null; private function onStartup() : void  { htmlPage =  new HTMLLoader(); htmlPage.width = HTMLComponent.width; htmlPage.height = HTMLComponent.height; HTMLComponent.addChild(htmlPage); htmlPage.load( new URLRequest(txtUrl.text)); } private function onKeyDown(event: KeyboardEvent):void  { if (event.keyCode == Keyboard.ENTER) htmlPage.load( new URLRequest(txtUrl.text)); } ]]> </Script> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <WindowedApplication xmlns=&quot;http://ns.adobe.com/mxml/2009&quot; width=&quot;750&quot; height=&quot;600&quot; creationComplete=&quot;onStartup()&quot;> <Form width=&quot;100%&quot;> <FormItem label=&quot;Url&quot; width=&quot;630&quot;> <TextInput id=&quot;txtUrl&quot; width=&quot;630&quot; text=&quot;file.pdf&quot;  keyDown=&quot;onKeyDown(event)&quot; /> </FormItem> <UIComponent id=&quot;HTMLComponent&quot; width=&quot;630&quot; height=&quot;400&quot; /> </Form> </WindowedApplication>
Custom Menus <Script> <![CDATA[ private var itemDS:NativeMenuItem = new NativeMenuItem(&quot;Drop Shadow&quot;); private var itemBlur:NativeMenuItem = new NativeMenuItem(&quot;Blur&quot;); private function onCreationComplete() : void  { var filterMenu:NativeMenuItem = new NativeMenuItem(&quot;Filters&quot;); if(NativeWindow.supportsMenu)  { stage.nativeWindow.menu =  new NativeMenu(); stage.nativeWindow.menu.addItem(filterMenu); } if(NativeApplication.supportsMenu) NativeApplication.nativeApplication.menu.addItem(filterMenu); var filterSubMenu:NativeMenu = new NativeMenu(); itemBlur.addEventListener(Event.SELECT,onMenuSelect); itemDS.addEventListener(Event.SELECT,onMenuSelect); filterSubMenu.addItem(itemBlur); filterSubMenu.addItem(itemDS); filterMenu.submenu = filterSubMenu; } private function onMenuSelect(event:Event):void  { var nativeMenu:NativeMenuItem = event.target as NativeMenuItem; var filters:Array = []; nativeMenu.checked = !nativeMenu.checked; if (itemDS.checked )  filters.push( new DropShadowFilter()); if (itemBlur.checked ) filters.push(new BlurFilter()); image.filters = filters; } ]]> </Script>
Shameless Self Promoting Blog:  http://elromdesign.com/ blog LinkedIn:  http://linkedin.com/in/ eladelrom Twitter:  http://twitter.com/ eladnyc Books:  http://amazon.com/s/field-keywords=elad+ elrom

More Related Content

PPT
Air(2)
PPTX
SharePoint meetup Speaking Deck - Knowing the formula
PPTX
REST Development made Easy with ColdFusion Aether
PPTX
Adobe MAX Recap
PDF
Getting-Started-on-Aculab-Cloud
PPTX
Kolkata Salesforce Developer Group Online - Summer '17
PPTX
Keeping Current with ColdFusion - Adobe Max 2011
PDF
El capitan
Air(2)
SharePoint meetup Speaking Deck - Knowing the formula
REST Development made Easy with ColdFusion Aether
Adobe MAX Recap
Getting-Started-on-Aculab-Cloud
Kolkata Salesforce Developer Group Online - Summer '17
Keeping Current with ColdFusion - Adobe Max 2011
El capitan

Viewers also liked (7)

PDF
Anchor Correction Spec
PDF
Anissa Collage
PDF
Joseph Velasco Collage
PPT
103 1.6.1calculations
PDF
Classic Rect Strap Ted
PDF
Ed Byrne Ucd Presentation 27 Jan 2009
PDF
Completed Interior Design Projects
Anchor Correction Spec
Anissa Collage
Joseph Velasco Collage
103 1.6.1calculations
Classic Rect Strap Ted
Ed Byrne Ucd Presentation 27 Jan 2009
Completed Interior Design Projects
Ad

Similar to Getting Started with Adobe AIR 1.5 (20)

PPT
Flex3
PPTX
Flash platform fitc
PPT
Enterprise AIR Development for JavaScript Developers
PPTX
AIR2.5 Hands On - Flash on the Beach 2010
PPT
Adobe AIR Seminar
PPTX
Adobe AIR 2.5 Beta for Android
PPT
What is Adobe Flex ?
PPT
Adobe® Flex™
PDF
Flex Air Intro
PPT
Making Money with Adobe AIR
PDF
air
PPTX
AIR - Framework ( Cairngorm and Parsley )
PDF
RIA meets Desktop
PDF
Building Desktop RIAs with PHP, HTML & Javascript in AIR
PDF
RIA meets Desktop
KEY
Screw HTML5, make cool shit with AIR
PPT
Developing RIAs... 10 reasons to use Adobe Flex
PDF
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
PDF
Over the air 2.5 - Adobe AIR for Android
PPT
Adobe Air Development Consulting
Flex3
Flash platform fitc
Enterprise AIR Development for JavaScript Developers
AIR2.5 Hands On - Flash on the Beach 2010
Adobe AIR Seminar
Adobe AIR 2.5 Beta for Android
What is Adobe Flex ?
Adobe® Flex™
Flex Air Intro
Making Money with Adobe AIR
air
AIR - Framework ( Cairngorm and Parsley )
RIA meets Desktop
Building Desktop RIAs with PHP, HTML & Javascript in AIR
RIA meets Desktop
Screw HTML5, make cool shit with AIR
Developing RIAs... 10 reasons to use Adobe Flex
RIAs with Java, Spring, Hibernate, BlazeDS, and Flex
Over the air 2.5 - Adobe AIR for Android
Adobe Air Development Consulting
Ad

More from Elad Elrom (7)

PPTX
20 x Tips to better Optimize your Flash content
PPTX
Developing & Deploying AIR Applications for TV
PDF
Essential Eclipse Plug-ins and Tools for Flash Builder Developers
PPTX
Top security threats to Flash/Flex applications and how to avoid them
PPT
Flex data binding pitfalls: 10 common misuses and mistakes
PPTX
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
PPT
Mashups MAX 360|MAX 2008 Unconference
20 x Tips to better Optimize your Flash content
Developing & Deploying AIR Applications for TV
Essential Eclipse Plug-ins and Tools for Flash Builder Developers
Top security threats to Flash/Flex applications and how to avoid them
Flex data binding pitfalls: 10 common misuses and mistakes
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Mashups MAX 360|MAX 2008 Unconference

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Modernizing your data center with Dell and AMD
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
A Presentation on Artificial Intelligence
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”
Modernizing your data center with Dell and AMD
Chapter 3 Spatial Domain Image Processing.pdf
Approach and Philosophy of On baking technology
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Building Integrated photovoltaic BIPV_UPV.pdf
Network Security Unit 5.pdf for BCA BBA.
NewMind AI Weekly Chronicles - August'25 Week I
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Spectral efficient network and resource selection model in 5G networks
A Presentation on Artificial Intelligence
Per capita expenditure prediction using model stacking based on satellite ima...

Getting Started with Adobe AIR 1.5

  • 1. Getting Started with Adobe AIR Flex Camp Chicago 2009
  • 2. Who Am I? Independent Consultant Technical Lead Author and technical writer
  • 3. Adobe AIR Presentation Agenda: -Intro and overview Showing sample AIR apps Installing & Building apps Signing & deploying app - questions
  • 4. What is Adobe AIR? Adobe Integrated Runtime (AIR) is a cross-operation system runtime, that allows developers to leverage their existing Web knowledge skills in HTML, Ajax, XML, Flash and Flex to build and deploy Rich Internet Application (RIA) on the desktop and soon on Mobile devices.
  • 6. Adobe AIR 1.5 & Flash 10
  • 7. 3D Effects The Flash Player 10 3D tool API allows you to take any pixel or container and move it around in a 3D space.
  • 8. Custom Filters & Effects The Pixel Bender just-in- time (JIT) compiler can also be leveraged and used to process other data, such as sound or logic.
  • 9. Text Layout Framework Text Layout Framework (TLF) is Adobe new Flash framework for dealing with text consist of set of classes in Flash Player 10 that brings print-quality to the web and allow you to create multilingual web applications using device fonts.
  • 10. Enhanced Sound API Dynamic sound generation – the sound APIs allow creating sound dynamically and generate audio applications such as music mixers. You can work with loaded MP3 audio at a lower level by extracting audio data and supplying it to the sound buffer. It allows to process, filter, and mix audio in real time using the Pixel Bender compiler.   Speex audio codec – In addition to supporting ADPCM, HE-AAC, MP3, and Nellymoser audio. Flash 10 also support new, high fidelity open source voice codec called Speex (www.speex.org/), which deliver low-latency for voice encoding and adds to the Microphone class.
  • 11. Visual Performance Hardware Acceleration Vector Dynamic Streaming Color correction
  • 12. Enhance Drawing API Winding fill - When two shapes used to intercepts we used to have an empty hole. Winding fill means that we have an area fill as long as we have the winding in the same direction. UV Maps – used in After Effects and other Adobe Video products and allow mapping on a 3D space. Graphics.drawPath – Uses a list of drawing commands and coordinate to create a pixel. Graphics.drawTriangles – Take Vector data and renders a set of triangles, typically to distort containers and give them a 3D z dimension.
  • 13. Reading writing local files Flash Player 10 has exposed two new APIs in FileReference: load and save.
  • 14. File I/O API AIR allows you to access the local file system on the client machine the same as native OS programs. You can do common operations such as reading, writing, moving and renaming. File.copyTo() vs File.copyToAsync() File.deleteDirectory() vs File.deleteDirectoryAsync() File.deleteFile() vs File.deleteFileAsync()
  • 15. Local storage and Encrypted SQLite Adobe AIR 1.5 closed a security gap. All AIR applications are using the exact same database, so essentially any AIR application can read other applications database.
  • 16. Application Update and Notification API AIR 1.5 updated the Updater API and assist you updating an existing application. In AIR 1.5 you can actually change the certificate of the application. To update an application the application ID and the publisher ID should match.
  • 17. Network Awareness AIR is built to run in conditions where the network connection is changing. There is an event being lunched every time the application connect and disconnect from the internet allowing you to create an application that have network connection awareness. air.NativeApplication.nativeApplication.addEventListener(air.Event.NETWORK_CHANGE, onNetworkChange); var socketMonitor:SocketMonitor = new SocketMonitor('www.YourSite.com', 80); socketMonitor.addEventListener(StatusEvent.STATUS, statusChangeEventHandler); socketMonitor.start();
  • 18. Native Windowing API and Chrom Control There are three types of windows:   Normal - A normal typical window Utility - A tool palette Lightweight - Lightweight windows with no chrome
  • 19. Example Of AIR Applications Pandora Google Analytics Reporting Suite EarthBrowser YouTube Mobile
  • 23. Mobile YouTube http:// www.adobe.com/cfusion/exchange/index.cfm?event = extensionDetail&extid =1729023
  • 24. Web Browser Adobe AIR App <Script> <![CDATA[ import flash.html.HTMLLoader; import mx.core.UIComponent; private var htmlPage:HTMLLoader = null; private function onStartup() : void { htmlPage = new HTMLLoader(); htmlPage.width = HTMLComponent.width; htmlPage.height = HTMLComponent.height; HTMLComponent.addChild(htmlPage); htmlPage.load( new URLRequest(txtUrl.text)); } private function onKeyDown(event: KeyboardEvent):void { if (event.keyCode == Keyboard.ENTER) htmlPage.load( new URLRequest(txtUrl.text)); } ]]> </Script> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <WindowedApplication xmlns=&quot;http://ns.adobe.com/mxml/2009&quot; width=&quot;750&quot; height=&quot;600&quot; creationComplete=&quot;onStartup()&quot;> <Form width=&quot;100%&quot;> <FormItem label=&quot;Url&quot; width=&quot;630&quot;> <TextInput id=&quot;txtUrl&quot; width=&quot;630&quot; text=&quot;file.pdf&quot; keyDown=&quot;onKeyDown(event)&quot; /> </FormItem> <UIComponent id=&quot;HTMLComponent&quot; width=&quot;630&quot; height=&quot;400&quot; /> </Form> </WindowedApplication>
  • 25. Custom Menus <Script> <![CDATA[ private var itemDS:NativeMenuItem = new NativeMenuItem(&quot;Drop Shadow&quot;); private var itemBlur:NativeMenuItem = new NativeMenuItem(&quot;Blur&quot;); private function onCreationComplete() : void { var filterMenu:NativeMenuItem = new NativeMenuItem(&quot;Filters&quot;); if(NativeWindow.supportsMenu) { stage.nativeWindow.menu = new NativeMenu(); stage.nativeWindow.menu.addItem(filterMenu); } if(NativeApplication.supportsMenu) NativeApplication.nativeApplication.menu.addItem(filterMenu); var filterSubMenu:NativeMenu = new NativeMenu(); itemBlur.addEventListener(Event.SELECT,onMenuSelect); itemDS.addEventListener(Event.SELECT,onMenuSelect); filterSubMenu.addItem(itemBlur); filterSubMenu.addItem(itemDS); filterMenu.submenu = filterSubMenu; } private function onMenuSelect(event:Event):void { var nativeMenu:NativeMenuItem = event.target as NativeMenuItem; var filters:Array = []; nativeMenu.checked = !nativeMenu.checked; if (itemDS.checked ) filters.push( new DropShadowFilter()); if (itemBlur.checked ) filters.push(new BlurFilter()); image.filters = filters; } ]]> </Script>
  • 26. Shameless Self Promoting Blog: http://elromdesign.com/ blog LinkedIn: http://linkedin.com/in/ eladelrom Twitter: http://twitter.com/ eladnyc Books: http://amazon.com/s/field-keywords=elad+ elrom

Editor's Notes

  • #2: Welcome to Flex Camp - Getting Started with Adobe AIR presentations. This presentation is recorded and will be available at my blog. Before we get started I would like to get ask you couple of questions: How many of you have developed applications with Adobe AIR? How many are Flex developers? How many of you are JavaScript/Ajax developers?