SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Native Extensions                                                             http://blog.inoel.in
      Immanuel | Platform Evangelist                                          Twitter: @immanuelnoel




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Why
                                                                                             Native
                                                                                           Extensions




                                                                                  Understand
                              Agenda                                                Native
                                                                                  Extensions



                                                                                                 See
                                                                                               sample
                                                                                               ANE’s in
                                                                                                 use


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   2
Mobile Apps with Adobe AIR




     •              Build for multiple platforms with the same
                    competencies

     •              Mobile optimized components

     •              UI’s tailored for different form factors

     •              Host of Native APIs supported



© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   3
The Missing Piece




            Taking advantage of devices with advanced
            capabilities
                  Eg. NFC Capable devices

            Harnessing faster processing for
            specific tasks

            The need to rewrite legacy
            code


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   4
An Ideal Solution



    •             Native APIs available to the ActionScript
                  developer as an ActionScript API

    •             Minimal effort in porting these ActionScript APIs
                  to other AIR applications which also need to
                  access the same capabilities

    •             Minimal effort to extend these ActionScript APIs
                  to other platforms which also provide the same
                  capabilities

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   5
The Answer - ANE




         •              Build new Features into the AIR Runtime

         •              Go beyond the commonly used APIs

         •              Achieve deeper integration with target devices

         •              The way an Actionscript developer would like
                        it to be

                                    P.S., ANE = Actionscript Native Extensions

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   6
Native Extensions – As Developers See It



           Same interfaces across platforms
           Use the same ActionScript APIs to access similar Native APIs across multiple
           platforms.


           Reuse Legacy Code
           • Physics engines or game engines
           • Image or video filters
           • PDF rendering


           Achieve native performance for specific tasks
           • Physics engines
           • Image Encoding / Decoding



© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   7
Native Extensions – Deployment Models




           Application Bundled
           Contains platform specific implementations for multiple platforms, and
           optionally the simulator, with each ANE bundled with every application
           that uses it.


           Device Bundled
           Typically created by the manufacturer. Implementation is bundled along
           with the device.




        We are speaking about the Application Bundled ANEs today!

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   8
ANE Structure




                                                                          Flash / Flex
                                                                          Application

                                                                                   ActionScript
                    ANE




                                            Native Code
                                                                                     Library

                                         Providing deep integration,               Coordinating application
                                           legacy code reuse, and                   and presentation logic
                                                performance
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.    9
The code that goes in…




                                                                               Platform   Form
                                                                                          Java Archive (.jar) or shared
                                                                               Android
                                                                                          library (.so)
                                                                               iOS        Static library (.a)
                                                                               OS X       Framework (.framework)
                                                                               Windows    Dynamic Link Library (.dll)
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   10
ANE’s are…




           •              Re-Usable Software Components

           •              Defines an ActionScript API

           •              Can be developed and distributed independent
                          of applications

           •              Are added at development time to applications
                          that use them


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   11
Using ANE’s…




           •              Flash Builder provides a well defined
                          workflow

           •              As simple as accessing methods in another
                          class
                                   var vibrate:Vibrate = new Vibrate();
                                   vibrate.doVibration(3000);


           •              Define Permissions

© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   12
Workflow 1 – Import the ANE




                                                                                   Add ANE
 Flex Build Path




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   13
Workflow 2 – Ensure ‘Package’ is selected




                                                                                   Package
 Build Packaging




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   14
Workflow 3 – Write code




                           Accessing ANE classes with ActionScript APIs




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   15
Workflow 4 – Modify Application Descriptor




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   16
Sample ANEs


                                                                              Licensing - Android
                                                                              Shows you how to package the native extension for
                                                                              Android licensing.



                                                                              Notifications – Android / iOS
                                                                              Lets you create notifications in AIR apps you
                                                                              deploy to Android and iOS.



                                                                              AS3C2DM - Android
                                                                              Lets you create custom push notifications for your
                                                                              Android applications.


              Find the full list here : http://www.adobe.com/devnet/air/native-extensions-for-air.html
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.            17
Let’s see some action !


                                        Using ANEs with Flash
                                               Builder


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   18
Where Next




                                                               Adobe DevNet
                                                      Creating / Using / Sample ANE’s
                                                     http://www.adobe.com/devnet/air/
                                                        native-extensions-for-air.html

         A community led site to provide a single central resource for
              downloading Native Extensions for Adobe AIR
                       http://extensionsforair.com/




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   19
Shoot your Questions !
                                                                          Immanuel Noel
                                                                        http://blog.inoel.in
                                                                      Twitter: @immanuelnoel




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Mais conteúdo relacionado

