想学iOS开发先来听听这些建议

现在手机游戏占领了越来越多人的时间,在这个手机消费时代,手机游戏内的商机被不断的开发,从事手机游戏开发的人也越来越多,很多没有基础的学子们也想了解自己是否合适学习iOS开发技术,今天就让小编来和您分析一下吧。


首先来把初学者分几个类型:


A、对程序开发完全陌生,带着一点兴趣和高薪的期望


B、计算机相关专业应届毕业生


C、刚踏入IT领域就从事iOS开发,2年以下工作经验


D、有IT行业其他语言和平台工作经历,希望转入iOS开发领域


我们看一下这4种新人各自的优劣势:


A:想迈过这个门槛最艰难,需要付出最多,但突破后往往在未来最有潜力取得很好的成绩。为什么?第一:兴趣驱使;第二:对自己的认识会比较清晰,相对来说更愿意按部就班去系统的学习。


B:运气好的会在实习期间就接触到iOS开发,经过一段时间的磨练后变成C;底子差点的可能会选择全日制培训班,或者艰苦自学。相比较于A来说主要是学历上的优势,在专业基础方面,那就要看人了。


C:真的是非常幸运的一个群体,1年工作经验拿的薪资,可以秒杀很多3-4年其他IT领域的前辈,优势恰恰是最大的劣势,因为相当一部分人意识不到其实自己基础很薄弱,一味加强自己在iOS开发上的技能,缺少内功上的修炼。


D:最看好的一群人,特别是过去从事web端相关工作的(当然打酱油混日子的就不能算了),因为这是跟iOS端关系最紧密的一环,一旦转入iOS领域,将打通任督二脉。要克服的弱点呢,就是原有的一些惯性思维。


大家先对号入座一下


不管自己属于哪种类型,相信都有一个共同的目标,这个目标一个字可以概括:快。


1、快速做出自己想要的app


2、快速掌握能找到工作的必需技能


3、快速成长为大神,笑傲江湖


OK,有了目标,那接下来就是给自己安排学习路线:C语言、OC语言或Swift语言,学习UI组件,做小项目练手等等。


怎么开始学呢?


自学路线:买两本经典的书,找些免费的开发教学视频,学习大牛们写的代码,遇到疑问百度,上CocoaChina发帖。


土豪路线:花大价钱去培训班闭关数月。


学习的过程大概是这样的:


1、语言学习:掌握基础的语法、理解面向对象的概念、熟悉语言的特性(比如说OC语言的协议等)、学习使用工具类


2、UI组件:每个基础组件学习、使用多遍,做些简单的组合


3、学习使用一些开源组件:AFNetworking、SDWebImage等等


4、尝试去做一个项目,在解决无数问题和修复海量bug中成长


普遍的观念认为,你能不能学会,决定于以下几个因素:


1、是否花足够的时间理解、思考


2、有木有多动手敲代码练习


3、有木有认真去阅读理解优秀的开源代码


这个过程对每个人来说差不多,大家也都努力照着这个标准去学习,但能坚持下来的都是靠毅力磨出来的,过程那是相当艰苦,那能不能更高效有趣一些呢?


必须的,铺垫就这么多,现在开始主题:


一、先动笔,再动手


动笔干什么?浪费时间,还不如多敲两行代码。


别说新人了,很多现役中级程序员也会有这样的想法。


这里说的动笔,是指的去分析某个功能、某个页面,甚至是整个项目。很多人会是这样的:简单的不屑于分析,难的觉得分不分析都一样,写起来再说。要知道你建摩天大楼也好,简易小屋也罢,事先设计好都是必须的,即便玩泥沙,脑海里也应该有一个画面。除非同样的东西已经做过n遍了,闭着眼睛都能敲出来,不然先动笔,绝对会事半功倍。


二、培养创造力


这里说的创造力,不是头脑风暴异想天开那种~我们都玩过积木,几种不同的基础物件,通过不同的组合,可以搭出很多不一样的东西来。同样一张白纸,不同的折叠方式,可以折出不同的动物啦等等。


那iOS开发人员的创造力是什么呢?举个简单的例子,如果给你一个画点的函数,你肯定会画线、画方、画圆;如果给你一个显示文本的函数,是不是也可以用UIView来做一个山寨UILabel?任何复杂的UI,都可以分解成基本的元素,只是组合方式不同,计算的规则不同罢了。我们站在普通用户的角度看一下手机屏幕,不过就是一堆文字+图片。


当然,这里谈的只是思路,要真想做到挥洒自如,是需要配合一定训练的,具体怎么做,敬请期待~


三、融合知识点


高手和新手的区别在哪里?


高手和善于学习的人,他们的知识结构是有很强的关联性的,从中寻找一个解决方案非常快速准确。


而很多新手在学习中会停在一个点上,然后学下一个点时往往会和之前的毫无关系,这样知识点相对比较零散,当要用到某个技能点的时候搜索起来很困难,可能会在别人告知的时候:哦!这个我知道的,一时没想起来!


这一点理解起来应该不难,不过怎么才能做到呢?举个例子:假设你现在刚学会用UIButton,那跟UIButton相关联的是啥呢?有很多,1:它的父类UIControl,那你就开始去了解,哪些东西其实是从UIControl继承来的,以后如果只用到这部分的功能,是不是可以只用UIControl;2:UIButton里有图片,有文本,他们是怎么存的?进入UIButton头文件你会发现,是用了几个变量来保存。那在视图上是什么关系?推测一下,就是一个UIControl里AddSubview了几个元素。and so on。。


观察、提问、推测、证实,在学习过程中养成这样的习惯,将为你构筑稳健的知识结构。那对于开发人员来说,该怎么去观察,提出怎样的问题,其实也是有一定的套路的,详情敬请期待~


四、大胆尝试


经常有新人会来问:我这个代码这样写行不行?如果我说行,他会说:可是我觉得会怎样怎样。如果我说不行,他也会问:为什么?我觉得怎样怎样。好吧。。其实很多时候也就几句代码的事情,如果你花10分钟去思考和询问该不该做的问题,那不如花2分钟去尝试一下,保证不会怀孕啦。


那如果说是稍微复杂一点的功能,如果有了思路,也应该大胆的按照自己的思路去做,只有在这个过程中你才会发现更多没考虑到的东西,即使失败,这中间的收获也是超乎你想象的。


五、给自己找事


在没有图形界面的DOS年代(如果看不懂。。请百度DOS),学编程可比现在枯燥多了,怎么办?自己找乐趣。那个时候有一个练打字的游戏,英文单词从屏幕上方往下掉,在掉出屏幕下方前要输入正确才能消除,我们就照着模仿,枯中作乐。


现在学iOS开发,有趣的事情简直不能再多了,无论你处于哪个阶段,技能到什么水平,这世界只有不想写的程序,没有不适合自己练习的。


当然在学习iOS的时候,也并不是必须有基础,目前还达不到没有基础不能学的地步,你可以没有基础,但是一定要拥有去不断学习的热情,没有热情再简单的事情你也坚持不下来。不管是独立做个人开发还是打算参加培训提升自身的技能,如果没有足够的动力、没有满腔的热情,长期下去最后也难做精做好,还是不要学算了,浪费时间得到自己不想要的。

上一篇: 深度优化 iOS 网络模块

下一篇: 从零起步——10步成为专业iOS开发者

分享到: 更多