拉勾教育-iOS开发进阶(从工程化入手,提高iOS开发效率)-百度云下载
资源简介
移动开发的下半场,企业对 App 的开发需求依然在增长,并且有了更高的要求。尤其是 iOS 开发,由于系统封闭和以前工具链不完善,大量手工操作完成重复劳动,这种开发模式随着企业的更高要求被自动化与工程化取代。
统一的代码管理规范与操作流程不仅能提高开发效率,还能降低崩溃率,节省维护成本。
专栏解读
本专栏将结合一款 App 的开发与工程化实践进行讲解。根据实际项目开发流程,内容分为五大模块:
第一模块:配置与规范。 搭建统一的开发环境,使用 CocoaPods 统一管理第三方的依赖库,统一 Project 和 Target 的配置,使用 Swiftlint 统一编码规范,以及使用 Git 和 GitHub 来规范源代码管理流程。学完这一模块,能让你在开发项目时更规范,减少团队沟通成本。
第二模块:基础组件设计。 设计规范组件、路由组件、多语言支持组件、动态字体和深色模式的支持组件。这一模块教你如何使用极少的工作量来构建一些非常实用的基础组件,减少重复劳动。
第三模块:架构与实现。 如何使用 BFF 和 MVVM 来设计一套跨平台的架构,包括 MVVM 模式中每一层的功能、责任,以及具体的代码实现。你会掌握 App 开发全流程,引入 MVVM 架构来提高代码的灵活性、扩展性和可维护性。
第四模块:上架与优化。 比如,如何统一管理证书与描述文件,如何快速交付,如何灵活支持统计分析,如何借助崩溃报告解决线上的 Bug,等等。你将学会搭建一套自动化的流程,来实现无人操作打包、签名、分发与上架,有效提升 App 的交付速度。
第五模块:加餐。 在不改动任何原有代码的基础上把 UI 层从 UIKit 替换成苹果公司最新的 UI 框架 SwiftUI,让你更好地理解 MVVM 模式的优越性。
讲师简介
林永坚 移动端技术负责人(Mobile Tech Lead)
超过十年移动开发经验,曾经是微软 Window Phone MVP,熟悉 iOS、Android 等平台。目前在澳大利亚某全球房地产公司担任 Mobile Tech Lead,负责公司 Customer 产品部所有移动产品的开发。据 AppAnnie 统计,其开发与维护的 realestate.com.au 与 Linkedin、Uber、eBay 一起成为澳大利亚 2020 年千禧一代最常用的手机应用。
《iOS开发进阶(拉勾教育)》
课程目录
├──文档
| ├──01 开发环境:如何使用 Ruby 工具链统一开发环境?.md 27.76kb
| ├──02 依赖管理:如何使用 CocoaPod 统一依赖库的管理?.md 38.45kb
| ├──03 配置准备:如何搭建多环境支持,为 App 开发作准备.md 39.28kb
| ├──04 编码规范:如何使用 SwiftLint 统一编码规范?.md 19.60kb
| ├──05 自动化准备:如何使用 Fatlane 管理自动化操作?.md 25.05kb
| ├──06 代码管理:如何使用 Git 与 GitHub 统一代码管理流程?.md 19.94kb
| ├──07 设计规范:如何统一设计规范,提高沟通效率?.md 18.09kb
| ├──08 设计组件:DeignKit 组件桥接设计与开发规范.md 31.89kb
| ├──09 开关组件:如何使用功能开关,支持产品快速迭代.md 26.25kb
| ├──10 支撑组件:如何实现隐藏菜单,快速测试与验证?.md 38.92kb
| ├──11 功能组件:如何使用路由,支持多页面导航?.md 35.80kb
| ├──12 功能组件:如何设置多语言支持,为全球化做准备?.md 15.46kb
| ├──13 功能组件:如何设置动态字体,提升视力辅助功能?.md 20.64kb
| ├──14 功能组件:如何使用语义色,支持深色模式?.md 19.70kb
| ├──15 跨平台架构:如何设计 BFF 架构系统?.md 22.01kb
| ├──16 架构模式:为什么要选择 MVVM 模式?.md 17.65kb
| ├──17 响应式编程:如何保证程序状态自动更新?.md 38.40kb
| ├──18 网络层架构:如何设计网络访问与 JSON 数据解析?.md 44.73kb
| ├──19 数据层架构:如何使用仓库模式设计数据存储层?.md 32.68kb
| ├──20 View Model 架构:如何准备 UI 层的数据?.md 40.45kb
| ├──21 UI 层架构:如何开发统一并且灵活的 UI?.md 44.21kb
| ├──22 功能实战:如何使用现有架构添加点赞功能?.md 31.57kb
| ├──23 TDD 与单元测试:如何保证功能模块的高质量?.md 43.48kb
| ├──24 解决打包痛点:如何统一管理 Certificate 和 Profile?.md 33.00kb
| ├──25 自动化构建:解决大量重复性人力工作神器.md 28.66kb
| ├──26 持续集成:如何实现无需人手的快速交付?.md 21.56kb
| ├──27 统计分析:如何架构灵活的统计分析服务,助力产品增长?.md 30.61kb
| ├──28 崩溃报告:如何借助崩溃报告解决线上的 Bug?.md 14.91kb
| ├──29 远程开关:如何远程遥控上线 App 的产品行为?.md 26.87kb
| ├──30 AB 测试:如何用 AB 测试协助产品抉择?.md 17.72kb
| ├──31 App Icon 制作:如何使用 Figma 快速制作 App Icon?.md 21.34kb
| ├──32 UI 替换:如何使用 SwiftUI 快速替换原有 UI?.md 54.67kb
| ├──结束语 眼见千遍,不如手过一遍.md 12.48kb
| └──开篇词 iOS 架构与开发工程化,让你成为 10x 程序员.md 14.50kb
├──01 开发环境:如何使用 Ruby 工具链统一开发环境?.mp4 33.69M
├──02 依赖管理:如何使用 CocoaPod 统一依赖库的管理?.mp4 111.72M
├──03 配置准备:如何搭建多环境支持,为 App 开发作准备.mp4 78.71M
├──04 编码规范:如何使用 SwiftLint 统一编码规范?.mp4 70.15M
├──05 自动化准备:如何使用 Fatlane 管理自动化操作?.mp4 45.17M
├──06 代码管理:如何使用 Git 与 GitHub 统一代码管理流程?.mp4 113.16M
├──07 设计规范:如何统一设计规范,提高沟通效率?mp4 107.64M
├──08 设计组件:DeignKit 组件桥接设计与开发规范
├──09 开关组件:如何使用功能开关,支持产品快速迭代mp4 56.49M
├──10 支撑组件:如何实现隐藏菜单,快速测试与验证?mp4 118.51M
├──11 功能组件:如何使用路由,支持多页面导航?mp4 52.01M
├──12 功能组件:如何设置多语言支持,为全球化做准备?
├──13 功能组件:如何设置动态字体,提升视力辅助功能?
├──14 功能组件:如何使用语义色,支持深色模式?
├──15 跨平台架构:如何设计 BFF 架构系统?
├──16 架构模式:为什么要选择 MVVM 模式?
├──17 响应式编程:如何保证程序状态自动更新?
├──18 网络层架构:如何设计网络访问与 JSON 数据解析?
├──19 数据层架构:如何使用仓库模式设计数据存储层?
├──20 View Model 架构:如何准备 UI 层的数据?
├──21 UI 层架构:如何开发统一并且灵活的 UI?
├──22 功能实战:如何使用现有架构添加点赞功能?
├──23 TDD 与单元测试:如何保证功能模块的高质量?
├──24 解决打包痛点:如何统一管理 Certificate 和 Profile?
├──25 自动化构建:解决大量重复性人力工作神器
├──26 持续集成:如何实现无需人手的快速交付?
├──27 统计分析:如何架构灵活的统计分析服务,助力产品增长?
├──28 崩溃报告:如何借助崩溃报告解决线上的 Bug?
├──29 远程开关:如何远程遥控上线 App 的产品行为?
├──30 AB 测试:如何用 AB 测试协助产品抉择?
├──31 App Icon 制作:如何使用 Figma 快速制作 App Icon?
├──32 UI 替换:如何使用 SwiftUI 快速替换原有 UI?
├──结束语 眼见千遍,不如手过一遍
├──开篇词 iOS 架构与开发工程化,让你成为 10x 程序员
└──课程列表信息