SlideShare une entreprise Scribd logo
1  sur  26
Getting Started with Adobe AIR Flex Camp Chicago 2009
Who Am I? ,[object Object],[object Object],[object Object]
Adobe AIR Presentation Agenda: ,[object Object],[object Object],[object Object],[object Object],[object Object]
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   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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 ,[object Object],[object Object],[object Object],[object Object]
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

Contenu connexe

En vedette (7)

Anchor Correction Spec
Anchor Correction SpecAnchor Correction Spec
Anchor Correction Spec
 
Anissa Collage
Anissa CollageAnissa Collage
Anissa Collage
 
Joseph Velasco Collage
Joseph Velasco CollageJoseph Velasco Collage
Joseph Velasco Collage
 
103 1.6.1calculations
103 1.6.1calculations103 1.6.1calculations
103 1.6.1calculations
 
Classic Rect Strap Ted
Classic Rect Strap TedClassic Rect Strap Ted
Classic Rect Strap Ted
 
Ed Byrne Ucd Presentation 27 Jan 2009
Ed Byrne   Ucd Presentation   27 Jan 2009Ed Byrne   Ucd Presentation   27 Jan 2009
Ed Byrne Ucd Presentation 27 Jan 2009
 
Completed Interior Design Projects
Completed Interior Design ProjectsCompleted Interior Design Projects
Completed Interior Design Projects
 

Similaire à Getting Started with Adobe AIR 1.5

The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
Peter Elst
 

Similaire à Getting Started with Adobe AIR 1.5 (20)

Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Adobe AIR. NativeProcess. FFMPEG. Awesome.
Adobe AIR. NativeProcess. FFMPEG. Awesome.Adobe AIR. NativeProcess. FFMPEG. Awesome.
Adobe AIR. NativeProcess. FFMPEG. Awesome.
 
Making Money with Adobe AIR
Making Money with Adobe AIRMaking Money with Adobe AIR
Making Money with Adobe AIR
 
Flex3
Flex3Flex3
Flex3
 
Adobe Air
Adobe AirAdobe Air
Adobe Air
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
 
The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
Yes, you can do that with AIR 2.0
Yes, you can do that with AIR 2.0Yes, you can do that with AIR 2.0
Yes, you can do that with AIR 2.0
 
Adobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobileAdobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and Mobile
 
Some Useful Flash API
Some Useful Flash APISome Useful Flash API
Some Useful Flash API
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 

Plus de Elad Elrom

Plus de Elad Elrom (7)

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

Dernier

Dernier (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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...
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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...
 

Getting Started with Adobe AIR 1.5

  • 1. Getting Started with Adobe AIR Flex Camp Chicago 2009
  • 2.
  • 3.
  • 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.
  • 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.
  • 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

Notes de l'éditeur

  1. 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?