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

More Related Content

Viewers also liked

Anchor Correction Spec
Anchor Correction SpecAnchor Correction Spec
Anchor Correction Speccarline111
 
Anissa Collage
Anissa CollageAnissa Collage
Anissa Collageguest136e5
 
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 Tedcarline111
 
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 ProjectsVWdriverANNA
 

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 AIRAlmog Koren
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR SeminarYoss 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 Devicespaultrani
 
Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0Flex Remoting With WebORB v1.0
Flex Remoting With WebORB v1.0guest642dd3
 
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 developmentMihai Corlan
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learningsziblu
 
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.0Peter 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 MobilePasi Manninen
 

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 contentElad Elrom
 
Developing & Deploying AIR Applications for TV
Developing & Deploying AIR Applications for TVDeveloping & Deploying AIR Applications for TV
Developing & Deploying AIR Applications for TVElad 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 DevelopersElad 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 themElad 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 mistakesElad 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 presoElad Elrom
 
Mashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 UnconferenceMashups MAX 360|MAX 2008 Unconference
Mashups MAX 360|MAX 2008 UnconferenceElad 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

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
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 TerraformAndrey Devyatkin
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
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 WoodJuan lago vázquez
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 

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?