这可能是最详细的iOS学习入门指南(含书目/文档/学习资料)

[中文教程]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看156 回复回复2 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 156|回复: 2
收起左侧

[中文教程] 这可能是最详细的iOS学习入门指南(含书目/文档/学习资料)

[复制链接]
young 发表于 2016-9-25 00:16:02 | 显示全部楼层 |阅读模式
快来登录
获取优质的苹果资讯内容
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
订阅梳理好了的知识点专辑

零基础小白如何进行 iOS 系统学习?
入门后如何进阶,进而成为资深的 iOS 专家?
iOS 开发者的能力图谱是怎么样的?
想要走向专家级别,需要怎样的知识体系?
网易阿里等互联网公司需要怎样的 iOS 人才?
……

这些问题恐怕是想要入行 iOS 或者初入行1-3年的开发同学经常碰到的,今天我邀请到了网易移动技术团队负责人张平,从这五个问题的角度来为大家答疑解惑。

这可能是最详细的 iOS 学习入门指南(含书目/文档/学习资料)

这可能是最详细的iOS学习入门指南(含书目/文档/学习资料) - 敏捷大拇指 - 这可能是最详细的 iOS 学习入门指南(含书目/文档/学习资料)

张平 | 网易移动技术团队负责人
多年浏览器内核、JavaScript 解释器研发经验;负责过多款 APP和一些基础 SDK 的研发;热爱优秀的编程语言。




1、零基础小白如何进行 iOS 系统学习

首先,学习目标要明确;

其次,有了目标,要培养兴趣,经常给自己一些正面的反馈,比如对自己的进步进行鼓励,在前期小步快走;

再次,学技术最重要的一点就是多动手。


推荐书目:
《Objective-C 基础教程》
《iOS 编程》
《iOS 开发指南》

推荐两个开源的 APP:SegmentFault、懒人笔记




2、基础入门后,如何进行高级进阶



2.1、原理和基础:掌握扎实的原理和基础是进阶的必要条件

首先是语言。入门时候可能只要对语言看得懂,会写即可。但是在进阶阶段,看懂会写是远远不够的。

这个时候,编码规范就很重要,我们不能随心所欲的写,推荐书目《Effective Objective-C2.0》。

除此之外,我们还需熟练掌握Objective-C Runtime。我推荐的素材有http://opensource.apple.com/source/objc4/ ,这门语言比较好的是它开源,所以我们可以去看它的源码。

第二是苹果的这篇文档:Objective-C Runtime Programming Guide ,我们可以仔细去阅读。从我自身经历来看,对 Objc_msgSend 实现细节的理解程度很大程度上反映了我们对 Objective-C Runtime的掌握程度。再推荐大家一篇文档 The Swift Programming Language ,苹果官方的文档,大家可以反反复复去看。



2.2、iOS GUI 学习

我听到有些人说 GUI 学习太简单了,我随便看看能刷几个页面就可。还会有这样一种说法,GUI 的代码太难看了。

我个人十分重视 GUI,我认为这是真正挑战的地方,因为这能真正反映我们的熟练程度,是否真正懂得其背后的设计原理。

APP Guide:
l  View Programming guide
l  View Controller Programming Guide
l  Event Handling Guide
l  Drawing and Printing Guide
l  Core Animation Programming Guide



2.3、Xcode学习

工欲善其事,必先利其器。在我看来,Xcode 就是这个器,因此需要十分重视。

Apple Guide:
| Xcode Overview
| Xcode Project Management Guide

关于 Xcode 的流程,我们需要清晰的知道 Xcode 编译、链接、打包的流程,配置和 Xcodeconfig的操作。另外,还需知道 Xcode 管理多工程、多 Target。还需熟练使用 cocoapods、plugin。当然,IIvm 调试工具也是必不可少的。



2.4、网络

理解 NSUPLConnection、NSURLSession、NSURLProtocol

Apple Guide:
| URL Loading System Programming Guide
| Introduction to CFNetwork Programming Guide



2.5、多线程

推荐书目《Objective-C 高级编程 iOS 与OS X多线程和内存管理》,这本书的特点是透彻,全面。

Apple Guide:
| Concurrency Programming Guide
| Threading Programming Guide



2.6、逆向安全(了解层面)

《iOS 应用逆向工程》对我们去了解逆向这些事情和应用的保护是很有帮助的。

Apple Guide:
| Keychain Services Programming Guide



2.7、学习资源

| WWDC Session
| Objc.io

此外,优秀的开源库也值得我们学习,如:

| SDWebImage
| AFNetworking/Restkit
| Facebook的三个库:AsyncDisplayKit / POP / ReactNative
| ReactiveCocoa




3、iOS 能力清单



3.1、GUI

自定义 UI、熟悉 UI 渲染机制
掌握基本排版机制,掌握 AutoLayout
熟悉事件传递机制,自定义手势
掌握基本动画,动画原理



3.2、Controller

熟悉基本 ViewController 使用、transition
熟悉 MVC 等设计模式



3.3、熟悉常见网络库使用

熟悉 NSURLConnection, NSURLSession, NSURLProtocol, AFNetworking, 熟悉 Cache, cookie 管理



3.4、熟悉 Sqlite 使用,熟悉常见 ORM 系统设计和实现,熟悉系统常用本地存储机制

熟悉 CoreData, sqlite, UserDefault



3.5、熟悉多线程消息传递,同步机制,线程池设计和实现

掌握NSOperation、GCD 、Runloop 机制和实现



3.6、熟悉音频、视频基本概念,熟悉相关系统接口

熟悉拍照、录像等相关接口



3.7、编程语言

熟悉 C/C++、Objective-C、Swift



3.8、性能优调

熟悉移动端常见性能问题和解决方案:主线程 CPU 密集操作,主线程 IO 操作,排版、渲染耗时
网络性能分析和调优 (《Web性能权威指南》)
熟练使用Instrument进行性能调优



3.9、安全

熟悉常见 iOS 应用安全机制(keychain,codesign),熟悉常见应用数据保护机制
熟悉常见加解密算法
熟悉 iOS 逆向与安全




4、走向专家的知识体系

内功而非招式,更看重基础的掌握。所以,我们需要加强自身实际的能力,主要包括:

l  数学基础
l  操作系统
l  程序的编译上,链接与加载,推荐《程序员的自我修养》
l  ARM体系架构,推荐ARM体系结构与编程》
l  学习多范式的编程语言
l  设计模式
l  计算机网络
l  数据库




5、企业需要怎样的 iOS 人才

| 大公司更看重基础,成长性
| 技术热情
| 系统学习的能力
| 听说能力
| 敢于承担、敢于挑战

都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 收起 理由
Anewczs + 10 推送上首页了~分享到朋友圈微博QQ空间吧~.

查看全部评分

我是90后 发表于 2016-9-26 01:00:05 | 显示全部楼层
mark
Caesar 发表于 2016-9-28 18:41:00 | 显示全部楼层
混大拇指社区就可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表