南昌IOS培训
达内南昌中心

0571-56020830

热门课程

iOS开发程序员如何快速成长?

  • 时间:2018-04-24 10:56
  • 发布:叶孤城
  • 来源:简书

本篇文章简书粉丝超过1.w的叶孤城老师授权发布,教导大家成长的文章,虽然是iOS方向, 但其他语言方向实则一样!

做难做的项目

当时正在快乐的当一只小菜鸡的我沉浸在了解了delegate原来是回调的意思正充满着满满的幸福感的时候,被产品告知必须完成以下几个功能.

完成类似于vine的短视频录制功能和画中画(我记得当时vine的版本只到1.X),而且AVFoundation什么的完全没听过.

完成City Guides里的地图动画.(如果有不清楚这个的去appstore下一个国家地理杂志出的City Guides,你可以观摩一下地图的交互设计)

做一个扇形的menu,开启和闭合的动画参考真实世界的扇子打开和收起.

TableView的background用实时动态模糊效果(当时是iOS6.0,完全不知道动态模糊大概是什么样的)

寻找不规则范围里的所有基于GPS的搜索结果.(当时我们有个创意是用户随便用指头上一划,我们提供这个区域内的所有相关搜索结果).

所有的东西在两个月内完成.

结果是,不管完成度如何,我在两个月后东拼西凑都给他弄出来了.

通过找短视频录制,我知道了AVFoundation,视频剪辑.

通过模仿CityGuides的地图,我知道了他们的地图是用一个叫做mapbox的第三方地图做的.因为我用了google地图,高德地图,百度地图和原生地图,都不支持custom tiles.大致了解了LBS的东西.

通过做实时动态模糊,我知道了有个第三方库叫GPUImage,也知道了有个东西叫CADisplayLink.

通过做扇形menu,我学会了CoreAnimation和贝赛尔曲线.

通过搜索在不规则范围内的所有点,我知道了射线法.

试想一下,如果你做的是一个界面粗糙,逻辑简单,交互乏味的app, 那么相应的,从中获取的东西肯定是不多的.所以,当你的技术进步缓慢的时候,很可能就是缺乏挑战的时候.

尽量少抱大腿,压根就别抱大腿

不知道你们有没有这种体会,在你寻找问题A的答案,不停的网上搜索,阅读代码的时候很多时候可能会顺带的把困惑已久的问题B和问题C的答案找到了.这时候往往会恍然大悟,哦,原来还能这么写.

那么如果你的公司恰巧有个大牛,基本功扎实,业务逻辑烂熟于胸,态度温和,来者不拒.你每每碰到什么问题过去问,总能得到完美的解答,甚至大牛会帮你"结对编程",直接代码都给你敲了.你肯定会感到幸福爆棚.

但是,这意味着,你丧失了很多触类旁通的机会.

我当年也是比较迷信各种大牛的,加了很多开发群,有问题积极提问.后来就感觉这样很蠢.

1是答者寥寥,顶多给你提个方向.

2是感觉就算是技术很好地人,在不了解你代码的情况下也不大可能直接告诉你正确答案.

所以,凡事靠自己,是个很好地习惯.少麻烦别人,还能促使自己进步.何乐而不为呢?

多读源码

大家对读源码有个错误的认知,觉得不读懂每句话就不叫读源码.

其实不是这样的,你完全可以用读网络小说的态度来读源码,觉得这段写的看不懂,你看的不爽,直接略过.用五柳先生的话就是,不求甚解.

这样反复看反复看,而且随着平时代码量的增加,有些以前看不懂的地方也会慢慢豁然开朗,当然,该查的地方还是要查,也不能略过略过的把所有代码都略过了.

但是读源码也不能盲目的看,是看和近期的工作相关的.比如,你近期在搞一些与网络联系比较紧的项目,那肯定要找AFNetworking这种经典的来看.如果近期在搞图像处理,那肯定要找GPUImage或者CoreImage方面的源码来看.

因为这样和项目结合比较紧,你看的代码和你写的代码很容易结合在一起,事半功倍.

多阅读国外的网站和Blog

翻墙软件肯定是要有的.你要知道,第一手的开发资料永远都是英文的,而且以英语为母语的开发者学起新技术来有天然的优势.举个例子,我有个法国同事(虽然法国人的英语普遍比较烂),学习新技能可以用神速来形容,以前开发的一个模块需要用到cocos2d,他花了不到一个周的时间就自学cocos2d把东西搞出来了.

要把看Raywenderlich和nshipster还有objc.io当做生活习惯来看.而且现在的国人开发环境真的比早年的程序员幸福太多了.swift刚出没到一个月就有团队全部翻译完了那本官方指南.所以,现在学不好编程是没有任何借口的.

而且,说自己英语不好而拒绝看英文文档的人,我感觉完全是态度有问题.这种文档类的资料,基本没有俚语或者日常用语,高中的那些英文基础都够用了,随时备一本词典,随看随查,是完全没有问题的.

孜孜不倦的学习

有句话叫技多不压身, 编程本来就是一个更新换代非常快的工作.每年都有新的技术出现,我认为要成为一个出色的程序员只掌握一门语言肯定是不行的.

那么,要怎么选择自己的第二门,甚至第三门语言呢?

我觉得要靠自己多试试,从12月份一直到15年2月,我一直在尝试不同的语言和框架,从node.js到golang到python,中间还学了一点点erlang.

我觉得适合IOS的第二门语言是python,python真的是太好用了,而且天然的适合unix系统,语法简单,各种五花八门的库,不夸张地说,应有尽有.学好了python,用处极大.

1是python与unix系统结合的特别好,你可以用python写很多脚本来提高自己的工作效率.

2是python入门极快,买一本headfirst的python教程,很快就能学会.

3是python的就业前景也非常好,就算你以后想转行,python的待遇也不比iOS差多少.

希望大家在闲暇的时候可以找一门自己感兴趣的语言学习.

作者的话:最后在新的一年,祝大家技术每天都有进步,技术和money双丰收.

上一篇:怎么学编程,学习iOS开发资源
下一篇:IOS培训干货分享之IOS 性能优化总结

IOS培训没有基础也能学吗?

大学毕业生参加iOS开发有前途吗?

在达内学习ios培训课程怎么样?

ios开发要学什么语言?好学吗?

选择城市和中心
贵州省

广西省

海南省