转载

2017,我的iOS进阶规划

2017,我的iOS进阶规划

原文

去年的11.11号我正式开始了我的程序员生涯,成为了一个iOS程序猿,到现在已经一年多了。

一年时间说长不长,说短也不短,之前我对自己2016年的目标也没有什么规划,毕竟作为一个半路出家,刚入行的菜鸟来说,懂的实在是太少,我也不知道这一年里面我需要往哪个方向努力,需要掌握一些什么技术,反而是有点好高骛远了,想要什么都会,swift,js,python都学了一段时间,游戏也看了一下,但是都没有坚持学下去。还好现在我的目标还算是明确,确定了先专心在iOS方面有所突破,进阶。

最近这段时间,一直危机感非常重,一个是iOS最近的行情确实是不太好,经常看论坛里面或者朋友出去找工作的,都是怨声载道,简历上没有写个两三年经验的都没面试。另外一个是一年下来,虽然学会的东西不多,但是也深刻感受到了,需要学的东西太多,毕竟我的起点比别人晚太多。经常想着如何快速的突破这个瓶颈,让自己的技术达到一个新的阶段,但是又无从下手。这也让我非常焦虑。

其实有时候”当局者迷“,很多时候我总是想有没有捷径,别人做开发两年三年,而我需要找到一个捷径在一年或者更短的时间里面赶上他们。但是这显然是不行的。我能做的只能是脚踏实地,花更多的时间在学习上面,落后的就用时间来追赶吧。

在一年的工作中,也算是有了一些小小的经验,所以现在也能够明白自己需要努力的方向,这段时间我也按这个这个方向在走着。2016马上结束了,我也给自己的2017进行了一些规划,虽然一直说”计划赶不上变化“,但是仍然是需要计划的,也算是督促自己的一种手段吧。

写这些是想给自己一些动力,也可以给跟我一样有些焦虑的iOS小白一些参考,或许我的进阶计划,对你也能有所帮助。

有一句话我很喜欢:

种一棵树,最好的时间是十年前,其次是现在。

现在,我要开始种树了。

1.读书计划

人丑就该多读书。。网上很多关于iOS进阶的书籍推荐,根据我自己想读的,我列出了几本,有些我已经看过了,但是都是笼统的看了一遍,我需要的是精读,所以,今年我决定每读一本书就写一篇读书笔记来记录分享,而不是过目就忘。

  • 编写高质量iOS与OS X代码的52个有效方法 (Effective Objective-C 2.0)

这本书介绍了一些OC的语法技巧,runtime,内存管理等方面的知识,确实很不错,陆陆续续算是看了一遍,但是都没有认真记录,所以趁着2016还没有结束,我打算再认真的看一遍这本书。非常推荐!

  • iOS与OS X多线程和内存管理(Pro Multithreading and Memory Management for iOS and OS X)

这本书详细介绍iOS的内存管理,不厚,200多页好像,之前也算读过一遍,不过是过目就忘,但是不妨碍我认为这本书绝对算是想要学习iOS内存管理,block的最好的书,没有之一。 重点推荐!

  • iOS.Animations.by.Tutorials.v2.0

这是 Raywenderlich 出版的一本关于iOS动画的书,Raywenderlich的书是真不错,基本上每一本都是精品。不管是入门的书或者是进阶的书,强烈推荐去Raywenderlich的网站里面找找你想要学的。今年花了不少时间在动画学习上面,但是如果有时间,这本书我想我应该要再认真读一遍。

  • iOS Core Animation: Advanced Techniques

这本书同样是介绍iOS动画,但是侧重于介绍CALayer等各种原理行的东西,Raywenderlich的书则侧重在实践上面,各取所需吧,但是如果想要深入了解iOS动画的实现,这一本看完,基本没问题,推荐!

  • HTTP权威指南

这本HTTP权威指南我一直都想找时间读一遍,可惜每次都是读了一点点就进行不下去了。但是就是这一点点我也认为对我帮助非常大。如果想弄懂iOS中的网络相关知识,强烈推荐先看一下这本书,绝对事半功倍!

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

这本书我没看过,网上有人推荐,因为我也想深入了解一下iOS的网络知识,所以先列入清单。

  • Cocoa设计模式

设计模式平时在工作中用到的总是那两三种,单例,代理,我想这方面也是我的弱项,需要补一补了。

  • OS X与iOS内核编程

