5 Ways iOS is better and worse than Flash
-
Upload
arpit-mathur -
Category
Technology
-
view
2.347 -
download
0
description
Transcript of 5 Ways iOS is better and worse than Flash
5 Ways iOS is better and worse than Flash
Arpit MathurPhiladelphia Flex User Group
Some introductions…Software Engineer at Comcast Innovation Labs
Flash/Flex developer for 5 years
Experience with very different UI technologies including Java Swing/AWT, SWT, JavaScript/DHTML, etc
Developer on the XfinityTV Application
Setting the stage
Xcode ~ Flex Builder
Interface Builder ~ Flash IDE
Objective C ~ ActionScript
Core Graphics ~ flash.graphics.*
Core Animation ~ TweenLite / fl.transitions.*
XIBs ~ Flash Symbols
UIKit ~ Flex / Fl Component Framework
iOS Application Architecture
Views(UIViews)
XIBs
View Controllers(UIViewControlle
r)
Application(UIApplicationDelegate
)
Models
Quick Example
The Good
#1: Enforced MVC
UIView
UIViewController
#2: NSNotificationCenter
#2: NSNotificationCenter
BEWARE OVERUSE !!!
#3 User Interface Experience Framework
#3 User Interface Experience Framework
“Make Designing the right way the path of
least resistance.”
#4 Animation Blocks and Core Animation
Core Animation
Layer Backed (cache’s the last appearance of the view)
Potentially thousands of layers
Filters, Transitions
OpenGL backed
Don’t clip to bounds by default!
While animating, it’s the cached image that’s moving around. So unlike Flash, you cant interact with it.
#5 Objective C Gravy
Class + Interface Declarations
Enums
Messaging null objects (mixed feelings)
Key Value Observing (a-la AS2 watch)
The Bad
#1: Device Provisioning
http://www.bunnyhero.org/2011/02/21/an-ios-dev-comic/
#2: No guaranteed constructor
Init
InitWithNibName
InitWithFrame
InitWithRect
InitWithCoder
#3: Memory Management
Object
Copy Retain
Assign
#4: Touch Event Propagation
#5: Tooling
Device testing against multiple OS versions
Interface Builder craziness
Window management
.proj file conflicts
Folders in Xcode
Download size
Linkshttp://goo.gl/ZBsYC
Thanks
Twitter: @arpit
Blog: http://arpitonline.com/blog/