转眼学习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. 利用 druid 的 sql parser 模块解析 sql 语句

    druid 是阿里开源在 github 上面的数据库连接池,里面有一个专门解析 sql 语句的模块   源码位置: https://github.com/alibaba/druid SQL Parse ...

  2. 解决ubuntu下filezilla登录ftp看不到中文目录和文件的问题 (转载)

    转自:http://blog.csdn.net/duguteng/article/details/7716283 打开filezilla 文件-站点管理器-新站点--字符集--使用自定义的字符集 ,填 ...

  3. Android开发中,那些让你觉得相见恨晚的方法、类或接口

    Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[],而在StackTraceElement类中有四个方 ...

  4. .net过滤器重写beginrequest

    在J2EE Web开发中有过滤器filter,该filter可以对指定的URL访问进行拦截,并执行过滤器的方法,根据实际应用情况,在过滤器中修改请求的代码.判断会话信息,也可以做权限控制,总之这个过滤 ...

  5. Flutter起步之安装

    官网有介绍的这里就不说,主要有几个步骤: 镜像设置 下载flutter SDK(更新系统环境变量PATH,先不要运行flutter doctor,因为你还没有装android sdk和编辑器) and ...

  6. echarts3.0 实例容器不实时更新页面的问题

    var instanceId = document.getElementById(option.echartId).getAttribute('_echarts3_instance_'); if (i ...

  7. Maven项目编译版本的问题和Spring中没有导入核心包

    idea中maven项目的编译: 方案1:maven的settings.xml中指定全局默认编译版本 <profile> <id>jdk-1.8</id> < ...

  8. 关于spring mvc的配置文件

    1. Web.xml <!--配置页面控制器--> <servlet> <servlet-name>spring</servlet-name> < ...

  9. bzoj 5337 [TJOI2018] str

    bzoj 5337 [TJOI2018] str Link Solution 水题 直接 \(f[i][j]\) 表示以第 \(i\) 位为结束位置,当前已经匹配了前 \(j\) 个氨基酸的方案数 使 ...

  10. Jquery树形控件 $.fn.zTree.init

    https://www.cnblogs.com/jin-/p/4646202.html asp.net 树形控件 $.fn.zTree.init 在网页中通过jquery脚本来构筑树形控件将是一个不错 ...