iOS开发如何快速成长?

83 篇文章 1 订阅
80 篇文章 0 订阅

NO.1 毫无疑问,做有难度的项目.

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

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

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

在这里我还是要推荐下我自己建的iOS开发学习群:680565220,群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程

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

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

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

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

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

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

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

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

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

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

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


NO.2 尽量少抱大腿,或者压根就别抱大腿

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

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

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

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

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

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

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


NO.3 多读源码

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

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

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

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

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


NO.4 多读国外的iOS开发网站和blog

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

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

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


NO.5 要孜孜不倦的学习

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

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

我觉得要靠自己多试试,从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双丰收.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值