所谓有经验的iOS开发,这些你扎心了吗?

2018 年 12 月 11 日 CocoaChina

很多iOS的现状


1、开发几年了,都在不停的做项目,自己一直都在忙于应付各种业务需求的讨论、开发、测试、发布、维护升级,再有新的需求的循环开发。都是重复的劳动。


2、工作几年跳槽都是奔着能继续做项目练手学习更多知识,然后工资上也能多涨一点。但是几年的历练下来,回头才发现,确实是积累了很多做项目的经验,但是在大公司严谨的技术面试下暴露了自己很多的不足。没有认真研究过底层知识,对OC的原理了解太少。


3、没有深入研究过第三方源码,对于技术学习的自我驱动力太差等等。总之开发技能大多是能满足当前的业务需求开发,再好一点可能就是能把业务功能的体验做的好一点,bug少一些。说白了,都是业务驱动的开发。业务实现需要用到这块的知识,去谷歌一下学习一下,然后拿过来用。实现功能之后发现没问题就结了。


4、最终造就了现在的结局:项目经验很足,解决问题的能力也nice,但是技术实力却不怎么样。


OpenGL ES


OpenGL ES是在 OpenGL 嵌入式设备上面的版本,也就是安卓/iPhone,其他嵌入式等移动设备的编程规范;

OpenGL ES作为iOS相对底层库,可以完成2D/3D图形渲染,那么我们平常的UIView也可以基于CoreAnimation完成3D动画,图形显示,那么 UIView 和 OpenGL有什么内在关系呢,我们的iPhone最终是怎么完成图像显示的呢?

本节技术分享就会带你了解这些知识,对 OpenGL ES有个感性的认识。


OpenGL ES 渲染问题的处理方法


001—隐藏面消除与油画法
002—正面&背面剔除底层实现理解
003—正背面剔除代码实现
004—深度测试原理理解
005—深度测试常用函数
006—ZFighting闪烁问题的解决方式与预防
007—裁剪常见函数与案例
008—颜色混合方程式与案例实现


架构模式


架构模式: 面向开发我们架构项目,且看我们平时开发的MVC的问题,解重还有解耦合,我们面向协议编程的MVP如何实现我们的项目-轻耦合,MVVM+响应式双向绑定


001—cocoa愿景MVC与实际开发MVC
002—MVC减重与解耦
003—MVP面向协议编程 
004—MVVM双向绑定
005—MVVM与响应编程双剑合璧


Aspects 源码解析


AOP 即面向切面编程,初次接触 AOP 的人可能会困惑,到底什么是 AOP。


举个简单的列子,一般随着业务和产品的发展,产品需要在页面中加入自己的页面统计。


这个时候我们会怎么做?面向对象的思想是这些统计功能很多页面都会用到,每个 VC 写一次特别麻烦,于是所有的 VC 都继承自一个基类。


而且随着项目的增大,一般我们会把一些常用的功能写成组件的形式来使用,这时就抽取出来的功能可能就要依赖这个基类,抽取的时候就比较难受。


所以这个时候 AOP 就可以完美的解决这个问题,对于 OC 来说,我们可以直接 Method-Swizzling 来 Hook 当前的 viewWillAppear 和 viewWillDisappear 然后统计信息。


但是这种简单的  Method-Swizzling 其实存在一定的安全隐患。


Aspects 是一个使用简单的 AOP 库,适用于 iOS 和 OS X。这里面我们可以学习到作者是如何设计这个库,以及在 Hook 过程中处理了很多可能发生的隐患问题。


同样这里面涉及到很多 Runtime 的知识,绝对是学习进阶的好资料。


分享主题:iOS纵向技能拓展、挖掘底层原理

分享时间:2018.12.10.-2018.12.12,每天晚上八点,连续三天

分享方式:网络直播

参加方式:添加微信:logic_yan 或者扫描下面二维码

参与费用:完全免费


参与方式

长按二维码添加群即可参加


免费名额有限

期待你的参与

登录查看更多
0

相关内容

OpenGL(Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于生成二维、三维图像。
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
223+阅读 · 2020年3月22日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
20+阅读 · 2019年11月7日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
美团:基于跨平台框架Flutter的动态化平台建设
前端之巅
14+阅读 · 2019年6月17日
硬核实践经验 - 企鹅辅导 RN 迁移及优化总结
IMWeb前端社区
5+阅读 · 2019年5月6日
19年腾讯、阿里、网易等各大厂实习生薪资曝光!
互联网架构师
9+阅读 · 2019年5月5日
1年开发经验,25万年薪的1个捷径,98%Python程序员都不知道
机器学习算法与Python学习
7+阅读 · 2018年5月23日
iOS高级调试&逆向技术
CocoaChina
3+阅读 · 2017年7月30日
Arxiv
21+阅读 · 2019年8月21日
Arxiv
6+阅读 · 2018年4月24日
Arxiv
7+阅读 · 2018年3月21日
Arxiv
6+阅读 · 2018年1月14日
VIP会员
相关VIP内容
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
223+阅读 · 2020年3月22日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
20+阅读 · 2019年11月7日
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
美团:基于跨平台框架Flutter的动态化平台建设
前端之巅
14+阅读 · 2019年6月17日
硬核实践经验 - 企鹅辅导 RN 迁移及优化总结
IMWeb前端社区
5+阅读 · 2019年5月6日
19年腾讯、阿里、网易等各大厂实习生薪资曝光!
互联网架构师
9+阅读 · 2019年5月5日
1年开发经验,25万年薪的1个捷径,98%Python程序员都不知道
机器学习算法与Python学习
7+阅读 · 2018年5月23日
iOS高级调试&逆向技术
CocoaChina
3+阅读 · 2017年7月30日
相关论文
Arxiv
21+阅读 · 2019年8月21日
Arxiv
6+阅读 · 2018年4月24日
Arxiv
7+阅读 · 2018年3月21日
Arxiv
6+阅读 · 2018年1月14日
Top
微信扫码咨询专知VIP会员