Iphone SDK Tools = {Xcode + instruments + Dashcode + iphone simulator}
编码 进程管理 编译 模拟器
架构 | Core OS | Core Services | Media | Cocoa Touch |
| 核心系统层 | 核心服务层 | 媒体层 图形技术 音频技术 视频技术 | 界面层 UIKit framework Addressbook framework Addressbook UI framework Core location framework |
iPhone = phone + ipod + net
★ Xcode 简单、高效、强大(only on Mac os x 10.5)
Iphone managemen | coding | Building & debugging | analysis |
Interface builder | simulator | instruments |
程序员:编码,调试……耐心
★ Cocoa Touch
Cocoa Touch 面向对象编程 | MVC模型(Modal + View + Controller)
Objective-C / Objective-C++ / Objective-C 2.0 C based 类C语言
UIKit framework 控件
★ API函数
CoreOS/kernel/ Core Frameworks /Media/Application Frameworks/Native Applications
MAC OS X 10.5 Cocoa | Iphone Cocoa Touch | ||
AppKit | NSView NSControl | UIKIT
| UIView UIControl |
Foundation
| NSString NSArray NSObject | Foudation | NSString NSArray NSObject |
类
★ Media
UIKit Graphics 、Quartz 2D 、Core Animation 、OpenGL ES 、Media Player、Core Audio
UIKit { UIImage UIImageView UIColor UIFont/UILabel UIScreen }
QUartz 2D { 平面图形} iPhone 480 X 320
Core Animation { 动态效果} 图层 主要类CALayers CAAnimations
OpenGL ES { 3D } GPU图形处理器
Media Player Framework { 调用内置视频播放器} MPMoviePlayerController
Core Audio API(Audio Services、Audio Queue Services、Audio File Stream Services )
OpenAL 3D音效的高级API函数
★ 利用系统资源
联系人 、Photos 、Camera 、网络连接 、开放的URLs 、Bonjour
★ Designing Applications for iphone
Design Required { hand input手写输入+ Compact Screen + 单任务处理 + …}
思想:1. Implementation solutions,not features.
2. Easy to use digital photo editing,organizing,and sharing for casual and
amateur photographers.
3. Iphone os 是简化版的Mac os x。
4. Ease of use—simple and straightforward is best.
5. Ensure Consistency.
6. Surprise and Delight.
★ iPhone Application Development
1. Design Great Performance, By Design. Limitsed Real Estate/ simple /单
任务
2. Memory PNG Optimization、Plist conversion、Thumb内存不足—重启
->Instruments工具 、内存回收、低内存警告
3. Responsiveness 20s限制 launch and Quit
4. Power
5. Security Sandboxing
★ Designing for iphone
Static Device information {System name / System Version / Model / Name}
Unique ID Orientation
Dynamic Device information
Acceleration Data UIAccelerometer xyz轴
Location Data GPS / WiFi / gprs
★ SDK for Web Developers
1. Advanced JavaScript
getElementsByClassName / Selectors API W3C CSS3
2. CSS Effects
CSS Transforms / CSS Transitions / CSS Animations
3. Offline Data
HTML 5 / JavaScript API / SQL Syntax / Transaction Support / Secure
4. Gesture Events
工具 Iphone Simulator 、 Dashcode