Last translated: 12 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

GitHub license GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

GitHub watchers GitHub forks GitHub stars

Open in Visual Studio Code

面向初学者的 Web 开发 - 课程大纲

通过微软云技术推广团队提供的12周系统课程,学习Web开发基础知识。24节课程将通过构建生态瓶、浏览器扩展、太空游戏等实践项目,深入讲解JavaScript、CSS和HTML。课程包含随堂测验、讨论环节和实践作业,采用高效的项目驱动教学法帮助巩固知识。立即开启您的编程之旅!

🧑‍🎓 您是学生吗?

访问学生中心页面,获取入门资源、学生礼包甚至免费证书兑换券。建议收藏该页面并定期查看,我们会每月更新内容。

📣 公告 - 全新《JavaScript生成式AI》课程已发布

不要错过我们的生成式AI新课!

立即访问 https://aka.ms/genai-js-course 开始学习!

  • 课程涵盖从基础到RAG的全方位内容
  • 通过GenAI和配套应用与历史人物互动
  • 趣味叙事设计,带您体验时空穿越!

每节课包含配套作业、知识检测和实战挑战,主题包括:

  • 提示词与提示工程
  • 文本与图像应用生成
  • 搜索类应用开发

立即访问 https://aka.ms/genai-js-course 开始探索!

🌱 入门指南

教师用户,我们提供了课程使用建议,欢迎在讨论区反馈意见!

**学员**请按以下流程学习:课前测验→阅读讲义→完成实践→课后测验。建议与同学组队完成项目,遇到问题可在讨论区提问,我们的版主团队将为您解答。进阶学习推荐使用Microsoft Learn平台。

📋 环境配置

本课程提供两种开发环境选择:

创建代码仓库

建议通过页面顶部的Use this template按钮创建个人副本仓库,操作步骤:

  1. Fork仓库:点击页面右上角"Fork"按钮
  2. 克隆仓库git clone https://github.com/microsoft/Web-Dev-For-Beginners.git

使用Codespace运行课程

在您创建的仓库中,点击CodeOpen with Codespaces即可创建云端环境。

Create codespace

本地运行课程

需准备文本编辑器、浏览器和命令行工具。首节课编程语言入门与开发工具将指导您配置环境。

推荐工具组合:

  1. 克隆仓库到本地: 复制仓库URL 在VS Code终端运行(替换<your-repository-url>为实际URL):

    git clone <your-repository-url>
    
  2. 通过文件打开文件夹加载项目

推荐VS Code扩展:

📂 课程结构

每节课包含:

  • 可选视觉笔记
  • 可选补充视频
  • 课前热身测验
  • 图文讲义
  • 项目分步指南(项目制课程)
  • 知识点检测
  • 拓展挑战
  • 延伸阅读
  • 课后作业
  • 课后测验

关于测验:所有测验位于Quiz-app文件夹,共48套(每套3题)。可通过课程内链接访问,支持本地运行或部署至Azure,具体操作见quiz-app文件夹说明。正在逐步实现多语言支持。

🗃️ 课程目录

项目名称教授概念学习目标关联课程作者
01入门指南编程基础与开发工具介绍学习大多数编程语言的基本原理,以及专业开发者使用的辅助软件编程语言与开发工具入门Jasmine
02入门指南GitHub基础(含团队协作)如何在项目中使用GitHub,如何与他人协作开发代码库GitHub基础Floor
03入门指南无障碍设计学习网页无障碍基础无障碍设计基础Christopher
04JavaScript基础JavaScript数据类型JavaScript数据类型基础数据类型Jasmine
05JavaScript基础函数与方法学习使用函数和方法管理应用程序逻辑流函数与方法Jasmine与Christopher
06JavaScript基础JavaScript条件判断学习如何通过条件判断方法在代码中创建分支逻辑条件判断Jasmine
07JavaScript基础数组与循环使用JavaScript中的数组和循环处理数据数组与循环Jasmine
08生态箱项目HTML实践构建在线生态箱的HTML结构,重点学习布局搭建HTML入门Jen
09生态箱项目CSS实践为在线生态箱编写CSS样式,聚焦CSS基础与响应式设计CSS入门Jen
10生态箱项目JavaScript闭包与DOM操作实现生态箱的拖拽交互功能,重点学习闭包与DOM操作JavaScript闭包与DOM操作Jen
11打字游戏打字游戏开发学习使用键盘事件驱动JavaScript应用逻辑事件驱动编程Christopher
12绿色浏览器扩展浏览器工作原理了解浏览器工作机制、发展历史,并搭建浏览器扩展基础架构浏览器概述Jen
13绿色浏览器扩展表单构建、API调用与本地存储变量开发浏览器扩展的JavaScript功能模块,调用API并使用本地存储变量API、表单与本地存储Jen
14绿色浏览器扩展浏览器后台进程与网页性能优化使用浏览器后台进程管理扩展图标;学习网页性能优化策略后台任务与性能优化Jen
15太空游戏JavaScript进阶游戏开发学习类继承与组合模式,以及发布/订阅模式,为游戏开发做准备高级游戏开发入门Chris
16太空游戏Canvas绘图学习Canvas API,掌握屏幕元素绘制技术Canvas绘图Chris
17太空游戏屏幕元素移动控制探索如何通过笛卡尔坐标系和Canvas API实现元素运动元素移动控制Chris
18太空游戏碰撞检测实现元素碰撞交互与按键响应,并通过冷却函数保障游戏性能碰撞检测Chris
19太空游戏计分系统根据游戏状态进行数学计算计分系统Chris
20太空游戏游戏结束与重启逻辑学习游戏结束与重启逻辑,包括资源清理和变量重置结束条件Chris
21银行应用多页面Web应用的HTML模板与路由学习使用路由和HTML模板搭建多页面网站架构HTML模板与路由Yohan
22银行应用登录与注册表单开发学习表单构建与验证流程处理表单Yohan
23银行应用数据获取与使用方法掌握应用数据流动机制,包括数据获取、存储与清理数据管理Yohan
24银行应用状态管理概念学习应用状态维护与程序化状态管理状态管理Yohan

🏫 教学理念

本课程设计遵循两大教学原则:

  • 项目制学习
  • 高频测验

课程涵盖JavaScript、HTML和CSS基础,以及现代Web开发者的最新工具与技术。学生将通过实践项目(打字游戏、虚拟生态箱、环保浏览器扩展、太空射击游戏和商业银行应用)积累实战经验。完成系列课程后,学生将掌握扎实的Web开发基础。

🎓 您可以通过微软学习平台以学习路径形式学习本课程的前几课!

通过将知识点与项目紧密结合,课程更具吸引力并增强概念记忆。我们还编写了JavaScript基础入门课程,搭配"JavaScript新手教程系列"视频(部分作者参与本课程开发)进行概念讲解。

课前小测验帮助学生明确学习目标,课后测验巩固知识记忆。课程设计灵活有趣,可完整学习也可分模块学习。项目难度随12周课程进度逐步提升。

虽然我们刻意避免引入JavaScript框架以专注于Web开发核心技能,但完成本课程后建议通过"Node.js新手教程系列"视频学习Node.js。

请阅读我们的行为准则贡献指南。欢迎提出建设性反馈!

🧭 离线使用

您可以使用Docsify离线运行本文档。Fork本仓库后,在本地安装Docsify,然后在本仓库根目录运行docsify serve。文档将通过本地3000端口提供服务:localhost:3000

📘 PDF版本

所有课程的PDF版本可在此处获取。

🎒 其他课程

我们团队还开发了其他课程:

许可证

本仓库采用MIT许可证,详见LICENSE文件。