封城一个多月了,这段时间见证了很多事情,就真实的发生在身边,不知道该怎么来形容,只希望能尽早恢复吧。祝大家一切安好,身体健康很重要。
开篇
这段时间里面,自己也总结了一下iOS开发相关的内容,以及对于未来开发的展望。互联网是竞争比较激烈的领域,产出内容变化可以说是按小时来计算的,移动端作为流量入口,运营有大量的配置需求,跳转页面各不相同。
工具篇
打包
工欲善其事必先利其器,写好代码的前置步骤是搭建好环境,一套完整的自动化打包流程是必不可少的。打包机配置好,配合git分支管理,实现分支合并自动打包。目前常用的是上传到蒲公英上面,再通过企业微信的消息,可以做到从代码提交到QA下载测试包完整体系
配置自动打包
库管理
CocoaPods算是目前主流的库管理工具,不仅管理第三方库,还有公司自己的组件库,包括后续拆分出来的业务模块。
搭建CocoaPods库
技能篇
需求分析
应用层打交道最多的就是业务需求。产品文档拿到手后,能准确的分析出实现方案,以及合理估时。
底层
Runtime是比较底层的内容,在第三方SDK和基础组件里面会用的比较多,我们常说的面向切片编程,不修改业务代码的情况下实现一些公共的逻辑,例如UIViewController基类替换,用户行为统计。
还有一个常见的场景是线上防崩溃,本质上还是消息转发机制,方法替换。AvoidCrash 库可以学习一下。
底层方面想深入的可以往逆向安全方面发展
网络
OC版本的YTKNetwork和Swift版本的Moya都是比较好用的库,看一下代码实现能学习很多知识,这些库封装的特别优雅,各种线程问题处理方式值得学习。额外的再看关于计算机网络的知识,加深对这网络这块的理解。
UI
UI层是最容易变化的部分,这一块其实要求的是持续学习能力,能看懂Cocoa Touch的API,学习第三方源码。可以不自己重复造轮子,但是要懂其中的原理。
未完待续...
网友评论