美文网首页iOSiOS 技术文集iOS相关
iOS 高级工程师是怎么进阶的?

iOS 高级工程师是怎么进阶的?

作者: angelen | 来源:发表于2016-04-08 00:59 被阅读7511次

    想关注我,请戳右边:http://www.angelen.me
    我的处女作:http://www.angelen.me/app

    Q: 我从事 iOS 两年了,感觉只会搭建view,用第三方库,还有些机械代码?真的迷茫了。想进阶,具体从什么大点入手呢?
    A: 说实话,两年时间只会搭建view、使用第三方类库,真的不能称为一个合格的iOS开发工程师!

    1 先说OC部分

    • 既然做了两年了,对Objective-C足够了解吗?OC是如何基于C来进行的封装?解释一下这两行代码啥意思?
    typedef __attribute__((NSObject)) CGGradientRef GradientObject;
    @property (nonatomic, strong) GradientObject storedGradient;
    
    • protocol、category这样的东西应该要手到擒来才是?多线程部分的知识点掌握是否扎实?runtime这种黑魔法研究过没?代码足够优雅、后续维护容易吗?各种设计模式也得会吧?

    2 再说UI部分

    • 既然写了两年的view,那么能快速仿造市面上这些主流App的UI吗?使用Reveal分析过微信、豆瓣、网易新闻、知乎、QQ、苏宁、淘宝、支付宝的UI吗?使用Charles去抓过他们的接口吗?

    • UI研究稍微深一点,比如侧滑菜单这种要怎么实现?如果你要做实现应该要了解UIView和UIViewController,UIViewController和UINavigationController的关系了吧?我嘞个草,UIView一堆方法,UIViewController一堆方法,到底都是干嘛的啊?你难道不好奇?这块知识点一直是你的盲区,你能忍?我忍不了!

    • UIView再往深了看,下面还有CALayer,你研究过没?为什么修改CALayer的某些property默认会有个动画产生呢?
      那么Animation、UIKit Dynamics、Drawing、Graphics这些随便拎出来一个,够你研究一阵了吧?你看看比如网易新闻,在新闻详情页面上拉,回到新闻列表页面的这个动画做的出来吗?你看看QQ在电话通信页面,点击右下角缩放图标,缩放成一个头像的这种动画,你会做不?

    3 还有这些大的功能点

    • 既然用了两年第三方类库,那么比如图片缓存这类,看过源码实现没?如果自己来实现的话,有哪些Caching Algorithms?该怎么取舍?各种常用的第三方类库你研究过原理没?

    • 你的App在和服务器交流数据的过程中安全性怎么样?你是不是要研究一下加解密?HTTP理解的够清楚吗?想没想过自己来写接口?或者更甚至一些自己来写个简易的HTTP服务器?接口部分甚至用CGI来实现也可以啊!

    • 要写服务器,那应该要了解一下网络部分吧?TCP/IP 协议得熟悉吧?然后Wireshark各种抓包得会吧?

    • 网络这块顺带过来之后,即时聊天类的App采用的什么技术?选 xmpp 还是 mqtt 还是自己写?正好可以顺势了解一下吧!

    • iOS SDK里面的各种API你掌握到了什么程度?这些功能模块排除地图、通讯录这种,说些高级的比如CloudKit、Extensions、TextKit、AirDrop、PassKit?觉得这些模块在自家公司的项目中压根没用过?可是看看你手边的App!

    4 其它专业化的方向

    • 视音频处理做过吗?此类诸如豆瓣FM、虾米音乐、喜马拉雅、QPlayer这类的App你去研究过他们吗?还有VoIP这类的,我实习的时候做过这种╮(╯_╰)╭

    • 游戏开发方向有没有兴趣?自己有没有去研究过呢?(反正这个我是真没有╮(╯_╰)╭)

    5 项目安全优化等

    • 项目中写单元测试吗?UI Automation 自动化测试做的怎么样?持续集成平台诸如Jenkins等会用吗?

    • App的各种性能优化、Crash的统计分析等等你做了没?

    • App本地数据储存够安全吗?你对逆向了解多少?敏感部分是否做了代码混淆?

    6 知识体系要持续更新

    • 官方的文档、国外的相关书籍采用的语言都是Swift,难道你不准备学学?除了native的,现在的HTML5也很火啊,难道不准备学?

    • 英文练习的怎么样了?官方所有的开发者文档以及历年的WWDC视频看完了?这么多书,这么多大牛的博客,你难道从中一无所获?

    补充一个非常重要的进阶知识板块:APP架构设计

    • MVC 你就耳熟能详了,MVVM 你不打算了解了解吗?
    • ...

    作者:贾逸
    链接:https://www.zhihu.com/question/39597307/answer/82285626
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

      • MemoryReload:Open GL ES, GPUImage, Core Image, Core Data, Socket, Stream IO ......
        Good luck, you have too much things to learn. :joy::joy::joy:
      • 笙绳省盛:1年半iOS,感觉还有很多要学的呀,争取每天进步一点吧
      • 严青_:我看两年不够:joy:
      • 1江春水:我来晚啦:+1:
      • YBP:厉害,顶一个
        angelen:@YBP :joy::joy:
      • 一个记事本:只能说,路还好远,前行吧!感谢楼主。
        angelen:@一个记事本 一起加油
      • 指尖猿:一句话总结,要开启贤者模式!
        angelen:开起开起
      • 苏旋律:敢不敢标个转载.敢不敢给个转载地址?
        angelen:@苏旋律 都说在后面标明就可以了😂
        苏旋律:@angelen 好吧,我看开头一读,原汁原味,所以,就没看了,sorry.不过,文章开头没有表示是否是转载的地方....吗....
        angelen:在文章最后啊,这都看不到吗🙈

        作者:贾逸
        链接:https://www.zhihu.com/question/39597307/answer/82285626
        来源:知乎
        著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
      • 我想做女人:我怀疑我是假的iOS
        angelen:不不不,你是个帅哥
      • fir_im官方:还得加上 iOS 持续集成:)
        推荐一下 flow.ci https://flow.ci
        angelen:👍原来是 fir.im,牛逼
      • 蔡少:好
      • 顺其自然_LH:看到这些.突然感觉自己白干了这么久.
        angelen:@顺其自然_LH 那你幹了鞋什麼🙈
      • 73d90af49c95:我就会简单的
        angelen:@iutuyte 米兔
      • Lonely__M:我是文盲
        angelen:@Lonely__ 没事,你看第一个链接就已经足够了哦
      • Raybon_lee:赞一个,该学习了,嘴里说忙其实还不是忙,忙的话,还有说话的时间么 :smile:
        Raybon_lee:@angelen 随口一说哈 :joy:
        angelen:@Raybon_lee 👍精辟
      • angelen:哈哈,加油啊~
      • Drodly:大神一句话,胜过百本书啊,正好我这几天项目阶段遇到了迷茫,刚刚好呦
      • 火星的蝈蝈:有方向了,谢谢博主
        angelen:@火星的蝈蝈 大家一起加油!
      • Joe_lisa:不错,平时都忙着搬砖,总是说闲下来去研究研究,但是真正闲下来的时候,都懒的研究了
        angelen:@Joe_lisa 这就是要启动自控模式了。。 :stuck_out_tongue_winking_eye:
      • 牧童s:项目紧的话,就忙着跌打更新,写着重复代码,挖着坑,闲下来的时候。。。
        angelen:@Nortons 干货儿,英文名 Ganker,你可以直接扫描二维码或者在 App Store 搜索。。
        牧童s:@angelen 的确,话说楼主的app叫什么名字(原谅我没有找到),是得好好学习学习了!
        angelen:@Nortons 闲下来的时候,还是不想动是吧。。哈哈,有空下我的app看看,每天都学一点新知识😉
      • 酷酷的哀殿:这只能算初级工程师吧
        angelen:@酷酷的哀殿 嗯嗯,或许是吧,继续努力~~
      • mapley:iOS在刚刚开始学习中,作者提出的问题应该算提出了iOS的一些重点内容吧,虽然有些还没有学习到但是以后学习中会注意这类问题!
        angelen:@mapley 加油~~
      • Cyandev:坚持看WWDC表示受益匪浅
        angelen:@Cyandev mark下,我也打算去看看👏
      • 南栀倾寒:我觉得这是2年就要掌握的技能,不是高级
        angelen:@Coder_CYX 加上了,你要补充一下吗🙈,我其实也是初学者吧,从Swift转到OC,现在还是语言过度期,一切慢慢来吧
        Developer_Yancy:楼主说的有点泛了。这些基本上从入门到进阶到高级都涉及了。虽然文章中大部分是入门就要去理解的知识,但涉及到APP性能优化这块确实有学不完的知识,学无止境哈。另外,帮忙补充一个非常重要的进阶知识板块:APP架构设计。
        angelen:@南栀倾寒 哈哈哈,的确这是2年就应该要掌握的技能,我也是看到别人写得不错,就转载的,就当作是一个提升自己的路径吧。。

      本文标题:iOS 高级工程师是怎么进阶的?

      本文链接:https://www.haomeiwen.com/subject/nqlvlttx.html