转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这两年的路,既有开心,又有无奈,也有激情。行了,废话少说,我写这个随笔的目的就是谈一下这两年的心路历程和技术分享,大家多交流。

我第一家公司是一家创业公司,做酒店O2O,也是我刚毕业后的第一家公司,基本上我所有学到的东西都是在这家公司自学的,刚开始其实也是怎么实现怎么来,随着对iOS的理解加深,自己慢慢的将app重构了,对于一个没什么经验的工程师来讲,重构app这个是要到后期才考虑到得问题,其实作为一个软件工程师来讲,我觉得进步分为三个阶段:

1.第一年:以实践为基础,不断的去学习iOS知识,多做项目,慢慢深入的了解OC以及OC底层。随着对iOS开发的经验的累积,做的项目的不断增多,这一年的经验足够让你觉得你已经入门了。

2.第二年:不仅仅局限在实现方式上,而是在实现方式的同时提供更加合理的解决方法,试想一下,别人几行代码搞定了一个功能,而你却需要十几行甚至更多,那我觉得就可以out了,多看源码,深入了解源码的实现原理,这个期间是我们要学习解决对于app的整体的性能优化与安全问题,这几天在看念茜的博客nianxi.net是关于iOS安全问题的,写的很深刻,我觉得这是第二阶段应该做的事。

3.第三年:app架构问题,两年的实践足够你去理解,思考和实验开发这个工作了,不断学习知识的同时应该思考app架构的问题了,毕竟不想当架构师的程序员不是好程序员,iOS应用架构谈 开篇 - Casa Taloyum这篇文章对于iOS架构有着很好的阐述,一定要好好看一下。

这是我觉得作为一个iOS程序员三年的大规划,毕竟做什么事都不是一蹴而就的,必须慢慢的积累,做一个有计划的程序员。

附:我是怎么样学习iOS的?

我的iOS学习计划:

1.每天必须认真读一些大牛的blog,在这我推荐一些大牛的blog

tangqiaoboy/iOSBlogCN · GitHub 唐巧列出的大牛博客

2.一周阅读一套源码,我想一周的时间足够你去理解一些基础的第三方框架了把。

3.最重要的还是要阅读官方文档,毕竟所有的东西都是根据官方的来的,我看的时候吃力,毕竟也是四级都没有过的人,只有看不懂的有道了。

我写的大部分都是很宏观的,毕竟第一次写这些,以后会逐渐改善,慢慢的细化,愿大家相互学习,共同进步,希望这些可以帮新开发者理清楚一些计划。

http://www.cnblogs.com/maiyacheng/p/4487621.html

浅谈iOS学习之路(转)的更多相关文章

  1. 浅谈iOS学习之路

    转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...

  2. 浅谈iOS视频开发

     浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...

  3. 浅谈iOS中的userAgent

    浅谈iOS中的userAgent   User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串. 在公司产 ...

  4. 阿里封神谈hadoop学习之路

    阿里封神谈hadoop学习之路   封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...

  5. 浅谈iOS多线程

    浅谈iOS多线程 首先,先看看进程和线程的概念. 图1.1 这一块不难理解,重点点下他们的几个重要区别: 1,地址空间和资源:进程可以申请和拥有系统资源,线程不行.资源进程间相互独立,同一进程的各线程 ...

  6. 转:浅谈深度学习(Deep Learning)的基本思想和方法

    浅谈深度学习(Deep Learning)的基本思想和方法  参考:http://blog.csdn.net/xianlingmao/article/details/8478562 深度学习(Deep ...

  7. IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路

    在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...

  8. 浅谈iOS中MVVM的架构设计与团队协作

    说到架构设计和团队协作,这个对App的开发还是比较重要的.即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Code有框架,其他的东西都是有框架的,比如桥梁等等神马的~在这儿就不往外扯了.一个好 ...

  9. IOS中 浅谈iOS中MVVM的架构设计与团队协作

    今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

随机推荐

  1. uva1423 巧用拓扑排序

    对于一个序列 a1 a2 ... an 我们可以计算出一个符号矩阵A, 其中Si,j 为 a1+...+aj 的正负号,(连加和大于0则Sij=+ 小于0 Sij=-  等于0 则Sij=0), 根据 ...

  2. jmeter -xml日志格式中网络时间与服务器时间的区分

    在 LR 中是有一个“网页细分图”的,通过这个图,你可以比较容易的区分哪些请求的响应时间最长,如果响应时间过程,是消耗在server处理的时候,还是消耗在网络传输过程中——也就是所谓的 Server ...

  3. Linux 查看系统所有用户

    grep bash /etc/passwd Linux 查看系统所有用户

  4. Python3基础 print 自带换行

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. linux下递归删除指定后缀名的文件

    以删除当前目录到所有子目录下的后缀名为rej的文件为例: find . -name "*.rej" |xargs rm -f

  6. js的原型继承

    <script> //动物(Animal),有头这个属性,eat方法 //名字这个属性 //猫有名字属性,继承Animal,抓老鼠方法 function Animal(name){ thi ...

  7. Tinkoff Challenge - Elimination Round D. Presents in Bankopolis(区间DP)

    http://codeforces.com/contest/793/problem/D 题意:给出一些点和他们之间的距离,是有向的,这些点从1~n顺序排列,现在选出k个点组成一条路径,使他们之间的距离 ...

  8. springboot 日期类型处理

    1. 日期类型输出参数处理 默认日期格式只支持:2017-07-01T10:10:01 修改为2017-07-01 10:10:01 只需要修改配置文件即可: spring: jackson: dat ...

  9. HashMap put方法

    HashMap的put方法执行过程可以通过下图来理解,自己有兴趣可以去对比源码更清楚地研究学习. ①.判断键值对数组table[i]是否为空或为null,否则执行resize()进行扩容: ②.根据键 ...

  10. JSP 点击量统计

    JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...