Upload
easelsolutions
View
885
Download
0
Embed Size (px)
Citation preview
Adobe MAX 2011 Recap | Dustin Tauer
Check It
Everything you need…
• http://max.adobe.com/online• http://www.adobe.com/go/flexprerelease• http://blog.easelsolutions.com
Flash CS5.5 Peeps:• http://blogs.adobe.com/jayarmstrong/2011/10/
adding-the-air-3-0-sdk-to-flash-pro-cs5-5.html
Native Extensions (ANEs)
• A way to extend the AIR runtime yourself• Available in AIR for TV in 2.5; now available on all platforms.
– Mobile– Desktop– TV
• Similar to ActionScript libraries (SWCs), but implemented in native code.
• Use cases:– Provide applications with APIs not implemented directly in AIR.– Delegate to native code for better performance in some contexts.
• I want to access device capabilities for which AIR does not provide an ActionScript API
• I want to re-use legacy code
• I want to use native code to achieve greater performance than I can in ActionScript
• http://www.adobe.com/devnet/air/native-extensions-for-air.html
Native Extensions (ANEs)
Flash Builder
Android SDK & NDK
XCode
Visual Studio
Adobe AIR
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Native Extensions (ANEs)
Demo
Stage3D (Molehill)
• A set of low-level, hardware accelerated APIs for both 2D and 3D rendering.
• Stage3D renders using the GPU (where possible).• Flash 11; Desktop only in AIR 3; mobile support coming.
Starling Framework
• http://www.starling-framework.org/• http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
var texture:Texture = Texture.fromBitmap ( new embeddedBitmap() );var image:Image = new Image(texture);image.pivotX = 50;image.pivotY = 50;image.x = 300;image.y = 150;image.rotation = Math.PI/4;addChild(image);
• http://tv.adobe.com/watch/max-2011-keynotes/gaming-and-3d/– Angry Birds: 7:08– Tank: 10:00– Nissan: 11:30– Unreal Tournament: 15:56
Captive Runtime
• Bundle the AIR runtime with your application• Your app is indistinguishable from a native app• Gives you control over your runtime version• Just add flags when packaging your application:
– apk-captive-runtime on Android– bundle on the desktop
• Flash Builder support is coming• Desktop and Android only
– Native installer on the desktop (DMG and EXE)– APK file on Android– Already implemented on iOS
• The -bundle packaging option creates an executable image of your application– Can run in place (DVD, USB)– Can be used as an input to an installer creation tool– Always uses the captive runtime option
• Custom installers can include arbitrary actions– registry settings, install services, and so on– enables use of native code with install-time requirements
• Custom installers can operate without admin privilege– Actual privilege requirements are up to the installer author– Captive runtime has no privilege requirements (run-in-place)
Captive Runtime
Demo
Native Text Fields
• Accessed through the StageText class.• Native text input on iOS and Android.• Advantages:
– Auto-correct– Auto-capitalize– Virtual keyboard configuration (i.e Number or URL)– Return key label configuration
• Challenges:– No border– Not on the display list (highest z-order)
• Solutions:– drawViewPortToBitmapData() function
• Creates bitmap of text, toggle visibility
– NativeText class (wrapper for StageText).
Background Audio
• iOS only (already worked on Android)• App continues to run in the background with screen updates
disabled:– Preserves battery life– Complies with Apple’s multi-tasking requirements
• Configuration changes only (no code)• Also enables audio recording
Randoms
• Front-facing Camera Support– Camera.position = CameraPosition.FRONT
• Mobile Encrypted Local Storage• Device Speaker Control
– Play audio through a device’s earpiece or speakers.• Native JSON Support
– JSON.parse(text:String)– JSON.stringify(value:Object)
• Higher Resolution Bitmaps– AIR 1: 2,880 x 2,880 (8 megapixels)– AIR 2: 4,095 x 4,094 (16 megapixels)– AIR 3: ∞ Left up to the platform.
• ArgumentError: Error #2015: Invalid BitmapData.• Better iPad CameraRoll Support• Hardware Accelerated Video Accessed through the StageVideo class
– No filters, alpha channel, etc.– Square video with controls (most common video scenario).
• H.264 Video Encoding
Randoms
Randoms
• Multichannel Audio Digital Output– Support for:
• Dolby Digital Plus 5.1.• DTS 5.1.
– ActionScript and RTMP.• New Capabilities.hasMultiChannelAudio.
• Advanced Controller Support (AIR for TV only)– New GameInput API:
• Enumerating devices.• Enumerating controls:
– Buttons– Triggers– Acceleration
• Getting controls values:– Events– Polling
Display Object API’s
What I missed
• Android Market licensing integration• Hardware accelerated video• Socket improvements• JPEG XR support• GC advice API
http://adobe.ly/qW20zs• Secure random number generation• Support for cubic bezier curves
I’m a thief…
• Thanks to: – Christian Cantrell - MAX Presentation
http://goo.gl/ubrq6– Oliver Goldman – MAX Presentation
http://goo.gl/tHQnh