Building iphone Applications with Flash CS5. Mike Chambers Principal Product Manager Developer Relations Flash Platform

Similar documents
Wiley Publishing, Inc.

Cookbook. Flash ios Apps. Christopher Caleb. 100 practical recipes for developing ios apps with Flash Professional and Adobe AIR PUBLISHING MUMBAI

[PACKTl. Flash Development for Android Cookbook. Flash, Flex, and AIR. Joseph Labrecque. Over 90 recipes to build exciting Android applications with

CS378 -Mobile Computing. Android Overview and Android Development Environment

ipad, a revolutionary device - Apple

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Adobe Flash Professional CS5.5

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Android Architecture. Alexandra Harrison & Jake Saxton

01. Introduction of Android

Adobe Creative Suite 5.5 Web Premium

Lecture 1 Introduction to Android

Creating Effective Mobile Advertising Campaigns

Developing Mobile Applications with ADOBE FLEX and ADOBE FLASH TM BUILDER

Introduction to Android

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Adobe Flash Catalyst CS5.5

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall

Adobe Flash Player and Adobe AIR security

Student Getting Started Guide

Developing and deploying mobile apps

Adobe AIR 1.5 for Linux

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Example of Standard API

Building a Simple Mobile optimized Web App/Site Using the jquery Mobile Framework

Mobile Phones Operating Systems

Adobe Connect Support Guidelines

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Seagate Business Storage 8-bay Rackmount NAS Reviewer s Guide

The Landscape of Mobile Apps for Cityworks

HTML5 & Digital Signage

the future of mobile web by startech.ro

Developing Android Apps for BlackBerry 10. JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012

Legal notices. Legal notices. For legal notices, see

Computer Based Training Proposal for Design Solutions, Inc. Created by: Karen Looney EME 6930 Flash PLE

ADOBE FLASH PLAYER Administration Guide for Microsoft Windows 8

Adobe Flash Professional CS6

TECHNOLOGIES MOBILE STRATEGY

Deepak Patil (Technical Director) iasys Technologies Pvt. Ltd.

CCC Technical Requirements. Updated: June 2016

Choosing a Mobile Strategy for Your Business

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Mobile Strategy and Design

Flash Development for Android Cookbook

Wowza Media Systems provides all the pieces in the streaming puzzle, from capture to delivery, taking the complexity out of streaming live events.

Building native mobile apps for Digital Factory

White Paper Using PHP Site Assistant to create sites for mobile devices

Choosing a Mobile Application Development Approach

EasyPush Push Notifications Extension for ios

Using Flash CS3 and AIR to Build Desktop Applications

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

An Introduction to Flash and AIR Development on Android

SMART Board User Guide for PC

Developing Applications for Adobe Flash Lite for the Digital Home

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7

Integrating Mobile into Your Cross- Platform Strategy with Qt

Workshop on Android and Applications Development

WATTLE. Adobe Connect 9.4 Upgrade Key Differences. Author: Jo Jo Maung, Business Analyst, ITS Version: 1.3 Date: 16 September 2015.

Mobile Application Development Android

The Android Platform

rich mobile applications made easy

Overview of CS 282 & Android

How To Develop Android On Your Computer Or Tablet Or Phone

Getting Started in the Cambridge LMS - Students

ni.com Remote Connectivity with LabVIEW

Rich Internet Applications

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

What's it Called on my Mac?

ios SDK possibilities & limitations

User Manual Version p BETA III December 23rd, 2015

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

Take full advantage of IBM s IDEs for end- to- end mobile development

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

ANDROID OPERATING SYSTEM

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers

Adobe Creative Cloud for teams

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 1

Lecture 4 Cross-Platform Development. <lecturer, date>

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

ADOBE ACROBAT CONNECT PRO MOBILE VISUAL QUICK START GUIDE

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

ANDROID TRAINING COURSE MODULES. Module-I: Introduction to Android. Introducing Android. Installing Development Tools. Using the Emulator.

Designing for Mobile. Jonathan Wallace

VMWare Workstation 11 Installation MICROSOFT WINDOWS SERVER 2008 R2 STANDARD ENTERPRISE ED.

Image Upload Known Issues...3. Implementing the Block...4. Using Adobe SWC files...4. Configuring in Flash...5

Android on i.mx Applications Processors

Silk Test Testing Mobile Applications

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Retool your HTML/JavaScript to go Mobile

Mac Built-in Accessibility ( Lion) - Quick Start Guide

Hands-On Practice. Basic Functionality

Rich Internet Applications

ShareLink 200 Setup Guide

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Cisco Cius Development Guide Version 1.0 September 30, 2010

HTML5 the new. standard for Interactive Web

Transcription:

Building iphone Applications with Flash CS5 Mike Chambers Principal Product Manager Developer Relations Flash Platform 1

What did Adobe announce at Max? 2

2 Two key announcements concerning developing on the Flash Platform. 3

Flash Pro CS5 Adobe Flash CS5 will include support for creating stand-alone apps for the Apple iphone 4 Announcement 1

Flash Player 10.1 Smartphone enabled Multitouch, accelerometer, screen orientation Optimized memory, power, hardware acceleration RAW Microphone Access Global Error Handler 5 Announcement #2 : Flash Player 10.1 - Browser, Desktop (via Adobe AIR 2.0), and smart phones

6 Flash Player 10.1 will be available across both browsers, desktops and devices. This includes in Adobe AIR 2.0, as well as Flash Player for Palm Pre, Android and Windows Mobile devices.

Did not announce Flash Player for Safari Mobile on iphone Basically, we need apple s help with this. However, as the Palm Pre and Android Flash Player demos have shown, Flash content can perform well on this class of devices. 7

8 Already a number of iphone applications created with Flash on the itunes app store.

demo 9

demo 10

How does it work? 11

LLVM Low Level Virtual Machine Open source compiler infrastructure designed for optimizing programs written in arbitrary programming languages Capable of generating machine code for various targets including x86 and ARM processors Used in Alchemy http://www.llvm.org 12

Front End Compilation / Optimization Back End SWF / ABC x86 C ARM C++ LLVM PPC Java Spark...... Adobe built a SWF / ABC front-end for LLVM 13

.AIR vs.app.air.app.swf code Flash Assets ARM exe.swf Flash Assets app:/assets app.xml Runtime Library app:/assets Info.plist 14

Develop Publish Package Deploy Certificate SWF app.xml ADT.ipa Flash Pro CS5 app:/resources Publishing workflow 15

AOT Compilation Ahead of Time (AOT) compilation iphone License Restricts interpreters Cant JIT code No Interpreter Compiles ABC bytecode from SWF LLVM Base compile toolchain 16

ADT Certificate.app SWF AOT swf.exe.ipa app.xml.plist gen info.plist Sign / Package Signed.app resources app:/resources ADT input and output 17

AOT Compilation Flash CS5 AS3 AS3 SWC timeline.swf ABC1 ABC2 timeline AOT ABC Compiler LLVM Bytecode swf.exe swf ABC1 SHA1 ABC1 SHA2 timeline assets assets LLVM Codegen assets ARM Flash Runtime Library Flash Runtime Library AOT Compilation. Notice that there is a library form of the Flash Player runtime included in the application. ABC bytecode is compiled to native arm code. 18

Developing Content 19

APIs Flash Player 10.1 Adobe AIR 2.0 APIs set available is based on Flash Player 10.1 and Adobe AIR 2.0 20

New APIs MultiTouch Screen Orientation MediaLibrary NEW! Accelerometer Geo-location Cut / Copy / Paste Native TextInput tel:, mailto:, maps:, video: Not necessarily iphone specific APIs. 21

Do not reply on... Keyboard events outside of textfields Rollover Hover ActionScript 1 or 2 Loading a SWF with ActionScript LocalConnection PixelBender H.264 and Speex codecs Microphone / Video Camera access 22

Development Workflow Flash CS5 Test SWF Test and Deploy Desktop.ipa itunes Device 23

In order to deploy an ipa / app to the device, you must be part of the Apple developer program, and have the appropriate certificates and provisioning profiles setup. 24

Demo 25

Rendering Current Apps in itunes store use Software Rendering Adding Support for GPU Composition 26

Software Rendering 27 Software rendering renders entire display (including composition) via software. CPU intensive.

GPU Compositing CPU Composition. Inidividual elements rendered via software, but are then composited / put together in hardware. Can be very fast. 28

GPU Pipeline with Cached Surfaces GPU Pipeline with cached surfaces Flash renderer (RAM) Textures (GPU) 29 Individual elements can be cached and then composited in hardware.

Using GPU Composition cacheasbitmap:boolean NEW! cacheassurface:boolean Using 2.5D Apis Such as setting z property cacheassurface new API. Transforms on a display object does not cause it to be re-rendered via software. 30

What can you do to be ready? 31

!= iphone development is mobile development. It has a significantly slower processor that what you are used to on your desktop. 32

Screen Size UI Interactions Performance!= This affects Screen Size, UI Internactions and most importantly performance. 33

Screen Size Fullscreen 320x480 320px With Status Bar 320x460 480x300 480px 34

Fonts American Typewriter American Typewriter Condensed Arial Arial Rounded MT Bold Courier New Georgia Helvetic Marker Felt Times New Roman Trebuchet MS Verdana Zapfino Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Hello World Helvetica is default Use device fonts for input fields 35

Primary input is via Finger Less accurate than mouse Create larger hit area No modifier keys 7 mm 44 px Remember Finger obscures screen 36

Demo 37

Demo 38

Text Input Remeber iphone has a software based keyboard. Make sure to leave room for it to open, and not cover text inputs. 39

undo Magnifying glass cut/copy/paste Native text input controls are used, so you have access to everything you would expect. 40

Designing Flash Applications for the iphone Arno Gourdol http://bit.ly/arnoiphone Apple Mobile Human Interface Guidelines http://bit.ly/mobilehig 41

Code Optimizations Most will improve performance / memory usage on desktop Some AOT specific 42

Test and Profile Code Profile External Application 43 Profile external SWFs from Flash / Flex Builder. Profile Prospective > Profile > Profile External Application

AS3 Performance Testing Harness Grant Skinner bit.ly/as3performance Make sure to test optimization results. 44

Reuse Instances Reuse object instances Memory Allocation very expensive Reduces Garbage collection Reduces CPU / Initialization costs 45

46

47

Clean Up Clean up unneeded event handlers Remove unneeded Timer events and ENTER_FRAME handlers 48

Event Dispatching Can be very expensive Requires several memory allocations Consider using callbacks in CPU intensive areas 49

50

Mouse Events Can disable with mouseenabled mousechildren Don t use MouseEvent.MOUSE_MOVE Check Mouse position at interval 51

Can listen for MOUSE_UP MOUSE_DOWN events to toggle 52

Function Calls (AOT) Arguments are passed on the stack Reduce number of arguments AS3 Functions marked as final can be inlined Deep recursion can overflow stack Out of memory will terminate app This is AOT specific. 53

Adobe is also working on a number of ActionScript 3 performance improvements for both JIT and AOT compiled content. More info in the future. 54

Designing and Developing for the Multiscreen web Thibault Imbert http://max.adobe.com/online/session/362 55

Mike Chambers www.mikechambers.com twitter.com/mesh mesh@adobe.com 56 All links at : http://www.mikechambers.com/blog/2009/10/17/resources-for-learningmore-about-flash-to-iphone/

Baby Crying http://www.flickr.com/photos/bbaunach/1055569383/ Photo credit. 57