缺什么补什么:别拿“看懂了”当“会写了”
这门实战课拿一个具体的奥运赛事指南当靶子,解决的是很多自学者最虚的一块:从一个空项目到能跑起来的完整应用,中间到底该怎么拆。很多人学 Swift 语法背得很熟,一上手连需求怎么定、原型怎么画、数据库表怎么建都糊里糊涂,更别提整体架构怎么分层。课程前半截讲应用概述、需求分析和原型设计,后半截深入到数据库和架构设计,还配了两段超长的直播答疑。它不是给你塞语法糖,而是逼你走一遍完整的工程化流程。适合那些语法基础打完、正卡在“不知道怎么独立做项目”这一步的转岗者或查漏补缺者。别假装自己什么都会,如果连一个功能模块的数据表都设计不明白,那就老老实实从头看。
建议先看哪几块:别一上来就敲代码
拿到资料别急着建工程。建议先看应用概述和需求分析这两块,搞清楚这个赛事指南到底要解决什么问题,有哪些核心功能点。接着直接看原型设计和数据库设计,这两块是核心痛点:原型决定了界面怎么跳转,数据库设计决定了数据怎么流转。很多新手写代码卡壳,就是因为表结构没想清楚,写到一半发现字段不够用又去改库。架构设计那段也别跳过,重点看它怎么分视图层、业务层和数据层。那两段加起来快两个小时的直播答疑,建议放到最后看,里面往往是前几节没讲透的细节和实际开发中容易踩的坑。带着自己画原型时遇到的问题去听,比干看强得多。
学完能独立做什么:从跟着抄到自己拆
看完这套流程,你应该能独立完成一个类似资讯类或指南类应用的前期设计。具体来说,给你一个没做过的需求,你能自己拆出功能清单,画出界面跳转原型,设计出合理的数据库表结构,并定好基本的代码分层架构。资料包里有直播录像和配套素材,配合练习时别光看视频,一定要自己拿纸或工具把原型和表结构重新画一遍,跟课程里的对照,看哪里漏了。学完之后问自己几个问题:这个赛事指南的核心数据实体有哪些?它们之间是什么关联关系?如果现在要加一个赛程提醒功能,你的数据库和架构要怎么改?能答上来,才算把这门课的骨架吃透了。
课程目录
1-1 [实战-2016里约热内卢奥运会指南-应用概述] 13.1 2016里约热内卢奥运会指南应用概述 (04:27) 2-1 [实战-2016里约热内卢奥运会指南-应用分析与设计] 13.2.1 需求分析 (03:49) 2-2 [实战-2016里约热内卢奥运会指南-应用分析与设计] 13.2.2 原型设计 (15:01) 2-3 [实战-2016里约热内卢奥运会指南-应用分析与设计] 13.2.3 数据库设计 (10:17) 2-4 [实战-2016里约热内卢奥运会指南-应用分析与设计] 13.2.4 架构设计 (07:20) 2-5 [实战-2016里约热内卢奥运会指南-应用分析与设计] 20150529第十七期直播答疑_上 (01:07:55) 2-6 [实战-2016里约热内卢奥运会指南-应用分析与设计] 20150529第十七期直播答疑_下 (32:57) 3-1 [任务1:构建信息系统层(数据库)] 13.3.1 迭代1.1: 编写数据库DDL脚本 (11:30) 3-2 [任务1:构建信息系统层(数据库)] 13.3.2 迭代1.2: 插入初始数据到数据库 (08:44) 4-1 [任务2:创建工程RioOlympics2016] 13.4 任务2:创建工程RioOlympics2016 (07:51) 5-1 [任务3:数据持久层开发] 13.5.1 迭代3.1:编写实体类(业务领域对象) (10:00) 5-2 [任务3:数据持久层开发] 13.5.2 迭代3.2:DAO基类BaseDAO (11:35) 5-3 [任务3:数据持久层开发] 13.5.3 迭代3.3:数据持久层帮助DBHelper-1获得沙箱目录全路径 (10:06) 5-4 [任务3:数据持久层开发] 13.5.3 迭代3.3:数据持久层帮助DBHelper-2.初始化数据库-1 (09:14) 5-5 [任务3:数据持久层开发] 13.5.3 迭代3.3:数据持久层帮助DBHelper-2.初始化数据库-2 (10:07) 5-6 [任务3:数据持久层开发] 13.5.3 迭代3.3:数据持久层帮助DBHelper-3.获得数据库版本号 (10:49) 5-7 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写ScheduleDAO-1(数据插入) (07:47) 5-8 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写ScheduleDAO-2(数据删除) (02:46) 5-9 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写ScheduleDAO-3(数据修改) (02:21) 5-10 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写ScheduleDAO-4(查询所有数据) (06:53) 5-11 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写ScheduleDAO-5(主键查询数据) (02:51) 5-12 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写EventsDAO-1(数据插入) (04:25) 5-13 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写EventsDAO-2(数据删除) (11:04) 5-14 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写EventsDAO-3(数据修改) (03:11) 5-15 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写EventsDAO-4(查询所有数据) (04:11) 5-16 [任务3:数据持久层开发] 13.5.4 迭代3.4:编写DAO类-编写EventsDAO-5(主键查询数据) (05:04) 6-1 [任务4:业务逻辑层开发] 13.6 任务4:业务逻辑层开发 (05:58) 6-2 [任务4:业务逻辑层开发] 13.6.1 迭代4.1:编写比赛项目业务逻辑类 (03:13) 6-3 [任务4:业务逻辑层开发] 13.6.2 迭代4.2:编写比赛日程业务逻辑类 (14:23) 7-1 [任务5:表示层开发] 13.7.1 迭代5.1:使用资源目录(Asset catalog)管理图片资源 (21:36) 7-2 [任务5:表示层开发] 13.7.2 迭代5.2:根据原型设计初步设计iPad故事板 (10:53) 7-3 [任务5:表示层开发] 13.7.3 迭代5.3:根据原型设计初步设计iPhone故事板 (02:39) 7-4 [任务5:表示层开发] 13.7.4 迭代5.4:首页模块 (08:11) 7-5 [任务5:表示层开发] 13.7.5 迭代5.5:比赛项目模块-比赛项目界面-1 (13:37) 7-6 [任务5:表示层开发] 13.7.5 迭代5.5:比赛项目模块-比赛项目界面-2 (16:25) 7-7 [任务5:表示层开发] 13.7.5 迭代5.5:比赛项目模块-比赛项目详细界面-1 (14:28) 7-8 [任务5:表示层开发] 13.7.5 迭代5.5:比赛项目模块-比赛项目详细界面-2 (06:47) 7-9 [任务5:表示层开发] 13.7.5 迭代5.5:比赛项目模块-比赛项目详细界面-3 (08:03) 7-10 [任务5:表示层开发] 13.7.5 迭代5.5:比赛项目模块-比赛项目详细界面-4 (04:55) 7-11 [任务5:表示层开发] 13.7.6 迭代5.6:比赛日程模块-1 (07:57) 7-12 [任务5:表示层开发] 13.7.6 迭代5.6:比赛日程模块-2 (15:29) 7-13 [任务5:表示层开发] 13.7.6 迭代5.6:比赛日程模块-3 (03:43) 7-14 [任务5:表示层开发] 13.7.7 迭代5.7:倒计时模块表示层-1 (13:01) 7-15 [任务5:表示层开发] 13.7.7 迭代5.7:倒计时模块表示层-2 (06:13) 7-16 [任务5:表示层开发] 13.7.7 迭代5.7:倒计时模块表示层-3 (14:38) 7-17 [任务5:表示层开发] 13.7.8 迭代5.8:关于我们模块表示层 (07:48) 8-1 [任务6:收官] 13.8.1 迭代6.1:添加图标 (08:38) 8-2 [任务6:收官] 13.8.2 迭代6.2:设计和添加启动界面 (10:12) 8-3 [任务6:收官] 13.8.3 迭代6.3:性能测试与改善用户体验 (06:12)





