美文网首页
2019-12-27一个iOS高级工程师需要掌握的知识

2019-12-27一个iOS高级工程师需要掌握的知识

作者: 飞哥漂流记 | 来源:发表于2019-12-27 15:11 被阅读0次

    1. 高级C语言 C++的语言

      C语言是iOS开发的语言(Objective-C)基础,在iOS开发培训的课程中也会涉及到。需要强调的是并不是要同学们都要精通C/C++,而是要掌握iOS开发中要用的的C/C++的核心内容。

    2. OC语言 Swift语言

     Objective-C是iOS开发的标准语言,也是为众多iphone开发工程师所公认的标准,需要同学们重点掌握。Swift语言目前是苹果极力推出的开发语言,据说执行效率更快 所以也需要掌握

    3.iOS SDK Xcode 集成开发

    iOS SDK是iOS开发的核心,在这一部分,同学们除了要掌握Xcode的精髓,更重要的是掌握Instruments、iOS simulator、Printer simulator、Accessibility inspector、Filemerge、Application loader等iOS开发工具。

    4.数据持久化

      大家都知道iOS中有4种持久化数据的方式:属性列表、对象归档、SQLite和Core Data,在APP开发过程中,对于数据的要求很高,持久化技术可以自动优化,以减少对数据库的访问量,提高APP程序运行效率;

    5.多线程开发

      多线程开发是特别需要重点精心的工作,即便你是有多年开发经验的工程师也是如此。为了能让初级iOS开发工程师也能使用多线程,同时还要简化复杂性。建议在尽可能的情况下避免直接操作线程,使用比如NSOperationQueue这样的机制。Operation objects、GCD、Idle–time notifications、Asynchronous functions、timers、Separate processes等;

    6.iOS 设计模式

      MVC、KVO、Notification、Target…action、Sigleton、Delegate等这些都是在iphone应用程序开发过程中需要了解的iOS设计模式。

    7.网络编程

      网络编程是学习iOS开发所必须掌握的编程技巧,这里涉及到同步、异步、Http、 Htpps、Socket 、前后台交互等;在这一部分处理的规范程度,直接影响到苹果AppStore的审核。

    8.UI编程

      iOS开发过程中,大部分的APP都是采用多视图设计来完成的。例如单视图控制器、多视图控制器等等。在iOS游戏开发过程中、我们还有用的常用的游戏物理引擎比如可以跨平台的COCOS2D-X或者Unity3D,BOX2D等;

    9.操作系统

    iOS内存管理和调优

    iOS的文件系统和沙盒机制

    iOS多线程编程(Thread,GCD,NSOperation)

    iOS网络和服务器编程(NSURLConnection,NSURLSession)

    iOS系统的各种安全机制

    10.网络编程

    iOS网络发送机制调整和优化(NSURLSession)

    Socket编程

    网络传输中的各种保障

    对传输协议的调整优化

    11.数据库,持久化方案

    常规持久化方案(Keychain,NSUserDefaults,Sqlite,CoreData)

    数据库的使用和设计(Sqlite)

    数据结构优化,Sql调优

    12.图形图像编程

    UIKit,Core Animation和Core Text的绘制

    Core Graphics, Quartz 2D, Media Player, AV Foundation

    OpenGL ES, GLKit, SpriteKit, SceneKit, Metal

    13.数据结构,算法

    基本的算法和数据结构(排序搜索算法, 数组, 队列)

    较复杂数据结构的灵活应用(二叉树, 图等)

    复杂的专项算法(图像识别算法, 拓扑定位等等)

    14.安全方案

    本地数据存储安全(Keychain)

    授权和身份验证

    传输安全(对称, 非对称, SSL)

    App代码安全

    15.业务能力

    一般性业务功能需求分析及实现

    重要业务模块的需求分析及实现

    中小规模产品的架构,系统设计和实现

    大规模产品或产品线的架构,系统设计和实现

    平台级产品的架构,系统设计和实现

    16. 跨平台开发 React Native  Flutter

    17. iOS高级开发书籍 :http://blog.sina.com.cn/s/blog_12ec09c9c0102wnxw.html

    相关文章

      网友评论

          本文标题:2019-12-27一个iOS高级工程师需要掌握的知识

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