美文网首页
iOS做了四年业务代码,还想继续码UI吗?

iOS做了四年业务代码,还想继续码UI吗?

作者: dabing233 | 来源:发表于2019-09-29 19:51 被阅读0次

    今年是做iOS开发第四个年头,大部分时间是从事界面,数据请求、解析,写了一大堆的业务代码,技术却没有很大的提高。
    虽然也抽了时间学习了下Swift,RAC,RN等.然后对JavaWeb,H5,JS等也有了小小的入门。本人打算还是深耕iOS,如果和我有相同的想法却不知道该怎么开始的朋友,可以试着研究几个方向。

    网上找的一张很不错的系统架构图

    架构图

    使用频率

    • 红色部分:经常使用
    • 黄色部分:使用一般
    • 淡绿部分:偶尔使用
    • 绿色部分:极少使用

    可以从这三个方向入手

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

    1.Audio&Video&FFMpeg

    先看相关的结构图

    音频处理结构图 多媒体结构图

    越往上层,功能封装越单一,同时可以我们自己定制的功能就越少。比如在AudioUnit我们可以控制硬件Buffer大小,可以将解码之后的音频数据:变声、混频、加密、波形展示,做各种我们想要的效果,但最上层就没有这些丰富的API。

    iOS原生API:
    • AVFoundation自定义音视频频播放
    • OpenAl播放3D音效
    • Audio Queue音频队列原理解析
    • AudioUnit的理解与使用
    • Camera 从录制到播放流程解析
    iOS 流媒体 软编解码及常用技术:
    • Mpeg-4|AAC 视频播放器
    • FFMpeg 解析for IOS
    • RTSP流媒体与HLS流媒体 for iOS
    • 图片合成视频,音频混频原理分析
    • 实时滤镜特效处理
    IOS硬编解码:
    • WAV|Mp4 文件格式解析
    • H264 解码基本原理及对IOS的支持
    • iOS硬编硬解

    2. Image&Animation

    图片动画处理库
    • QuartzCore.framework : 主要包括Core Animation 核心动画、CALayer也是这个框架下面的。

    • Core Graphics.framework:主要包括CGContext类、Quartz2d是一个绘图引擎,由Core Graphics提供一组API。

    • OpenGL ES:第三方框架 这个即使一个framework也是3D绘制引擎的名字。主要用于3D绘图。以及高效的纹理贴图。

    • Metal:🍎力推的框架支持GPU硬件加速、高级3D图形渲染以及大数据并行运算。且提供了先进而精简的API来确保框架的细粒度(fine-grain),并且在组织架构、程序处理、图形呈现、运算指令以及指令相关数据资源的管理上都支持底层控制。其核心目的是尽可能的减少CPU开销,而将运行时产生的大部分负载交由GPU承担

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

    • GPUImage 适合视频的第三方滤镜方案

    3.NetWork

    网络层次结构图

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

    • Cocoa层:NSURL(比较常用的)、NSStream、GameKit、WebKit、ASIHttpRequest(第三方框架)
    • Core Foundation:CFNetwork/CFNetServices、CFStream、CFSocket
    • iOS:BSD Socket

    这部分从下面调查:
    Socket(从OS层到Cocoa层)不同情况下Socket的理解
    利用Socket实现Http协议
    iOS对代理、离线缓存、CDN加速的理解

    未完待续...

    相关文章

      网友评论

          本文标题:iOS做了四年业务代码,还想继续码UI吗?

          本文链接:https://www.haomeiwen.com/subject/cgslyctx.html