Your SlideShare is downloading. ×
Native extensions webinar
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Native extensions webinar

2,962
views

Published on

Published in: Technology, Business

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,962
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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.