这本书同样是网上有人推荐的,如果我能把上面所有的书读完,我想我会更加深入的想要了解iOS背后的东西了,不过这本书优先级我应该会放在最低。

2.官方文档阅读

其实,最好的学习方法还是读官访文档,因为大部分的书里面的知识都是来自官方文档,之前我总结了一些我想要看的文档,有些已经看过了,不过列在这吧,有需要的可以看看。官方文档一般都不厚,几十页左右,看的也比较快,虽然列表这么长,不要怕。电脑上,手机上下个Dash(现在iOS版的Dash已经开源),没事的时候看看,挺好。

View Guide

  • View Programming Guide for iOS

  • Scroll View Programming Guide for iOS

  • Table View Programming Guide for iOS

  • Collection View Programming Guide for iOS

  • View Controller Programming Guide for iOSCore Animation Programming Guide

  • Animation Types and Timing Programming Guide

Language

  • Objective-C Runtime Programming Guide

  • Blocks Programming Topics

  • Memory Management Programming Guide for Core Foundation

  • Key-Value Observing Programming GuideException Programming Topics

  • Error Handling Programming Guide

Foundation

  • String Programming Guide for Core Foundation

  • Attributed String Programming Guide

  • Collections Programming Topics for Core Foundation

  • Number and Value Programming Topics

  • Core Text Programming Guide Text Programming Guide for iOS

  • Archives and Serializations Programming Guide

  • Networking Concepts

  • Networking Programming Topics

  • URL Session Programming Guide

  • Threading Programming Guide

  • Apple URL Scheme Reference

  • WebKit DOM Programming Topics

  • Stream Programming Guide

Graphics

  • Quartz 2D Programming Guide

  • Core Image Programming Guide

  • Image I/O Programming Guide

  • OpenGL ES Programming Guide for iOS

  • Photo Capture Programming Guide

Media

  • AVFoundation Programming Guide

  • Audio Session Programming Guide

Other

  • App Programming Guide for iOS

  • Core Data Programming Guide

  • Date and Time Programming Guide

  • App Search Programming Guide

  • Local and Remote Notification Programming Guide

  • File System Programming Guide

  • Resource Programming Guide

  • Bundle Programming Guide

  • Property List Programming Topics for Core Foundation

  • Document Picker Programming Guide

  • App Extension Programming Guide

  • Document-Based App Programming Guide for iOS

  • Document Interaction Programming Topics for iOS

  • Address Book Programming Guide for iOS

3.开源代码学习

从开始做iOS,就一直十分羡慕那些在github上面开源的大神,iOS也有很多大神开源了许多项目。我一直没搞懂大神开源一个项目的过程,也一直没有去认真研究过哪个大神的项目。所以我选了三个(暂时只想弄懂这三个)我非常想学习的项目,准备仔细的去研究一下他们的源码,去看看大神们写代码的思路和了解一些我不懂的知识。目标就是每个项目写一篇学习笔记。

  • AFNetworking

  • SDWebImage

  • YYKit

4.WWDC回顾

想要学一个知识点,其实还有一个非常好的方法,就是看WWDC的视频。不过由于有中文字幕的比较少,可能看起来也有些费劲,最近在地铁上空闲的时间也看了几部WWDC的视频,感觉非常不错,电脑上的话,可以到github上的这个开源项目WWDC for macOS去下一个软件,速度很快,看起来也不错,在空闲时间看一看,肯定能有所收获。争取把想学的几个知识点的WWDC的视频都补上来吧,以前都从来没看过。。是一个不合格的iOS开发者啊。

5.项目

作为一个iOS程序猿,肯定会经常冒出一些想法,想要自己做一个App。我也有好多想法,但是到现在一年了也没做出来一个真正属于我自己的App,也算是有些遗憾啊。明年准备买一个开发者证书,现在已经在做和有想法的有两个小的项目,都是我想做出来自己用的,如果感觉不错的话,应该会上架,这两个项目一定要完成!这也是一个非常重要的目标。

总结

有目标才有动力,列了这么多计划,希望2017过一个充实的生活,也希望2017过完回头看的时候,我这些目标都能完成!

原文  http://www.cocoachina.com/programmer/20170122/18604.html
正文到此结束
Loading...