Mais procurados

DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013Sanjeev Sharma
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java DevelopersMike Wolfson
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The PhoneMarko Gargenta
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentationrhofkens
 
Domino X Pages 8.5
Domino X Pages 8.5Domino X Pages 8.5
Domino X Pages 8.5John Head
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java DevelopersMarko Gargenta
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of LightProlifics
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Anton Arhipov
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automationsadams22
 
App-V og UE-V
App-V og UE-VApp-V og UE-V
App-V og UE-Vdkvug
 
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Jeroen Burgers
 
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Enkitec
 
Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010Marko Gargenta
 

Mais procurados (19)

Android Deep Dive
Android Deep DiveAndroid Deep Dive
Android Deep Dive
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
Domino X Pages 8.5
Domino X Pages 8.5Domino X Pages 8.5
Domino X Pages 8.5
 
Siebel server cloning
Siebel server cloningSiebel server cloning
Siebel server cloning
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java Developers
 
The Third WordPress
The Third WordPressThe Third WordPress
The Third WordPress
 
The Third WordPress
The Third WordPressThe Third WordPress
The Third WordPress
 
Portal at the Speed of Light
Portal at the Speed of LightPortal at the Speed of Light
Portal at the Speed of Light
 
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel Improve your Developer Experiece using the WAS Liberty Profile with JRebel
Improve your Developer Experiece using the WAS Liberty Profile with JRebel
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automation
 
Flex User Group breton
Flex User Group bretonFlex User Group breton
Flex User Group breton
 
App-V og UE-V
App-V og UE-VApp-V og UE-V
App-V og UE-V
 
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
Siebel Server Cloning available in 8.1.1.9 / 8.2.2.2
 
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...
 
A Tale of Two Ports
A Tale of Two PortsA Tale of Two Ports
A Tale of Two Ports
 
Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010Android for Java Developers at OSCON 2010
Android for Java Developers at OSCON 2010
 

Semelhante a Native extensions webinar

Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyMichael Chaize
 
In The Future We All Use Symfony2
In The Future We All Use Symfony2In The Future We All Use Symfony2
In The Future We All Use Symfony2Brent Shaffer
 
Flex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUGFlex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUGMichael Chaize
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile developmentMichael Chaize
 
Oop2012 mobile workshops
Oop2012 mobile workshopsOop2012 mobile workshops
Oop2012 mobile workshopsMichael Chaize
 
Starting mobile development
Starting mobile developmentStarting mobile development
Starting mobile developmentMihai Corlan
 
Drupal and-flex-drupal camp
Drupal and-flex-drupal campDrupal and-flex-drupal camp
Drupal and-flex-drupal campClaudiu Cristea
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensJoseph Labrecque
 
Breizh camp adobe flex et les mobiles
Breizh camp   adobe flex et les mobilesBreizh camp   adobe flex et les mobiles
Breizh camp adobe flex et les mobilesMichael Chaize
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile developmentMichael Chaize
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash PlatformMihai Corlan
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with FlexConFoo
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011Michael Chaize
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform WorkspaceTomasz Zarna
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012marcocasario
 

Semelhante a Native extensions webinar (20)

Montpellier - Flex UG
Montpellier - Flex UGMontpellier - Flex UG
Montpellier - Flex UG
 
MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex baby
 
In The Future We All Use Symfony2
In The Future We All Use Symfony2In The Future We All Use Symfony2
In The Future We All Use Symfony2
 
Flex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUGFlex presentation for Paris Android User group PAUG
Flex presentation for Paris Android User group PAUG
 
Flexpaug 111207121300-phpapp01
Flexpaug 111207121300-phpapp01Flexpaug 111207121300-phpapp01
Flexpaug 111207121300-phpapp01
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
 
Jax 2011 keynote
Jax 2011 keynoteJax 2011 keynote
Jax 2011 keynote
 
Oop2012 mobile workshops
Oop2012 mobile workshopsOop2012 mobile workshops
Oop2012 mobile workshops
 
Starting mobile development
Starting mobile developmentStarting mobile development
Starting mobile development
 
Drupal and-flex-drupal camp
Drupal and-flex-drupal campDrupal and-flex-drupal camp
Drupal and-flex-drupal camp
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small Screens
 
