浅谈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.最重要的还是要阅读官方文档,毕竟所有的东西都是根据官方的来的,我看的时候吃力,毕竟也是四级都没有过的人,只有看不懂的有道了。
我写的大部分都是很宏观的,毕竟第一次写这些,以后会逐渐改善,慢慢的细化,愿大家相互学习,共同进步,希望这些可以帮新开发者理清楚一些计划。
http://www.cnblogs.com/maiyacheng/p/4487621.html
浅谈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的架构设计与团队协作
今天写这篇文章是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇文章的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
随机推荐
- 78. Subsets(回溯)
Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The sol ...
- 32Sql数据库的插入
上一节讲了数据库的连接,本例直接将数据库的插入操作,重点还是QSqlQuery类 QSqlQuery query; //新建二维表 query.exec("CREATE TABLE stud ...
- Educational Codeforces Round 56 Solution
A. Dice Rolling 签到. #include <bits/stdc++.h> using namespace std; int t, n; int main() { scanf ...
- centOS下升级python版本,详细步骤
1.可利用linux自带下载工具wget下载,如下所示:( 笔者安装的是最小centos系统,所以使用编译命令前,必须安装wget服务,读者如果安装的是界面centos系统,或者使用过编译工具则可跳 ...
- Refactoring #001 Extract Method
Example public void startup() { ServerSocket serverSocket = null; try { serverSocket = new ServerSoc ...
- bzoj1630 / bzoj2023 [Usaco2005 Nov]Ant Counting 数蚂蚁
Description 有一天,贝茜无聊地坐在蚂蚁洞前看蚂蚁们进进出出地搬运食物.很快贝茜发现有些蚂蚁长得几乎一模一样,于是她认为那些蚂蚁是兄弟,也就是说它们是同一个家族里的成员.她也发现整个 ...
- 在JAVA可移植性的来源的三方面
软件可移植性的概念是与软件从某一环境转移到另一环境下的难易程度.为获得较高的可移植性,在设计过程中常采用通用的程序设计语言和运行支撑环境.尽量不用与系统的底层相关性强的语言.下面介绍JAVA的可移植性 ...
- shell脚本中多个条件判断的语法
if [ "$content" = "hello" ]\ || [ "$content" = "kitty" ] the ...
- When should I use OWIN Katana?
When should I use OWIN Katana? 解答1 In asp.net WebApi v2, the OWIN pipeline becomes the default. It i ...
- hdu 4549 M斐波那契数列 矩阵快速幂+欧拉定理
M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Problem ...