iOS开发必要的技能 !

作者: XLsn0w | 来源:发表于2016-08-23 23:24 被阅读803次

    1. 语言基础

    无论哪种开发,都离不开程序语言的学习。Objective-C是iOS的官方语言,更是学习和理解iOS开发的基础。万丈高楼平地起,将OC学得透彻最起码需要了解C语言基础、Object-C的基础、OC运营时的特性、面向对象的概念、Protocol/Block/Category、内存管理等等。

    另外,作为一个基础扎实的iOS工程师,熟悉swift也非常重要,swift或许是一个将来要替代OC的语言。

    2. 界面开发

    曾经有人这么说过,在iPhone里你看到的,摸到的,都是UIView,所以UIView在iOS开发里具有非常重要的作用。下面几个问题你能够回答出来吗?

    1、怎么使用constraint来控制UIView?

    2、UIVIew里的哪些属性变化可以用动画来呈现?

    解决这些问题需要对界面开发的深入了解。初级的界面开发中,工程师需要至少需要完成一个APP页面,深入了解各类界面元素是如何使用的,以及各界面元素间是如何进行复杂的布局排列,以下是需要这部分需要核心技能:

    · 常用控件使用

    · 常用 UIViewController 容器使用

    · 布局基础 (手动布局和 AutoLayout)

    · App 生命周期

    · 事件响应流程

    · 简单手势

    进阶的界面开发中,工程师为了实现“产品级”优秀的交互体验、独特的动画效果,提供更多丰富的功能,需要了解手势与事件、绘制、动画等进阶技术,以及音视频、相机相册、定位、运动等等常见iOS特性的实现。

    动画

    · UIView Animation

    · CAAnimation

    绘制

    · CoreGraphics

    · QuartzCore

    · OpenGL ES

    音视频

    · Audio Toolbox

    · CoreAudio

    · MediaPlayer

    缓存

    · 通用缓存实现

    · 网络缓存

    学习基本的界面设计也是很必要的,了解了基本的设计以及Sketch的使用。iOS Human Interface Guide也是开发之前的必读书。

    3. 并发编程

    “UIButton 工程师"和真正合格的 iOS 开发工程师有什么区别?一个优秀的iOS工程师需要了解文件存储、线程管理等知识,了解如何合理存储用户数据,如何合理使用线程模型,如何高效发起网络请求。并发编程部分的核心技能主要有一下3点,你是否都了解透彻了?

    · GCD(GCD 和 block 的配合使用)

    · NSOperation(NSBlockOperation和NSInvocationOperation的使用)

    · Runloop(利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能)

    4. 工程相关

    无论是企业开发人员还是独立开发者,在需求、交互、视觉、开发一系列的步骤后,都会面对APP的测试、优化、上线、版本更新的问题,一个优秀的iOS开发者在面对这方面问题的时候,就需要有工程相关的知识,保证我们开发的APP能够长期运行,高效优化。这部分我们必须了解的内容有以下几部分:

    · 常用第三方库

    · 版本管理工具和常用工作流

    · 第三方库管理工具

    · debug 技能

    · 性能调优

    · 单元测试

    相关文章

      网友评论

      • 指尖猿:敢问作者,你是把github上的源码给删除了吗? XLsn0wLoop
        指尖猿:@XLsn0w 坑啊,,大佬,我项目里面用了你的第三方..同时pod的时候,去看github一看居然没了:joy:
        XLsn0w:@指尖猿 https://github.com/XLsn0w/XLsn0wKit_objc/tree/master/XLsn0wKit/XLsn0wComponents/XLsn0wLoop
        XLsn0w:@指尖猿 都集成在XLsn0wKit_objc库里面了 可以pod install这个 里面有loop

      本文标题:iOS开发必要的技能 !

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