Breizh camp adobe flex et les mobiles
Breizh camp   adobe flex et les mobilesBreizh camp   adobe flex et les mobiles
Breizh camp adobe flex et les mobiles
 
Xplatform mobile development
Xplatform mobile developmentXplatform mobile development
Xplatform mobile development
 
Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash Platform
 
Flex mobile for JUG
Flex mobile for JUGFlex mobile for JUG
Flex mobile for JUG
 
Develop mobile applications with Flex
Develop mobile applications with FlexDevelop mobile applications with Flex
Develop mobile applications with Flex
 
Adobe flex at jax london 2011
Adobe flex at  jax london 2011Adobe flex at  jax london 2011
Adobe flex at jax london 2011
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform Workspace
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012
 

Último

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Último (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Native extensions webinar

  • 1. Native Extensions http://blog.inoel.in Immanuel | Platform Evangelist Twitter: @immanuelnoel © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 2. Why Native Extensions Understand Agenda Native Extensions See sample ANE’s in use © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 2
  • 3. Mobile Apps with Adobe AIR • Build for multiple platforms with the same competencies • Mobile optimized components • UI’s tailored for different form factors • Host of Native APIs supported © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
  • 4. The Missing Piece Taking advantage of devices with advanced capabilities Eg. NFC Capable devices Harnessing faster processing for specific tasks The need to rewrite legacy code © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
  • 5. An Ideal Solution • Native APIs available to the ActionScript developer as an ActionScript API • Minimal effort in porting these ActionScript APIs to other AIR applications which also need to access the same capabilities • Minimal effort to extend these ActionScript APIs to other platforms which also provide the same capabilities © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 5
  • 6. The Answer - ANE • Build new Features into the AIR Runtime • Go beyond the commonly used APIs • Achieve deeper integration with target devices • The way an Actionscript developer would like it to be P.S., ANE = Actionscript Native Extensions © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 6
  • 7. Native Extensions – As Developers See It Same interfaces across platforms Use the same ActionScript APIs to access similar Native APIs across multiple platforms. Reuse Legacy Code • Physics engines or game engines • Image or video filters • PDF rendering Achieve native performance for specific tasks • Physics engines • Image Encoding / Decoding © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
  • 8. Native Extensions – Deployment Models Application Bundled Contains platform specific implementations for multiple platforms, and optionally the simulator, with each ANE bundled with every application that uses it. Device Bundled Typically created by the manufacturer. Implementation is bundled along with the device. We are speaking about the Application Bundled ANEs today! © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 8
  • 9. ANE Structure Flash / Flex Application ActionScript ANE Native Code Library Providing deep integration, Coordinating application legacy code reuse, and and presentation logic performance © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9
  • 10. The code that goes in… Platform Form Java Archive (.jar) or shared Android library (.so) iOS Static library (.a) OS X Framework (.framework) Windows Dynamic Link Library (.dll) © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10
  • 11. ANE’s are… • Re-Usable Software Components • Defines an ActionScript API • Can be developed and distributed independent of applications • Are added at development time to applications that use them © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 11
  • 12. Using ANE’s… • Flash Builder provides a well defined workflow • As simple as accessing methods in another class var vibrate:Vibrate = new Vibrate(); vibrate.doVibration(3000); • Define Permissions © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 12
  • 13. Workflow 1 – Import the ANE Add ANE Flex Build Path © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 13
  • 14. Workflow 2 – Ensure ‘Package’ is selected Package Build Packaging © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 14
  • 15. Workflow 3 – Write code Accessing ANE classes with ActionScript APIs © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 15
  • 16. Workflow 4 – Modify Application Descriptor © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 16
  • 17. Sample ANEs Licensing - Android Shows you how to package the native extension for Android licensing. Notifications – Android / iOS Lets you create notifications in AIR apps you deploy to Android and iOS. AS3C2DM - Android Lets you create custom push notifications for your Android applications. Find the full list here : http://www.adobe.com/devnet/air/native-extensions-for-air.html © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 17
  • 18. Let’s see some action ! Using ANEs with Flash Builder © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 18
  • 19. Where Next Adobe DevNet Creating / Using / Sample ANE’s http://www.adobe.com/devnet/air/ native-extensions-for-air.html A community led site to provide a single central resource for downloading Native Extensions for Adobe AIR http://extensionsforair.com/ © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 19
  • 20. Shoot your Questions ! Immanuel Noel http://blog.inoel.in Twitter: @immanuelnoel © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.