持续更新中!!!
-
前言: 从事iOS开发几年了,一直在业务需求及不同的项目中转动,对于基础知识及一些底层的知识一直不求甚解,期间也多次因为生活中的一地鸡毛,而处于一种惫懒,拖延的恶性循环中,这对于“出身”并不是特别好的开发而言是灾难性的,若是仍不求自救,可能一辈子就这样了。
-
行动: 在这里从全局的角度将iOS的开发舆图整理出来,然后逐渐补全学习或者整理笔记,不限于iOS,另根据知识整理面试题集,知其然,知其所以然,还得能条理的表达出来。以上作为自己
自救
的一个方式吧!知行合一,真正做到很难,0到1的过程,就从这第一步开始吧!
- C - c的一些基础
以下仅从宏观上列出主干,详情的objc脉络,请查看Objc目录
-
Compiler - 编译器相关
-
objc4 - objc源码宏观了解
-
objc - objc.h文件分析
-
NSObject - NSObject了解
-
Class&Object - objc中的类与对象本质
-
Runtime - runtime系统解析、runtime的使用
-
Message Forwarding - message.h - 消息转发-runtime中有
-
Data Structure - 数据结构,数据类型
-
Algorithm - 算法
-
Multithreading - 多线程、锁
-
Memory Management - 内存管理
-
Data Storage - 数据存储
-
Network - http, https等网络相关
-
Encryption - 数据安全、加密与解密
-
Design Patterns - 设计模式
-
Block - objc中的block分析
-
Delegate
-
KVO
-
KVC
-
Notification
-
UI相关 - UIKit相关的
-
Animation - 核心动画,动画框架,转场动画等
-
Auto Layout - 从 Auto Layout 的布局算法谈性能
-
Native&JS - 原生成JS交互
-
Third Party - 第三方库
-
SDKs - SDK集合
-
SDKs - SDK集
- Closure
- Struct
- Protocol
- Extension
- Function - 系统函数、API
- Others
- Flutter - Flutter中文网
- Ionic - ionic与angular原配的,当然ionic也可以和vue以及react自由组合
- UniApp - vue自家的
- Weex - 评论中争议较多, Weex 是如何在 iOS 客户端上跑起来的
- HBuilder
- Xamarin.forms
- ReactNative
技术类型 | UI渲染方式 | 开发效率 | 动态化 | 性能 | 框架代表 |
---|---|---|---|---|---|
H5+原生 | WebView渲染 | 一般 | 高 | 支持 | Cordova、Ionic |
JavaScript+原生渲染 | 原生控件渲染 | 好 | 中 | 支持 | RN、Weex |
自绘UI+原生 | 调用系统API渲染 | 好 | Flutter高, QT低 | 默认不支持 | QT、Flutter |
上表为跨平台技术对比
,其中开发语言主要指UI的开发语言。而开发效率,是指整个开发周期的效率,包括编码时间、调试时间、以及排错、兼容时间。动态化主要指是否支持动态下发代码和是否支持热更新。值得注意的是Flutter的Release包默认是使用Dart AOT模式编译的,所以不支持动态化,但Dart还有JIT或snapshot运行方式,这些模式都是支持动态化的。
- H5
- Vue
- Angular
- React
暂时不考虑
Fuchsia(Google新的自研操作系统)
9. 测试
- BAT面试题合集
- iOS面试题大全--(附答案)
- iOSInterviewsAndDevNotes
- 全新角度剖析--iOS面试
- 2020-iOS面试题集合
- iOS 面试宝典 没有比这更全的了(持续更新)
iOS学习笔记通过wiki查看: https://github.com/deepindo/DoNote/wiki
- Autolayout
- Snapkit
- Masonry
- Simplex算法
- Flexbox
- AsyncDisplayKit
- UITableView
- UICollectionView
- ExpandableCell
- Header
- Placeholder
- CollectionViewLayout
- IGListKit
- Charts
- CoreGraphics
- Git
- 图片
- 图片处理
- 视频
- 音频
- 游戏
- ARKit
- CoreGraphics
- CoreImage
- Metal
- GPUImage
- SceneKit
- Image I/O
- SiriKit
- 硬件
- 定位(CoreLoation)
- 通知
- WebView
- WebScoket
- iCloud
- WatchKit
- 照片
- 相机
- 文件管理
- 手势
- 键盘
- 蓝牙
- NFC
- ForceTouch
- iBeacon
- 地图
- AppleTV
- PassBook
- 支付
- 权限
- CoreMotion
- UIViewController
- UINavigationController
- ScrollView
- 按钮
- Label
- 表单
- 登录
- 菜单
- Navigation Bar
- Popup
- 进度条
- 下拉刷新
- SegmentedControl
- Slider
- SplashView
- StatusBar
- Stepper
- Switch
- TabBar
- PickerView
- 日历
- 卡片
- 自定义控件
- 浮层
- 弹窗
- 标签
- 通知中心
- Text
- TextKit
- UIPageControl
- CoreText
- 字体
- 多窗口
- 向导
ObjC **: https://objccn.io/
Swift.org: https://swift.org/
戴铭: https://github.com/ming1016/study/wiki - (iOS 开发舆图)
王巍: https://onevcat.com/
唐巧: http://blog.devtang.com/
casa: https://casatwy.com/
周小鱼: http://zhoulingyu.com/
- 收集整理不易,且赞且珍惜!如果你觉得此仓库对你有价值,欢迎 star/fork,蟹蟹🤝。
- Email: deepindo@foxmail.com, 有需要请联系