news 2026/9/8 19:15:45

Web-Dev-For-Beginners 课程全景指南:12 周 24 课从零掌握 HTML、CSS 与 JavaScript

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Web-Dev-For-Beginners 课程全景指南:12 周 24 课从零掌握 HTML、CSS 与 JavaScript

Web-Dev-For-Beginners 课程全景指南:12 周 24 课从零掌握 HTML、CSS 与 JavaScript

【免费下载链接】Web-Dev-For-Beginners24 Lessons, 12 Weeks, Get Started as a Web Developer项目地址: https://gitcode.com/GitHub_Trending/we/Web-Dev-For-Beginners

本仓库是一套面向零基础学习者的开源全栈入门课程Web Development for Beginners - A Curriculum(官方英文版见仓库根目录 README.md,本文主体对应的保加利亚语版见 translations/bg/README.md),由 Microsoft Cloud Advocates 牵头编写。课程以「项目驱动学习 + 高频测验」为核心方法论,用 24 堂渐进式课程带领你通过构建真实项目掌握 JavaScript、HTML、CSS。读完本文,你将理解课程的完整骨架、如何在本仓库的多种语言版本中高效克隆与配置开发环境、每一课的学习闭环,以及 26 节课(含两节新增课)的知识点与项目地图。

课程是什么:从「入门」到「做得出东西」

这是一门被设计为12 周、24 课(官方文档口径;目录表现已扩充至 26 行)的初学者课程。它的核心承诺不是堆砌语法,而是让你通过动手项目获得真实可上手的 Web 开发经验。课程文档列出的关键定位包括:

  • 教学内容:JavaScript、HTML、CSS 三大基础,以及现代 Web 开发者正在使用的工具与技巧;
  • 项目载体:打字游戏、虚拟植物温室(Terrarium)、环保主题浏览器扩展、太空入侵者风格游戏、面向业务场景的银行应用,以及新增的 AI 助手聊天项目;
  • 设计初衷:有意避开 JavaScript 框架,先把作为 Web 开发者应掌握的基础技能打牢(学完后的推荐下一步是学习 Node.js)。

从仓库目录结构看(如 1-getting-started-lessons、2-js-basics、3-terrarium、4-typing-game、5-browser-extension、6-space-game、7-bank-project 等),内容组织方式与课程文档完全对应:先学编程语言与 GitHub、可访问性基础,再学 JS 数据类型、函数、条件分支、数组与循环,随后进入以「项目」为单位、难度逐课递增的实战阶段。

开始前的准备:Fork、克隆与多语言仓库的稀疏检出

课程的文档建议按以下顺序开始:

  1. 创建你自己的副本:点击页面顶部Use this templateFork按钮,在个人 GitHub 账号下生成一份课程副本,方便保存自己的练习成果;
  2. 克隆到本地:在终端中执行git clone <你的仓库地址>(将<你的仓库地址>替换为你 Fork 后得到的仓库 URL);
  3. 加入社区讨论,与其他学习者和开发者交流。

一个重要的仓库事实是:本仓库包含 50+ 种语言的翻译版本(英文主版本之外,其余语言统一存放在 translations 目录,按语言代码分子目录,如bgzh-CNjafr等;配套翻译图片位于 translated_images)。翻译由 GitHub Action 自动化维护、持续保持与英文版同步,但也显著增大了克隆体积。

文档因此给出跳过翻译内容的高效克隆方案(sparse checkout)

# Bash / macOS / Linux git clone --filter=blob:none --sparse <你的仓库地址> cd Web-Dev-For-Beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
:: CMD (Windows) git clone --filter=blob:none --sparse <你的仓库地址> cd Web-Dev-For-Beginners git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"

--filter=blob:none表示按需延迟下载文件内容(blob),--sparsesparse-checkout set --no-cone则把检出范围限定为课程实际需要的目录、显式排除translationstranslated_images两个大目录。这样既能拿到完成课程所需的全部内容,又能显著加快克隆速度。若后续需要某个语言的完整内容,可以再通过 sparse-checkout 规则按需添加。

运行课程的两种环境

课程文档明确说明「开箱即用的开发环境」,并提供两条运行路径:

