iOS成长的思考

1.已经做了几年的iOS了,就下定决心,记录自己的成长之路

  在这几年里从刚開始最主要的语言、界面、逻辑,再到后面复杂点的线程、数据处理、网络请求、动画,最后到最复杂的底层音视频、图像算法、自己定义各种效果、网络底层处理。甚至是最后的性能:neon、asm优化。感觉自己在iOS的开发中,每次都是雾里看花,明明非常接近真理却总是触摸不到。对iOS缺乏一种全局把控的感觉。所以我下定决定想看看iOS的一些官方文档,看看iOS的各个模块的层次结构究竟是怎么回事。

所以我在開始之前给自己打了非常多气。我想不管是iOS还是Android都是嵌入式设备。既然曾经是做最底层的,如今看看上层应该跨度不大,呵呵。

可是真正做的时候才发现。工作量真是太大了。所以最后调整了计划,仅仅对iOS中的三个最难的部分做深入的研究。

当然由于时间仓促。加之自己水平有限,有认识不清或者不到位的地方,还希望大家批评指正!

2、音视频、图像核心动画、网络处理

一般的clientAPP可能没有深入关注这点。但仅仅要想做一些有特点、做深入、做精致。我想这三个部分是不得不常常接触的。

按照框架,我重点关注了:media player, media accessibility, core image, AV foundation, image I/O,  openAL, core graphics, quartz core, core aduio, core video, openGL ES, cfnetwork

3 iOS:Audio&Video&FFmpeg

iOS原生API:

3.1 AVFoundation自己定义音视频频播放

3.2 OpenAl播放3D音效

3.3 Audio Queue音频队列原理解析

3.4 AudioUnit的理解与使用

3.5 Camera 从录制到播放流程解析

iOS 流媒体 软编解码及经常使用技术:

3.6 Mpeg-4|AAC 视频播放器

3.7 FFmpeg 解析for iOS

3.8 RTSP流媒体与HLS流媒体 for IiOS

3.9 图片合成视频,音频混频原理分析

3.10 实时滤镜特效处理

IOS硬编解码:

3.11 WAV|Mp4 文件格式解析

3.12 H264 解码基本原理及对IOS的支持

3.13 浅谈IOS硬编硬解

可能还不是非常全面,待我整理下资料再继续加入。

4 Image&Animation

图片动画处理部分:

QuartzCore.framework : 主要包含Core Animation 核心动画、CALayer也是这个框架以下的。

 

 

CoreGraphsic.framework:主要包含CGContext类、Quartz2d是一个画图引擎。由CoreGraphsic提供一组API。

 

OPENGLES:这个即使一个framework也是3D绘制引擎的名字。

主要用于3D画图。

以及高效的纹理贴图。

CoreImage:里面提供了丰富的图像处理、滤镜库。同一时候还有GPU加速功能。

 

这个环节我想从下面几个部分阐述:

4.1 QuartzCore 介绍各种炫酷动画:如PNChart图表重构

4.2 Quartz2d画图引擎的使用

4.3 OpenGLES 画图引擎的使用

4.4 IOS原生滤镜库介绍

4.5 armv7 内核(寄存器使用)

4.6 Neon、ASM(汇编优化)

5 NetWork

IOS的网络层次结构主要分为下面三个部分:

Cocoa层:NSURL(比較经常使用的)、NSStream、GameKit、WebKit、ASIHttpRequest(第三方框架)

Core Foundation:CFNetwork/CFNetServices、CFStream、CFSocket

OS:BSD Socket

这部分例如以下布置:

 5.1 Socket(从OS层到Cocoa层)不同情况下Socket的理解

5.2 利用Socket实现Http协议(估计5篇左右)

5.3 IOS对代理、离线缓存、CDN加速的理解

 

具体的,请看我的博客

 

posted on 2017-01-23 11:21  liandog  阅读(84)  评论(0)    收藏  举报