450 lines
7.0 KiB
Markdown
450 lines
7.0 KiB
Markdown
# 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 部真实项目开发所需要的第一层基础。 |