路径一:GitHub Codespaces(浏览器环境,无需安装)

在你的课程副本页面点击Code按钮,选择Open with Codespaces,即可创建并进入一个预配置的云端开发容器,所有工具都随课程就绪。它适合没有本地开发环境的初学者。

路径二:本地运行

本地运行课程需要三样东西:文本编辑器浏览器命令行工具。第一课 编程语言与行业工具入门 会带你逐项对比各工具的选项,帮助你做选择。课程推荐组合为:

  1. 使用 Visual Studio Code 作为编辑器(其内置集成终端);不输出外部链接,可在官网下载安装;
  2. 克隆仓库后,用File > Open Folder打开克隆下来的文件夹;
  3. 安装两个推荐的 VS Code 扩展:
    • Live Server:直接在 VS Code 内预览 HTML 页面;
    • GitHub Copilot:辅助你更快地编写代码。

每一课包含的「学习闭环」

无论你选择哪一课,都会体验同一套经过设计的标准化学习流程。课程文档列出的单课组成要素如下:

  • 可选的 sketchnote(视觉笔记);
  • 可选的补充视频;
  • 课前热身测验(pre-lesson quiz,低风险、用于设定学习意图);
  • 成文的图文讲解(written lesson);
  • 对项目型课程而言,附有分步构建指南;
  • 课内知识检查(knowledge check);
  • 一项挑战(challenge);
  • 补充阅读材料(supplemental reading);
  • 课后作业(assignment);
  • 课后测验(post-lesson quiz,用于巩固记忆)。

测验系统:quiz-app

文档特别说明:全部测验集中在quiz-app目录,共 48 组小测验、每组 3 题(课程文档口径;quiz-app/README.md 中的维护说明另有「40 组、从 0 计数」的表述,两组文档计数不一致,以课程英文主 README 与后续维护口径为准)。测验应用可以本地运行,也可以部署到 Azure。

从 quiz-app/package.json 的源码事实看,quiz-app 是一个Vue 3 + Vue Router + Vite的前端工程,常用命令包括:

npm install # 安装依赖 npm run dev # 本地启动开发服务器 npm run build # 构建生产产物(输出到 dist/) npm run lint # 可选:ESLint 代码规范检查

测验题数据以多语言 JSON 形式存放在 quiz-app/src/assets/translations(含en.jsonzh_cn.jsonzh_tw.jsonja.jsonfr.jsonbg.json之外的多语种文件),并由同目录的 index.js 统一导入注册——这也是多语言社区翻译、新增语种的入口。

若要把测验应用免费部署到 Azure,quiz-app/README.md 给出了 Azure Static Web Apps 的标准配置:应用位置(App location)填./quiz-app、构建输出目录(Output location)填dist,部署完成后会自动在仓库.github目录生成触发重新部署的 GitHub Actions 工作流。

26 课全览:项目、知识点与学习目标

下表依据课程文档的「Lessons」目录整理(保留了课程文档对 26 行的编号与归类,所有链接已统一为仓库根目录相对路径)。文档中项目名链接指向该项目的完整可运行代码(solution),知识点链接指向对应教学文章。

