我的iOS进阶计划

作者: 欧大帅Allen | 来源:发表于2018-08-14 06:20 被阅读428次

    一:思维导图总结,几大高级开发面试问题;

    二:具体难点问题,看书、敲代码、分享……深入理解;

    三:每个模块再细分计划,各个击破;


    高级需要掌握哪些模块?

    各个模块需要看哪些书、博客、文档?

    一:UI

    重写与封装Core Animation,UIDynamics

    二:网络

    NSOperation,GCD

    TCP,UDP

    Base64

    JSON/XML 

    HTTP

    Socket

    蓝牙

    三:性能优化

    Time Profiler

    内存管理

    Instrument

    使用 (Analyze)和 (Profile - Instruments)工具优化内存

    四:计算机基础

    数据结构,算法,编译原理

    数据结构,算法

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

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

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

    图解HTTP、图解TCP/IP

    CSAPP(深入理解计算机系统)

    五:测试

    iOS自动化测试的那些干货

    https://blog.csdn.net/hello_hwc/article/details/60957515

    六:架构

    设计框架:MVC,MVVM

    设计模式:单例、工厂、代理、观察者

    组件化方案分析及应用

    网络缓存层搭建方案及应用

    MVVM与Controller瘦身实践

    https://blog.csdn.net/Hello_Hwc/article/details/73089418

    《Pro Objective-C Design Pattern for iOS》

    iOS 21种设计模式之抽象工厂(Abstract Factory)

    https://blog.csdn.net/Hello_Hwc/article/details/50202675

    七:系统类库

    Core Data,Cocoa Touch(Foundation,UIKit)

    八:第三方库

    开源库(AFNetworking,SDWebImage,fmdb),开源控件(EGOTableViewPullRefresh,MRProgress)

    微信、容联云IM、JPush、支付、高德地图

    Masory、SDWebImage、MBProgressHUD、FMDB、MJRefresh、IQKeyBoard

    CocoaAsyncSocket

    iOS开源库源码解析之SDWebImage

    https://blog.csdn.net/Hello_Hwc/article/details/51404322

    iOS开源库源码解析之AsyncDispalyKit

    https://blog.csdn.net/Hello_Hwc/article/details/51383470

    IOS常用第三方类库

    https://blog.csdn.net/sugar_i_love/article/details/51305649

    iOS 项目源码大全 github 国内外大神

    https://blog.csdn.net/qq_30513483/article/details/53159169

    iOS超全开源框架、项目和学习资料汇总(1)UI篇

    iOS超全开源框架、项目和学习资料汇总(2)动画篇

    iOS超全开源框架、项目和学习资料汇总(3)网络和Model篇

    https://www.jianshu.com/p/c59698c249e5

    图像处理

    GPUImage无疑是这方面的集大成者了。用OpenGL ES2.0来实时处理图片和视频流,性能和功能都是顶尖的。

    开发和调试工具

    PonyDebugger看上去是一个不错的调试工具,可以在电脑浏览器上远程调试iOS程序、查看试图层次、网络等等。CocoaLumberjack是个Log工具,号称是可以提供企业级Log,使用者也挺多。

    EGOTableViewPullRefresh

    九:底层原理

    Runtime,Runloop,msg_send,hittest,respond chain

    KVO

    KVC

    Block

    十:进阶书籍

    《Objective-C高级编程:iOS与OS X多线程和内存管理》

    《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》

    这本书(Rob Conery)和这本书(Gayle Laakmann McDowell)可能是我发现提升你的技能的最好工具。虽然它们只是表面上的,但它将为今后的学习奠定基础。

    《iOS.Animations.by.Tutorials.v2.0》(这是Raywenderlich出版的一本关于iOS动画的书。)

    《iOS Core Animation: Advanced Techniques》(这本书同样是介绍iOS动画,但是侧重于介绍CALayer等各种原理行的东西。)

    《HTTP权威指南》(如果想弄懂iOS中的网络相关知识,强烈推荐先看一下这本书,绝对事半功倍!)

    《iOS网络高级编程》(Professional IOS Network Programming)

    《Cocoa设计模式》(设计模式平时在工作中用到的总是那两三种,单例,代理。)

    《OS X与iOS内核编程》(了解iOS背后的东西)

    《官方文档》电脑上,手机上下个Dash(现在iOS版的Dash已经开源),没事的时候看看,挺好。

    《WWDC回顾》

    《精通iOS开发》Cocoa 库使用

    《iOS编程实战》完善,实用的 Cocoa 库使用说明,也包含少部分 Objective C 的特性介绍

    《iOS Auto Layout 开发秘籍》Auto Layout 介绍,解释和使用说明

    《Objective-C基础教程(第2版)》基础的 Objective C 知识

    《Objective-C编程全解》完善的 Objective C 语言讨论,可以看做是 Objective C 的语言分析,各种原理类的描述

    《iOS开发进阶》

    《iOS测试指南》

    《Swift编程权威指南》【有电子版】(NEW !)

    《精通iOS开发(第8版)》(NEW !)

    《Swift基础教程(第2版)》【有电子版】

    《从零开始学Swift(第2版)》

    《Swift iOS开发小书》(只提供社区电子版)

    《Swift与Cocoa框架开发》【有电子版】

    《精通Swift设计模式》

    书籍大致分为四类:计算机基础类、入门类(不同语言的入门类书籍)、应用提升类(不同语言或框架)、提升类书籍(例如剑指offer)

    十一:独立开发一个App

    十二:语言

    C/C++/Objective-C/Swift

    HTML5,CSS,JavaScript,jQuery,Java

    十三:框架

    熟练使用Interface Builder,理解ReactiveCocoa框架理念,阅读源码;

    理解Restful Api概念,会使用Restkit,进行网络资源传输;

    iOS系统架构和常用框架

    https://blog.csdn.net/bobo553443/article/details/78666760

    十四:代码管理和优化

    使用Git、SVN进行版本控制管理;

    命名规范、编码习惯、测试标准

    十五:功能开发

    数据存储:plist,FMDB,NSUserDefaults,归档,序列化、反序列化,SQLite3,CoreData

    音视频媒体:AVFoundation,FFMpeg

    目标    ——   

    十大必读书籍

    《Objective-C高级编程:iOS与OS X多线程和内存管理》

    《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》

    《HTTP权威指南》

    《iOS网络高级编程》

    《Cocoa设计模式》

    《OS X与iOS内核编程》

    《官方文档和WWDC回顾》

    《Swift编程权威指南》

    《精通Swift设计模式》

    《Swift与Cocoa框架开发》

    十大资深技术博客

    筑梦师Winston

    https://www.jianshu.com/u/c6b20dcdeb81

    Leo的专栏

    https://github.com/LeoMobileDeveloper

    https://blog.csdn.net/Hello_Hwc

    刘小壮

    https://www.jianshu.com/u/2de707c93dc4

    OneV's Den  王巍(喵神)

    https://onevcat.com/#blog

    唐巧的博客

    http://blog.devtang.com

    破船之家

    http://beyondvincent.com

    NSHipster

    https://nshipster.cn

    limboy, 一个程序员、设计师、创作者,钟爱精良的产品,闲暇时喜欢翻看各类书籍,偶尔也会写点文章。目前就职于蘑菇街,主要负责无线基础相关的事情。

    http://limboy.me

    Kevin Blog

    http://zhowkev.in

    一只魔法师的工坊

    https://blog.ibireme.com

    sunnyxx的技术博客

    http://blog.sunnyxx.com/page/2/

    bang's blog

    http://blog.cnbang.net

    阿毛的蛋疼地

    https://xiangwangfeng.com

    向晨宇的技术博客

    http://www.iosxxx.com

    老谭笔记

    http://www.tanhao.me

    郭晓东的专栏 - IT工匠——只为更精致的产品

    https://blog.csdn.net/hherima

    daiyelang的专栏

    https://blog.csdn.net/daiyelang

    标哥-iOS攻城狮

    https://blog.csdn.net/woaifen3344

    树下老男孩

    https://www.jianshu.com/u/811a70f4726a

    汉斯哈哈哈

    https://www.jianshu.com/u/368a8cd349af

    iOS音视频

    https://www.jianshu.com/u/9913981cb400

    J_Knight_

    https://www.jianshu.com/u/3dd433cb3ea1

    VV木公子

    https://www.jianshu.com/u/93131dfba96a

    sindri的小巢

    https://www.jianshu.com/u/0cf7d455eb9e

    十大第三方库源码分析

    AFNetworking

    SDWebImage

    FMDB

    MJRefresh

    YYModel

    HXPhotoPicker

    ZFPlayer

    CocoaAsyncSocket

    XMPPFramework

    框架:nimbus、BeeFrameworkReactiveCocoa

    十大高级iOS知识点

    MVC、MVVM框架

    设计模式

    KVO、KVC、Block

    GCD、NSOperation、NSThread

    内存管理

    Runtime,Runloop

    TCP/IP、HTTP、Socket

    plist、FMDB、NSUserDefaults、归档、序列化/反序列化、SQLite3、CoreData等数据存储

    FFMpeg、音视频媒体

    十大github关注学习

    Leo

    LeoMobileDeveloper

    https://github.com/LeoMobileDeveloper

    Phodal Huang

    phodal

    待我代码编成,娶你为妻可好

    https://github.com/phodal

    halfrost

    halfrost

    天道酬勤,勤能补拙。博观而约取,厚积而薄发。 

    https://github.com/halfrost

    文明

    zhengwenming

    https://github.com/zhengwenming

    Story5

    Story5

    https://github.com/Story5

    个人模块具体时间安排?

    我的3-5年的个人规划,从初级开发到高级开发,再转型专注于做产品到做一个真正的创业者。

    一:从离面试最近的开始复习,比如先看《面试之道》这本书,把高级必须掌握的KVO、KVC、Runloop、Runtime、设计模式、框架等等都先掌握,好一边面试一边发现自己的不足,包括技术上的不足和自我认知的不足。同时学习别人的博客和开源项目,自己要从用轮子,到自己模仿造轮子这个目标来突破。

    二:从计算机基础来突破,比如对HTTP的理解,C/C++语言基础,算法,数据结构等等。                                                                                                                                                           

    三:往全栈工程师发展,语言:Java、Swift、H5、PHP、JS等等,安卓,web前端,后台,产品,UI都要会。

    四:在产品经理这条路上走,开始独立或者寻找志同道合的人一起开发小而美互联网的产品,做有内容有深度有意思的产品,而不是仅仅是为了赚钱,要追求人性之善而不是人性之恶。

    做好计划,要开始实施了。先做个预计的时间。心里有个底,大概多久能成为高级开发。现在心里估计!看本《面试之道》里面都有很多知识不懂,Swift不懂,OC的基础和算法都很差,这本书搞懂,理解透我估计都要一个月。然后再发散其他iOS高级知识点,突破5个难点的话,一个两周,也要两个月,相当于就是突破基础就要三个月。再加上架构,设计模式,第三方源码分析,至少还得三个月,如果再研究视频框架,底层原理,算法,数据结构难点,还得三个月。再学安卓,后台,web,UI,产品,一门至少三个月才能到入门的水准,我先就学入门水准的话差不多了吧!!!这样算下来,实现我的高级开发的目标,大概的时间是 ——  25个月,也就是说至少得两年的时间:

    1:《面试之道》面试常见问题分析 1个月

    2:iOS高级难点突破5个 3个月

    3:架构,设计模式,第三方源码分析 3个月

    4:FFmpeg,算法,数据结构,HTTP,底层原理 3个月

    5:安卓入门 3个月

    6:后台入门 3个月

    7:web和小程序 3个月

    8:UI设计,PS 3个月

    9:产品设计 3个月

    相关文章

      网友评论

      本文标题:我的iOS进阶计划

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