浅谈iOS学习之路
转眼学习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学习之路的更多相关文章
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- 浅谈iOS视频开发
浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ...
- 浅谈iOS中的userAgent
浅谈iOS中的userAgent User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串. 在公司产 ...
- 阿里封神谈hadoop学习之路
阿里封神谈hadoop学习之路 封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...
- 浅谈iOS多线程
浅谈iOS多线程 首先,先看看进程和线程的概念. 图1.1 这一块不难理解,重点点下他们的几个重要区别: 1,地址空间和资源:进程可以申请和拥有系统资源,线程不行.资源进程间相互独立,同一进程的各线程 ...
- 转:浅谈深度学习(Deep Learning)的基本思想和方法
浅谈深度学习(Deep Learning)的基本思想和方法 参考:http://blog.csdn.net/xianlingmao/article/details/8478562 深度学习(Deep ...
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...
- 浅谈iOS中MVVM的架构设计与团队协作
说到架构设计和团队协作,这个对App的开发还是比较重要的.即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Code有框架,其他的东西都是有框架的,比如桥梁等等神马的~在这儿就不往外扯了.一个好 ...
- IOS中 浅谈iOS中MVVM的架构设计与团队协作
今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
随机推荐
- 第3章 编写ROS程序-1
1.创建工作区和功能包 在我们写任何程序之前,第一步是创建一个容纳我们的功能包的工作区,然后再创建功能包本身. 创建工作区 使用标准的mkdir命令行去创建一个目录,我们将把这个新的目录称作工作区目 ...
- js的prototype的详解(1)
一.什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的.我们使用prototype属性提供对象的类的一组基本功 ...
- 开源:基于Android的室内定位WiFi,iBeacon数据采集和定位脚本
最近有同学联系我,也在一些群里看到有新手同学挣扎在怎么获取定位数据,不知从何下手.所以整理并开源这个基于Android的数据采集软件和基于python的KNN定位demo,算是为新手同学建立一个Bas ...
- MySQL学习中,遇到的问题记录
一.安装mysql时,报错:1045 原因:因为之前安装过mysql,之后再安装会出现这个问题. 解决: 删除之前的残留就好了 方法:清除mysql之前的历史残留
- Untiy ShaderLab 随手记录
最基本形式 (先不考虑Fog) Shader "Nafio/TUnlit"{ Properties { _MainTex("TT",2D) = "wh ...
- poj3186(区间dp)
题目链接:http://poj.org/problem?id=3186 题意:给一行n个数,每次可以取出行首或者行末的数,如果第ai是第i次取出的,可以得到ai*i的收益,求最大的总收益: 思路:区间 ...
- Codevs 1257 打砖块
1257 打砖块 http://codevs.cn/problem/1257/ 题目描述 Description 在一个凹槽中放置了n层砖块,最上面的一层有n块砖,第二层有n-1块,……最下面一层仅有 ...
- Hadoop安装包下载方法
Hadoop3.0版本的诞生,引入了很多新功能,为了验证Hadoop2.0与3.0版本的性能,需下载Hadoop的不同版本.故下文演示如何下载Hadoop安装包的方法. 1. 进入Apache Had ...
- Linux命令 查看Linux版本和是否联网
1.查看Linux内核版本 1.1 $ cat /proc/version [heima01@heima01 ~]$ cat /proc/version Linux version 2.6.32-57 ...
- Python web前端 11 form 和 ajax
Python web前端 11 form 和 ajax 一.打开服务器 将handlers.py.httpd.py和libs.py三个文件放入新文件夹中,双击打开httpd.py文件即可 二.ajax ...