开源软件名称:dequan1331/geektime-ios-course
开源软件地址:https://github.com/dequan1331/geektime-ios-course
开源编程语言:
Objective-C
100.0%
开源软件介绍:极客时间 ——《从0开发一款iOS App》视频课程
/ Doc : 课程PPT讲义
/ Project : 课程示例代码
课程地址 : https://time.geekbang.org/course/intro/169
课程目录
第一部分:课程简介和开发前的准备
- 课程介绍
- 内容综述
- 常见 App 类型及技术栈浅析
- 使用 Xcode 创建第一个工程
第二部分:实现 App 的基本界面
实现基础页面框架
- MVC 模式:iOS 中的架构基石
- iOS 中的视图 UIView
- 了解 UIView 的生命周期
- 视图的控制器 UIViewController
- 结合视图和控制器构建 Tabbar 样式页面
- 使用 Navigation 构建 App 的基础交互
- iOS 基本页面框架的构成和实现
实现常用列表视图
- 系统函数中常见模式 Delegate
- UITableView 简介
- UITableView 中 Delegate 和 Datasource 的使用
- UITableViewCell 的复用及原理
- 结合子视图实现完整的列表界面
- UICollectionView 的基本应用和实现
- UICollectionViewLayout 的应用
- 基本列表视图的选择和使用
实现滚动视图
- 滚动视图的基类 UIScrollView 简介
- 应用 UIScrollViewDelegate 实现复杂逻辑
- iOS 中滚动视图对比及 App 内应用场景浅析
实现常用 UIKit
- iOS 中文字的展示:UILabel 的使用与布局
- iOS中图片的展示:UIImage 与 UIImageView 的应用
- iOS中按钮的实现:UIButton 的使用
- UIControl 以及 Target-Action 模式
- 使用 UIGestureRecognizer 实现自定义点击与手势
- 通过 UIAlertView 了解 UIKit 系统函数的设计和使用
使用 WebView 加载内容
- Web 基础知识及 WKWebView 介绍
- 使用 WKWebView 及 Delgate 实现简单的页面加载
- 认识观察者模式 KVO 并展示页面加载进度
- iOS 开发中的 Web 应用浅析
常用动画分析和使用
- 使用 UIView 动画完善界面的交互
- 动画背后的 CALayer 基本应用
- CoreAnimation 及开源动画框架介绍
代码规范与页面结构分析
- 常用代码规范和重构方式
- 结合 UIKit 分析常用 App 的页面结构
第三部分:实现 App 的基础功能
实现基础网络功能
- 网络基础及请求的封装
- NSURLSession 基础原理、组织和使用
- 使用系统网络架构 NSURLSession 加载网络数据
- 常用框架集成方式 Submodule、Carthage 和 CocoaPods 对比和使用
- 集成和使用开源网络框架
实现数据的序列化与存储
- iOS 中的 JSON 解析
- 使用结构化的数据进行解析和展示
- 实现列表数据加载、解析和展示的完整流程
- iOS 沙盒机制和文件结构
- 使用 NSFileManager 操作和管理文件
- iOS 中的序列化 NSCoding
- 开源存储方案对比与分析
- 缓存新闻列表数据及已读状态
基础线程管理和应用
- iOS 中线程的基础知识及 NSThread
- GCD 的常用方法分析和使用
- 了解 Operation、Runloop 以及多线程开发总结
网络和存储实践:图片库
54.如何管理 App 中的图片下载与存储
55.开源图片框架接触的架构和使用
实现基础音视频功能
- 了解 iOS 系统的音视频框架
- 重构视频列表展示视频
- 实现简单视频播放器 AVPlayer
- iOS 消息机制 NSNotification 简介
- 使用 Notification 接收和处理播放状态通知
- 使用 KVO 监听和处理播放资源的状态变化
- CMTime 及播放缓冲进度的获取和使用
- 使用单例模式重构播放器业务逻辑
- 常用 App 视频业务及流程浅析
实现多种方式布局
- AutoLayout 简介
- 使用 AutoLayout 实现通用 ToolBar 视图
- iOS 常用布局方式选择
适配多种设备和屏幕
- 逻辑分辨率适配
- 物理分辨率适配
- 使用 ImageAsset 管理图片资源
- iPhone X 适配
- iOS 开发适配常用方法总结
第四部分:App 功能扩展和完善
实现启动页和 App 跳转
- App 启动过程及生命周期分析
- 通过 App 生命周期回调实现启动页
- 使用 URL Scheme 进行 App 间的唤醒和通信
- Universal Link 简介
常用组件化方案设计和实现
- 常用组件化 Target-Action 方案
- 常用组件化 URL Scheme 方案
- 常用组件化 Protocol-Class 方案
Framework 制作与集成
- 实现简单的第三方登录和分享功能
- iOS 中静态库的制作和使用
- iOS 中 Framework 的制作和使用
- OAuth 和 OpenID 原理和使用
- 集成 QQ SDK 实现登录和分享功能
常用日志与上报系统设计和实现
- iOS 中常用日志和上报系统浅析
- 类 CocoaLumberjack 日志框架架构浅析
- Crash 的类型介绍和常用收集方案
- 常用上报技术方案对比和分析
实现 App 常用扩展与服务
- iOS 中定位和定位权限
- 定位功能实现和位置信息的获取
- iOS 中推送和推送权限
- 使用 UserNotifications 实现本地推送
- 远程推送与 APNs 简介
- 使用 UserNotifications 接收远程推送
- iOS 图标管理和动态更新
- iOS App Extension 简介
- 实现 Today Extension 以及数据共享
实现复杂的 UIKit
- UITextField 和 UITextView
- 使用 UITextField 实现搜索条
- 使用 UITextView 实现输入框
复杂列表和内容展示
- 复杂列表页实现方案及 IGListKit 浅析
- 复杂内容页展示逻辑及实现方案浅析
App 打包与上架
- App 的签名原理和证书申请
- 常用 iOS 唯一标识符
- App 的打包和上架流程
结语
- 课程总结和结束语
|
请发表评论