| # | 项目 | 讲解主题 | 学习目标 | 对应课程 | | :-: | :-: | :- | :- | :-: | | 01 | Getting Started | 编程语言与行业工具入门 | 了解大多数编程语言背后的基本原理,以及专业开发者依赖的软件工具 | Intro to Programming Languages and Tools | | 02 | Getting Started | GitHub 基础(含团队协作) | 学会在项目中使用 GitHub,与其他人协作同一份代码库 | Intro to GitHub | | 03 | Getting Started | 可访问性(Accessibility) | 掌握 Web 可访问性的基础知识 | Accessibility Fundamentals | | 04 | JS Basics | JavaScript 数据类型 | 掌握 JavaScript 数据类型基础 | Data Types | | 05 | JS Basics | 函数与方法 | 用函数和方法组织应用逻辑 | Functions and Methods | | 06 | JS Basics | 用 JS 做决策 | 用分支判断在代码中创建条件逻辑 | Making Decisions | | 07 | JS Basics | 数组与循环 | 用数组与循环处理数据 | Arrays and Loops | | 08 | Terrarium 项目 | HTML 实战 | 搭建在线温室页面,重点在页面布局 | Introduction to HTML | | 09 | Terrarium 项目 | CSS 实战 | 编写样式并掌握 CSS 基础与响应式 | Introduction to CSS | | 10 | Terrarium 项目 | JS 闭包与 DOM 操作 | 用拖拽交互让温室「活」起来,重点讲闭包与 DOM | JS Closures, DOM manipulation | | 11 | Typing Game 项目 | 构建打字游戏 | 学习用键盘事件驱动 JS 应用逻辑(事件驱动编程) | Event-Driven Programming | | 12 | Green Browser Extension | 浏览器工作原理 | 了解浏览器历史与工作方式,搭建扩展的第一批元素 | About Browsers | | 13 | Green Browser Extension | 表单、API 与本地存储 | 用 localStorage 存储变量并调用 API,构建扩展的 JS 部分 | APIs, Forms, and Local Storage | | 14 | Green Browser Extension | 浏览器后台任务与性能 | 用浏览器后台进程管理扩展图标,学习 Web 性能与优化 | Background Tasks and Performance | | 15 | Space Game 项目 | 更进阶的 JS 游戏开发 | 学习 Class 继承、Composition 与 Pub/Sub 模式 | Intro to Advanced Game Development | | 16 | Space Game 项目 | 向 Canvas 绘图 | 学习 Canvas API 在屏幕上绘制元素 | Drawing to Canvas | | 17 | Space Game 项目 | 让元素动起来 | 用笛卡尔坐标与 Canvas API 实现元素运动 | Moving Elements Around | | 18 | Space Game 项目 | 碰撞检测 | 用按键驱动元素碰撞与反应,并通过冷却机制保证性能 | Collision Detection | | 19 | Space Game 项目 | 计分系统 | 基于游戏状态与表现做数学计算 | Keeping Score | | 20 | Space Game 项目 | 结束与重开 | 学习游戏结束/重开流程,含资源清理与变量复位 | The Ending Condition | | 21 | Banking App | HTML 模板与路由 | 用路由与 HTML 模板搭建多页面网站架构 | HTML Templates and Routes | | 22 | Banking App | 登录与注册表单 | 学习构建表单与处理校验流程 | Forms | | 23 | Banking App | 数据获取与使用 | 理解数据如何进出应用:获取、存储、释放 | Data | | 24 | Banking App | 状态管理 | 学习应用如何保持状态、如何程序化地管理状态 | State Management | | 25 | Browser/VSCode | 使用代码编辑器 | 学习代码编辑器的使用 | Use VSCode Code Editor | | 26 | AI Assistants | 使用 AI | 学习构建自己的 AI 助手 | AI Assistant project |

从课程文档的公告信息看,仓库最近还补充了新的挑战类型——在多数章节中寻找GitHub Copilot Agent Challenge,需要借助 GitHub Copilot 的 Agent 模式完成:该模式不仅能生成文本,还能创建与编辑文件、执行命令。这一设计反映课程正持续向 AI 辅助开发演进。

教学法:为什么这样安排

课程文档将教学设计归结为两个关键原则:

  • 项目驱动学习(project-based learning)——把内容和真实项目对齐,学习过程更有参与感、概念记忆更牢固;
  • 高频测验(frequent quizzes)——课前一组低风险小测验帮学生「设定意图」,课后一组测验强化记忆。

文档同时强调课程刻意不引入任何 JavaScript 框架,以便在进入框架生态之前先把基本功打牢;「先基础、后框架」的路线也解释了为什么课程从变量、函数一直讲到 DOM 操作与状态管理,却不涉及 React/Vue 框架教学。项目难度设计为从小到大、循序渐进,最终在 12 周周期内形成完整能力。另据文档说明,课程中的 JS 基础部分还配套了面向初学者的 JavaScript 视频系列,部分作者参与编写了本课程。

离线访问:Docsify 本地文档站

课程文档支持完全离线阅读。仓库根目录的 index.html 使用 Docsify 构建静态文档站,其配置片段(loadNavbar: 'docs/_navbar.md'relativePath: true以及一组把课程路径自动映射到各语言翻译 README 的 alias 规则)印证了这套离线方案。目录顺序定义见 docs/_sidebar.md(按 1–24 课组织章节导航)。

