添加 README.md
This commit is contained in:
@@ -0,0 +1,450 @@
|
|||||||
|
# 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 部真实项目开发所需要的第一层基础。
|
||||||
Reference in New Issue
Block a user