转眼学习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.最重要的还是要阅读官方文档,毕竟所有的东西都是根据官方的来的,我看的时候吃力,毕竟也是四级都没有过的人,只有看不懂的有道了。

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

浅谈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. 第3章 编写ROS程序-1

    1.创建工作区和功能包 在我们写任何程序之前,第一步是创建一个容纳我们的功能包的工作区,然后再创建功能包本身. 创建工作区  使用标准的mkdir命令行去创建一个目录,我们将把这个新的目录称作工作区目 ...

  2. js的prototype的详解(1)

    一.什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的.我们使用prototype属性提供对象的类的一组基本功 ...

  3. 开源:基于Android的室内定位WiFi,iBeacon数据采集和定位脚本

    最近有同学联系我,也在一些群里看到有新手同学挣扎在怎么获取定位数据,不知从何下手.所以整理并开源这个基于Android的数据采集软件和基于python的KNN定位demo,算是为新手同学建立一个Bas ...

  4. MySQL学习中,遇到的问题记录

    一.安装mysql时,报错:1045 原因:因为之前安装过mysql,之后再安装会出现这个问题. 解决: 删除之前的残留就好了 方法:清除mysql之前的历史残留

  5. Untiy ShaderLab 随手记录

    最基本形式 (先不考虑Fog) Shader "Nafio/TUnlit"{ Properties { _MainTex("TT",2D) = "wh ...

  6. poj3186(区间dp)

    题目链接:http://poj.org/problem?id=3186 题意:给一行n个数,每次可以取出行首或者行末的数,如果第ai是第i次取出的,可以得到ai*i的收益,求最大的总收益: 思路:区间 ...

  7. Codevs 1257 打砖块

    1257 打砖块 http://codevs.cn/problem/1257/ 题目描述 Description 在一个凹槽中放置了n层砖块,最上面的一层有n块砖,第二层有n-1块,……最下面一层仅有 ...

  8. Hadoop安装包下载方法

    Hadoop3.0版本的诞生,引入了很多新功能,为了验证Hadoop2.0与3.0版本的性能,需下载Hadoop的不同版本.故下文演示如何下载Hadoop安装包的方法. 1. 进入Apache Had ...

  9. Linux命令 查看Linux版本和是否联网

    1.查看Linux内核版本 1.1 $ cat /proc/version [heima01@heima01 ~]$ cat /proc/version Linux version 2.6.32-57 ...

  10. Python web前端 11 form 和 ajax

    Python web前端 11 form 和 ajax 一.打开服务器 将handlers.py.httpd.py和libs.py三个文件放入新文件夹中,双击打开httpd.py文件即可 二.ajax ...