离线启动步骤如下:

  1. Fork 本仓库(或直接使用本地克隆);
  2. 在本地机器安装 Docsify;
  3. 在仓库根目录执行:
docsify serve

站点会运行在http://localhost:3000。若你希望得到一份所有课程的静态合订版,仓库内还提供了 pdf/readme.pdf(PDF 合订文件)。

面向教师与延伸学习

  • 教师使用:课程文档与仓库内置了多种课堂落地方式。for-teachers.md 详细介绍了如何配合 GitHub Classroom 按「一课一仓库」组织班级作业,以及直接使用本仓库授课的同步/异步模式;仓库还提供了可直接导入主流 LMS 的课程包:teaching-files/webdev-moodle.mbz(Moodle)与 teaching-files/webdev-common-cartridge.imscc(通用 Common Cartridge,可兼容 Canvas 等平台)。
  • 学习者延伸:文档推荐结合 Microsoft Learn 的补充学习材料与 Student Hub 学生资源(含面向学生的免费资源与证书信息),并鼓励学习者在讨论社区中与同伴协作、向维护团队提问。

姊妹课程、支持渠道与许可

项目组围绕同一「For Beginners」系列持续产出多门姊妹课程,例如 Generative AI 系列(含 .NET / Java / JavaScript 分支)、ML for Beginners、Data Science for Beginners、AI for Beginners、Cybersecurity、IoT、XR、LangChain、Azure/Edge/MCP/Agents 以及 Copilot 系列,具体入口以各课程官方发布页为准。遇到问题可在仓库讨论区与支持论坛提问。本仓库以MIT 许可发布,许可全文见 LICENSE。

提示:多语言版本由 AI 翻译服务(Co-op Translator)自动生成(见文档末尾免责声明),自动翻译可能存在误差或不准确之处,正式以英文原版为权威来源;涉及关键信息时可参考英文原文核实。

<输出文章>

【免费下载链接】Web-Dev-For-Beginners24 Lessons, 12 Weeks, Get Started as a Web Developer项目地址: https://gitcode.com/GitHub_Trending/we/Web-Dev-For-Beginners

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 19:15:40

HTML系列教程:11_HTML 图像 <img> 标签零基础详解

<img> 用来在网页插入图片&#xff0c;image 的缩写。 <img> 是单标签&#xff0c;没有结束标签 </img>。 注意&#xff1a;img 标签写在 <body> 里面&#xff0c;不要写到 head。基础语法&#xff1a;<img src"图片地址" alt"图片描…

作者头像 李华
网站建设 2026/9/8 19:15:07

从面板到多标签页:SkillHub 0.2.0 交互重构与状态管理实践

老读者应该知道&#xff0c;SkillHub 这个项目我从 0.1.0 就开始在社区同步进展&#xff0c;它是一个面向开发者与创意工作者的本地技能工作台&#xff0c;把高频的小工具、模板片段、常用命令统一收拢到一个应用里&#xff0c;省得在不同软件之间来回横跳。这次 0.2.0 更新&am…

作者头像 李华
网站建设 2026/9/8 19:13:43

乐学平台数据结构考题精讲:约瑟夫问题、验证表、循环小数与BFS

简介&#xff1a;北理工大二数据结构课程乐学在线评测平台编程题的完整C实现合集&#xff0c;共29个cpp源码文件&#xff0c;压缩包大小仅25KB&#xff0c;覆盖线性表、栈与队列、树与二叉树、图、查找与排序等数据结构核心内容&#xff0c;适合正在修读该课程或准备期末机考的…

作者头像 李华
网站建设 2026/9/8 19:12:48

AI Infra实战11:模型部署Pipeline——CI/CD自动化

AI Infra实战11&#xff1a;模型部署Pipeline,CI/CD自动化 本篇目标 设计完整的模型发布Pipeline&#xff1a;从模型训练完成到线上服务更新的全自动化流程。 学完本篇你将掌握&#xff1a; 模型CI/CD vs 代码CI/CD的核心差异完整的模型发布Pipeline设计模型质量门禁灰度发布…

作者头像 李华