iOS 书单 以及学习资料

今天有人问我平时都看什么书,大概整理了一下,其实大部分除了推荐也都是经过查询之后才决定去买的,如果自己不知道看什么那就看看别人的呗。下面是我入手的或者说看过的资料,按照纸质和电子来划分。

实体书:

一、Objective-C 相关

1、《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》
(公认的 Objective-C 神书,大概以熟悉 Objc 、运行期、 API 设计、协议与分类、内存管理、GCD、系统框架等方面介绍和深入 Objc 这门语言,并且对命名以及代码规范有很好的建议,很多 tips 非常实用。)

2、《iOS 内存管理与多线程》
(这本书也看完好久了,对于 block、内存管理有深入的介绍,并且模拟出实现,对于多线程大概介绍了下 Api 和执行顺序吧,因为具体底层怎么做的我也不是很清楚,可能我还是没看懂..)

二、设计模式相关

**1、《Head First 设计模式》
(后来看了这一本,感觉这本书解释的东西更清楚一些,更适合入门吧,不过这本书是用 Java 描述的,可能有些东西和 iOS 中不太一样,不过问题不大,看的是思想,个人感觉入门的话, 这本书好一点。)

2、《大话设计模式》
(本人认为这是一本非常不错的设计模式入门书籍,很巧妙的解释了 GoF 的23种设计模式,这本书是用 C# 写的,不过很容易看懂,到底还是编程语言的嘛.. 并且对 开放-封闭、李氏替换、依赖倒转、以及迪米特法则阐述的通俗易懂。并且对于每一个设计模式都用一个故事的方式来描述,并不乏味。入门佳作哈。)

3、《Objective-C编程之道:iOS设计模式解析》
(这本书我犹豫了一下,是放在 Objective-C 相关,还是放在设计模式相关呢?最后我还是决定放在设计模式相关下。这本也是公认的神作,虽然说编程语言是想通的,但有些细节处理上还是不同的,这本书讲解设计模式在 Objective-C 这门语言中是怎样使用的,而且介绍了很多系统的架构,许多设计模式的实现让人眼前一亮,看完之后你就会了解,为什么系统的代码要那样写,要那样用,以及在原有的设计模式上做了如何的改进。建议 Objective-C 的人开发者一定要看。)

4、《重构-改善既有代码的设计》
(这本书买了还一直没看过,希望有时间可以深入学习一下,是公认的神书了。)

三、算法与数据结构相关

算法与数据结构一直是我的一块心病,上学的时候没有好好学习,工作中又很少设计到复杂的算法(Cocoa 以及很多第三方库封装了很多很好的算法…),但是我还是下定决心要学习的!!个人认为算法与设计模式是编程的灵魂,也许学算法到最后就会得出那个结论– 数学万岁!!
本人打算从下个月开始学习算法与数据结构,对于这方面的书也买了很多,欢迎大家一起讨论。

1、《算法导论》
(公认的算法圣经,却很少有人看的懂这本书.. 数学思想及其浓重,数学不好的,就别看了,我就看了一章就不看了..想回去看高数 :( 。)

2、《数据结构与算法分析 C 语言描述》
(也是公认的一本比较好的算法书籍了,也有人说这本书不适合入门,适合进阶..刚开始看了点,后来因为迷上了设计模式……半途而废了..)

3、《啊哈!算法》
(个人感觉和大话的风格很像,入门之选,看了一章左右,具体给不出评价,不过我准备以这本书入门算法,按照 3 -> 2 -> 1 的顺序学习算法与数据结构,不奢望成为大神,只要小有所成就可以了.. 还有一本 《大话数据结构》 的大话系列,我没有买,大家感兴趣的可以看看,毕竟算法数据结构不分家)

4、各种数学 (给个统称哈)
(就在昨天,我托朋友把大学的所有 有关数学的书都买了一套… 包括高数、微积分、线性代数、概率等等.. 为深入学习算法,培养数学式的思想做准备….)

5、《陶哲轩实数分析》
(在此感谢 @行走的时空 大大向我介绍这本书,我也在半年后买下了这本,但是我发现我的书籍已经有点多了,而且之前看过的好多书的内容也忘了好多,等看完数学,再来看看这本。)

四、C 相关

1、《 C 程序设计语言》
(一本 C 语言的权威书籍,之前别人想学习编程的时候我给的推荐,在给朋友讲解的时候,看了两三章的样子,… 个人有向底层开发的意愿,想要深入学习 C 或者底层实现的人可以看看,这本书包括一本习题,一并买了吧,对于我们程序员来说,一本书花不了几个钱。)

2、《C 语言程序设计现代方法》
(感谢 @Delpan 渣神介绍这本 C,这本 C 看起来确实比 《C 程序设计语言》更轻松一些,介绍的也很全面,还有对规范的介绍等,(PS: 第一本我看了一半左右,来看的这本),绝对是 C 语言的好书)

3、《C 和 指针》

(这本书算是指针进阶的一本书吧,很惭愧,我也只看了两三章的样子,后来因为一些事情,暂时搁置了..)

4、《C 语言深度剖析》

(如果您是靠 C 语言吃饭的,想成为 C 语言专家,那么这本书您一定要看看,很多细节,还有一些上面那些书没有讲解的知识点,排疑解难、点睛之笔。)

五、网络相关

1、《图解 TCP、IP》
(日本经典的计算机网络书籍,个人看了100页左右的样子,以后慢慢看,学习不能着急不是。这本书,用图解的方式,让人很容易理解计算机的通信,以及深入的介绍了各种网络协议,推荐学习,不带国仇家恨哈,学习无国界。)

2、《王道xxx》

(我也在等王道 18 年的书了,还没看过,提及一下…)

六、工具相关

1、《 iOS 开发进阶》
(巧神的书,这本书我个人觉得工具类以及 AppStore 的相关知识介绍相当不错,广度也是我们提升技能的一种么,其 Core Text 讲解比较深入…)

七、系统相关

1、《深入理解计算机系统》
(号称是所有技术人员都应该读的一本书,不过据说不是很好啃,买来暂时没看,这本书也被我列在必读列表中)

2、《OS X与 iOS 内核编程》
(如果您对于底层非常的感兴趣,可以读读这本书,还可以尝试着做一些驱动程序等。)

八、Cocoa 相关

1、《AVFoundation 开发秘籍》
(这本书我也是刚刚买的,也还没看,最近大批量的清理了下购物车…对于播放器知识的 API 介绍和讲解,据说比官方文档好啃,我对这方面不是很熟悉,最近视频类技术也很火,就买了一本。之前作者一直比较倾向于啃文档…还没有看, 不多介绍了。)

2、《iOS 编程实战》(iOS 7)
(这本也是公认的进阶书籍了,介绍了很多 iOS 7 相关的内容、系统框架,以及一些非常实用的编程技巧,有很多你很可能不知道的特性,非常全面,内容翔实。PS: 我没有买 iOS 6 的那本,感兴趣的同学可以买一本看看,我认为技术应该在满足工作的前提下向前看,除了底层实现原理外,否则技术不是学会去了?不喜勿喷。)(PS: 之前这个分类有点问题,这个不应该属于 Objc 语言层面..)

电子版资料:

介绍了实体书籍,来说说我常看的电子资料吧..

一、电子书

1、《禅与Objc 编程艺术》
(有中文,也有英文原版,对于代码规范以及一些日常编程的一些小技巧。着实好书。下面是链接:)
中文版
英文原版

2、《The Swift Programming Language》
(有一段时间,我疯狂的迷上了 Swift 这门语言,无论是值类型、可选类型还是对函数式的支持,都让人着迷,知道我发现 Swift 是打包到程序包上的,导致程序包变大…估计等到 iOS 10 应该就好了….这本是苹果官方的权威文档,在 iBooks 就可以下载的到,入门级..中文也有翻译,忘记是哪个版本来着,也有一段时间没看了.. 附上链接)

中文版 (又更新了好多…)
英文原版 (注意,这个链接不是直接跳到这本书的链接, 而是上一层,有想学习的同学,也可以看看苹果官方给 Swift 弄的博客。别问我怎么下载,我真的懒着回答..)

3、《Swifter – 100 个 Swift 必备 tips》
(由 喵神 出品,针对熟悉 Swift 的同学,介绍实用的 Tips,看看大牛是怎么写代码的..这本书我买了,看了大概100多页不到200页的样子,讲解的都是一些你可能不知道的、更简单易读高效的代码技巧,并且持续更新中,等到 Swift 3.0 估计 喵神 要辛苦了.. 出于版权原因,这里给出购书链接,希望大家尊重作者。)

购书地址

二、技术博客以及教程

1、Objccn
(本着“为中国 Objective-C 社区带来最佳实践和先进技术”的主旨,每期一个话题更新,源于很多国外的大神的文章,讨论的东西很广,也很细腻,对于技术提升我觉得应该把这个网站放在第一位。)

2、Apple 开发文档
(除了 Apple 本身不愿意说的东西,这个是最权威的了,英文不好的,拿起你们的有道,别说看不懂,只有看与不看。我可以给出一个看文档的一个建议,比如说我要用 Photos 框架来做个自定义相册,我可以先找到 User Experience 这样一个示例工程,然后再一点一点深入。)

3、NSHipster中文版
(Mattt 大神的个人站,底层知识全面深入,还有许多有趣的编译器优化等等.. 上面是中文版,原版地址nshipster英文原版。如果你不知道谁是 Mattt, 你一定知道 AFN….)

4、Raywenderlich 教程系列
(广受好评的 iOS 教程网站,同时 Raywenderlich 也出品许多书籍,不过价格不菲,而且我的书堆的也比较多了….看完上面的书,相信我会入手这些 洋书 的,据说质量相当高,感兴趣可以买一本看看。就说书来着…这个网站你可以查询到很多有用的教程,比如 Colin Eberhardt 的 ReactiveCocoa 两部曲; i like it 国际化 等等。遇到新的功能,我都会来这个网站上查一查。)

5、Github
(开发者都知道的..我列出来的理由是,github 这个网站上有很多质量超高的轮子,一般超过1000颗星,就可以说很了不起了,而且一般星星高的比较喜欢维护自己的代码,如果是淘宝买的星星,就滚蛋吧…我一般用来找一些比较复杂一点的控件或者 Domo,有的时候项目急,在这个上面找到一些好东西完全可以用,但是用了之后,你最好要看明白这个轮子,以便除了什么问题,你可以快速定位,还有就是用之前先看看 issure,如果遇到了别人也遇到的问题,心里有个底。)

6、Stack overflow
(戏称程序员交友圣地。 有问题?来这里查吧。 什么?查不到? 那你提问啊,回答的人还是比较多的。我一般有什么疑问,都会到这个网站上查,几乎都能找到遇到相同问题的人,也几乎都有答案,不过有的答案似乎不是那么负责,最好测试验证下。)

7、Reactivex
(这个是响应式编程的一个范式,不只是 Cocoa 还有类似 Java等语言,感兴趣可看。)

**8、Blogs **
(这个我真的有点不想写了,国内的国外的技术大牛太多了,相信大家也比较熟悉,比如喵神、Sunnyxx、唐巧、虾神、雷纯峰、Casatwy……等技术大牛们的博客相信大家早已耳熟能详,多看看别人的博客,别人的经验真的是对自己很大的提升。)

结束咯

洋洋洒洒写了这么多,还真有点累… 这些就是我主要的学习资料了,其他的一些东一块西一块的,一时也想不起来。今儿就到这里吧。

I’m Chris , an iOSer .

    原文作者:Chrisss
    原文地址: https://www.jianshu.com/p/6986555c38a3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