This commit is contained in:
arthur
2026-09-17 11:13:35 +08:00
parent 46198aa8c9
commit 3284e63e89
8 changed files with 2248 additions and 432 deletions
+18 -432
View File
@@ -1,450 +1,36 @@
# DailyChallenge_APP
APP部 2026 纳新每日一题(开发基础 / 命令行 / Git / 微信小程序)
APP 部 2026 纳新每日一题(开发基础 / 命令行 / Git / React Native)。
请克隆仓库以获取每日一题。
## 学习方式
每天一个文件夹(`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` ~ `Day_7` 文件夹中都有当天教学与任务。建议每天投入 30~60 分钟:先读 `README.md`,再完成任务,并将代码、运行截图或仓库链接提交到当天工单。
## 课程安排
| 目录 | 内容 |
| --- | --- |
| `Day_1` | 环境配置:VS Code + 终端 + 微信开发者工具 |
| `Day_1` | 环境配置:VS Code、Node.js、Git、Expo Go 与第一个 React Native 应用 |
| `Day_2` | 命令行基础:目录、文件与路径 |
| `Day_3` | Git 入门:clone / add / commit / pull / push |
| `Day_4` | 小程序页面基础:WXML + WXSS |
| `Day_5` | 小程序交互:事件、data 与 `setData` |
| `Day_6` | 页面与组件:列表、页面跳转与简单数据展示 |
| `Day_7` | 完成一个简单微信小程序 |
| `Day_4` | React Native 页面基础:组件、JSX 与 StyleSheet |
| `Day_5` | React Native 交互:事件、state 与 `useState` |
| `Day_6` | 列表与导航:`FlatList`、参数与详情页 |
| `Day_7` | 综合完成一个 React Native 校园助手应用 |
每个目录包含:当日题目(`README.md`)、学习资料、任务要求、提示以及参考解答。
> **定位目标:**帮助零基础同学建立开发习惯,理解项目、组件、状态、事件、列表与导航,并能阅读和修改一个简单的 React Native 应用。
> **定位目标:**这一阶段主要帮助零基础同学建立最基本的软件开发习惯,理解文件、终端、Git、页面、数据和事件之间的关系,并能够看懂和修改一个简单的小程序项目。
## 技术栈
---
本阶段使用 React Native + Expo:
## 每日内容简介
- React:用组件描述界面,用 state 管理会变化的数据。
- React Native:将 React 组件渲染为 Android / iOS 原生界面。
- Expo:提供适合入门的项目脚手架、开发服务器与真机预览流程。
- React Navigation:处理多页面应用的页面跳转。
### Day_1:搭建你的开发环境
入门阶段不需要 Android Studio 或 Xcode;使用 Expo Go 扫码即可在手机上预览。
完成最基本的开发环境配置:
## 最终项目:CampusHelper
- 安装 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 部真实项目开发所需要的第一层基础。
完成后,你应能从项目目录启动开发服务器、修改一个组件、处理点击事件、更新 state、渲染列表、在页面间传递参数,并用 Git 保存修改。