SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

Anchor Correction Spec
Anchor Correction SpecAnchor Correction Spec
Anchor Correction Spec
carline111
 
Anissa Collage
Anissa CollageAnissa Collage
Anissa Collage
guest136e5
 
Joseph Velasco Collage
Joseph Velasco CollageJoseph Velasco Collage
Joseph Velasco Collageguesta20c76
 
103 1.6.1calculations
103 1.6.1calculations103 1.6.1calculations
103 1.6.1calculationsTalia Carbis
 
Classic Rect Strap Ted
Classic Rect Strap TedClassic Rect Strap Ted
Classic Rect Strap Ted
carline111
 
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 2009Ed Byrne
 
Completed Interior Design Projects
Completed Interior Design ProjectsCompleted Interior Design Projects
Completed Interior Design Projects
VWdriverANNA
 

Viewers also liked (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
 

Similar to Getting Started with Adobe AIR 1.5

Adobe AIR. NativeProcess. FFMPEG. Awesome.
Adobe AIR. NativeProcess. FFMPEG. Awesome.Adobe AIR. NativeProcess. FFMPEG. Awesome.
Adobe AIR. NativeProcess. FFMPEG. Awesome.
Joseph Labrecque
 
Making Money with Adobe AIR
Making Money with Adobe AIRMaking Money with Adobe AIR
Making Money with Adobe AIR
Almog Koren
 
Flex3
Flex3Flex3
Flex3
SaurabhIT
 
Adobe Air
Adobe AirAdobe Air
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
paultrani
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
Yoss Cohen
 
The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash PlatformPeter Elst
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
paultrani
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0
guest642dd3
 
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
Mihai Corlan
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
ziblu
 
DIY Flex
DIY FlexDIY 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
Peter Elst
 
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
Pasi Manninen
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
Dharani Kumar Madduri
 

Similar to 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
 

More from Elad Elrom

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
Elad Elrom
 
Developing & Deploying AIR Applications for TV
Developing & Deploying AIR Applications for TVDeveloping & Deploying AIR Applications for TV
Developing & Deploying AIR Applications for TV
Elad Elrom
 
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
Elad Elrom
 
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
Elad Elrom
 
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
Elad Elrom
 
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
Elad Elrom
 
Mashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 UnconferenceMashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 Unconference
Elad Elrom
 

More from 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
 

Recently uploaded

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 

Recently uploaded (20)

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 

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

Editor's Notes

  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?