Files
DailyChallenge_APPDepartment/README.md
T
2026-09-16 18:09:17 +08:00

450 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DailyChallenge_APP
APP部 2026 纳新每日一题(开发基础 / 命令行 / Git / 微信小程序)
请克隆仓库以获取每日一题。
## 学习方式
每天一个文件夹(`Day_1 ~ Day_7`),**先看教程再动手做**,每天控制在 **30~60 分钟以内**:
1. 打开当天文件夹的 `README.md`
2. 先阅读 `README.md` 中的内容,了解当天需要使用的知识
3. 再完成任务,遇到问题时优先尝试查阅文档、搜索或使用 AI 辅助
4. 将运行结果、截图或代码提交到**当日工单**评论区
---
## 提交方式
请在对应的每日工单下方“撰写”区域提交你的代码、运行截图或仓库链接,然后点击“评论”。
如果页面显示“登录 并参与到对话中”,请先点击“登录”并注册你的账户。
推荐从第一天开始保留自己的练习仓库,例如:
```text
DailyChallenge_APP_你的名字/
├── Day_1/
├── Day_2/
├── Day_3/
├── ...
└── Day_7/
```
后续会学习使用 Git 管理这些代码。
---
## 课程安排
| 目录 | 内容 |
| --- | --- |
| `Day_1` | 环境配置:VS Code + 终端 + 微信开发者工具 |
| `Day_2` | 命令行基础:目录、文件与路径 |
| `Day_3` | Git 入门:clone / add / commit / pull / push |
| `Day_4` | 小程序页面基础:WXML + WXSS |
| `Day_5` | 小程序交互:事件、data 与 `setData` |
| `Day_6` | 页面与组件:列表、页面跳转与简单数据展示 |
| `Day_7` | 完成一个简单微信小程序 |
每个目录包含:当日题目(`README.md`)、学习资料、任务要求、提示以及参考解答。
> **定位目标:**这一阶段主要帮助零基础同学建立最基本的软件开发习惯,理解文件、终端、Git、页面、数据和事件之间的关系,并能够看懂和修改一个简单的小程序项目。
---
## 每日内容简介
### Day_1:搭建你的开发环境
完成最基本的开发环境配置:
- 安装 VS Code
- 安装 Chrome / Edge
- 安装微信开发者工具
- 学会打开终端
- 成功打开并运行第一个示例项目
当天不要求掌握编程知识。
目标只有一个:
> **让开发环境真正跑起来。**
---
### Day_2:程序员如何操作文件?
学习最基本的命令行概念:
```text
当前目录
文件
文件夹
绝对路径
相对路径
```
以及常见命令:
```bash
cd
dir / ls
mkdir
pwd
```
这一部分虽然看起来和 APP 开发没有直接关系,但今后使用:
```text
Git
Gradle
Node.js
开发服务器
项目脚本
```
都会频繁接触终端。
---
### Day_3:第一次使用 Git
学习最基本的版本控制流程:
```text
工作区
↓
git add
↓
git commit
↓
本地仓库
↓
git push
↓
远程仓库
```
主要使用:
```bash
git clone
git status
git add .
git commit -m "..."
git pull
git push
```
当天任务是:
> 将自己的练习文件第一次提交到 Git 仓库。
暂时不要求掌握:
```text
rebase
reset
cherry-pick
复杂分支管理
```
这些会在真正参与项目后逐步学习。
---
### Day_4:第一个微信小程序页面
正式进入微信小程序。
学习:
```text
WXML
WXSS
页面结构
基础组件
文字
图片
按钮
简单布局
```
理解最重要的两个概念:
```text
WXML = 页面结构
WXSS = 页面样式
```
当天任务可以完成一个:
> **APP 部个人介绍页面**
例如显示:
```text
姓名
专业
兴趣方向
想学习的技术
联系方式
```
---
### Day_5:让页面“动起来”
学习小程序中的:
```text
事件
data
setData
bindtap
```
理解:
```text
用户点击
↓
触发事件
↓
执行函数
↓
数据发生变化
↓
界面更新
```
当天任务:
> 完成一个简单的计数器或 Todo 页面。
例如:
```text
当前次数:0
[ +1 ]
[ -1 ]
[ 重置 ]
```
重点不是功能复杂,而是第一次理解:
> **页面其实是数据的一种表现。**
---
### Day_6:从一个页面到一个小应用
学习:
```text
列表渲染
wx:for
条件渲染
页面跳转
简单的数据传递
```
当天任务可以完成一个:
> **校园活动列表**
首页:
```text
APP 部新人培训
程序设计比赛
社团招新宣讲
```
点击某一个活动后进入详情页。
开始建立:
```text
列表页
↓
详情页
```
这种真实 APP 中非常常见的页面关系。
---
### Day_7:综合小测
最后一天不再学习大量新知识。
使用前几天的知识完成一个简单小程序,例如:
## Campus Helper Mini
可以包含:
```text
首页
活动列表
活动详情
个人页面
```
最低要求:
- 至少两个页面
- 使用 WXML
- 使用 WXSS
- 至少一次点击事件
- 至少一次 `setData`
- 至少一次列表渲染
- 至少一次页面跳转
- 使用 Git 提交代码
- 编写简单的 `README.md`
Bonus:
- 本地缓存
- 表单输入
- 搜索 / 筛选
- 调用简单的公开 API
- 自定义组件
---
## 环境准备
`Day_1` 会详细介绍。
### 编辑器
VS Code
<https://code.visualstudio.com/>
### 微信开发者工具
微信官方提供的小程序开发环境。
后续的 WXML、WXSS、JavaScript 和页面调试都会在这里完成。
### 浏览器
推荐:
- Chrome
- Edge
浏览器的开发者工具也是今后调试 Web 页面、接口和网络请求的重要工具。
### Git
用于:
```text
获取代码
保存修改记录
提交作业
团队协作
```
后续 APP 部正式项目原则上都会使用 Git 进行代码管理。
---
## 与 Kotlin / KMP 学习的关系
APP 部目前主要包含:
```text
微信小程序
+
Kotlin / Kotlin Multiplatform
```
本仓库主要用于技术扫盲和小程序开发启蒙。
Kotlin / KMP 方向已有独立教程:
```text
From Kotlin to Kotlin-Multiplatform
```
本每日一题主要负责所有方向共同需要的基础能力:
```text
开发环境
命令行
项目目录
Git
页面
事件
数据
调试
```
---
## 关于 AI
欢迎使用 AI。
在现在的软件开发过程中,能够正确使用 AI 本身也是一种能力。
你可以让 AI:
```text
解释报错
解释一段代码
寻找某个 API 的使用方法
帮助检查代码
给出修改建议
```
但不建议直接:
```text
复制题目
↓
让 AI 完整生成
↓
不阅读代码
↓
直接提交
```
换句话说,
> **AI 生成的代码,我大概知道每一部分是在干什么;修改一个需求时,我知道应该去哪里改。**
如果你能够做到这一点,本阶段的学习目标就已经基本达成。
---
## 最后的目标
完成这一阶段以后,不要求你能够独立开发一个完整 APP。
希望你至少能够做到:
```text
看到一个项目
↓
知道怎么把它 clone 下来
↓
知道应该在哪个目录运行
↓
能够阅读基本项目结构
↓
能够修改一个简单页面
↓
能够处理点击事件和页面数据
↓
能够通过 Git 提交自己的修改
```
做到这些,你就已经具备继续学习微信小程序、Kotlin / KMP,以及参加 APP 部真实项目开发所需要的第一层基础。