IPhone In Action 读书笔记
1章介绍,2-9章web,10-20章sdk(sdk tools)
mac os基于unix发展
480*320 像素输出屏幕。
wifi→EDGE(Enhanced Data Rate for GSM Evolution,增强型数据速率GSM演进技术,最大220kbps)→3G(384kbps--1000kbps)
web开发工具 iui http://code.google.com/p/iui/(web库) ,dashcode(IDE)
safari不支持java,flash.
1.4.1 web视图是980px缩放的效果?
Chrome头所占比率
带url 不显示url
竖向 26% 13%
横向 35% 16%
作者倾向横向,Chrome头可以通过动态显示解决。
没有鼠标的概念,也没有滚动条。
第六章介绍了canvas
第九章初步介绍了 objectC
支持类方法(静态方法)
消息类似于方法
更加明确的演绎MVC模式
限制:
不能下载非sdk代码(这导致java不能运行在iphone上)
必须经过用户允许才能获得用户位置
不能进行实时路由引导
不能包含ip voice功能
开发者需要证书才能提交程序,但是apple可以回收此证书(如果不喜欢你开发的程序)
ios架构:
10.3.1
大部分将UI操作会和Cocoa Touch打交道,但是也有要使用ObjectC类的情况,这就在Core Foundation(类名以CF开头)之上了。
Cocoa Touch包含 UIKit(类名以UI开头)和Foundation(类名以NS开头)
16章讲了sqlite,包含数据类型转换的内容。
这部书主要讲应用程序,没有讲游戏相关。
第十九章讲图形 Quartz 2D,openGL等
Quartz 2D建立在老的Core foundation之上??
三个概念context,pathes,state
cocos2d是封装的openGL,也用到了quartz 2D
Quartz默认的坐标系是从右下到左上,与Cocoa Touch整好相反。如果你不是使用Cocoa Touch创建context,就要认为坐标原点是右下。
图context保存为堆形式(先进先出)
19.4.4图形变换
19.4.5 状态管理 save,restore.--和canvas2d像吧
高级2D:梯度,图片处理,画字
19.7 动画介绍
19.8 OpenGL ES(Embded System)
EAGL is Embedded AGL(Apple's OpenGL extensions for OS X.)
openGL通过EAGLView操作,也就是UIView的CAEAGL层。
Xcode提供了OpenGL的模板,默认设置了它的参数,只要在EAGLView的drawView方法里写你的代码就行了。
详细见apple文档OpenGL ES Framework Reference,里面也有示例。