关于学习 Web 开发

MDN 学习 Web 开发旨在教授前端 Web 开发人员在当今 Web 行业中获得就业和长期发展所应具备的基本技能和知识。它体现了我们认为 Web 应具备的价值观——可访问性、可持续性、可用性、性能和社区。我们希望教育工作者、开发人员和学生能够使用这些资源,并在他们的工作、教学和所构建的产品中倡导这些价值观。

本内容由 MDN 社区创建,并得到了 Mozilla 内部以及更广泛的 Web 社区专家的审阅和反馈。感谢您宝贵的意见;您知道您是谁!

背景与动机

我们最初于 2016 年推出了 MDN 学习 Web 开发版块,旨在让 MDN 对非专业人士更易于访问,并帮助初级 Web 开发人员从“入门级到熟练”。

这些内容相当成功,但几年后我们发现其结构不够完善。初学者真正需要的是一个可靠的学习路径,可以遵循它来获取所需的知识,而不是期望他们自己弄清楚要学什么以及何时学习。

此外,Mozilla 每天都与行业专业人士交流,我们定期收到关于新员工知识差距的反馈。招聘经理经常观察到:

  • 过度专注于使用框架快速构建 Web 应用程序,但缺乏对这些框架背后底层技术的理解。这导致解决问题能力不足,并且随着工具的变化,长期就业能力也较低。
  • 缺乏语义化、可访问性和响应式设计等核心最佳实践。这导致缺乏用户焦点,从而限制了可用性。
  • 对浏览器基本工作原理、如何展示信息以及免费获得的交互性等知识存在差距。这导致解决方案过于复杂且通常无法访问。
  • 解决问题、团队合作、研究和其他重要软技能有限。

因此,我们创建了一个课程,旨在帮助人们学习更好的技能组合,提高他们的就业能力,并使他们能够构建一个更好、更易于访问、更负责任的未来网络。我们希望他们有最好的成功机会。我们于 2024 年初推出了 MDN 课程

然而,我们很快收到了反馈,用户发现 MDN 上有两个学习资源很令人困惑,课程/学习路径在一个地方,学习内容在另一个地方。因此,我们于 2024 年 12 月将课程合并到学习区

目标受众

学生

本课程适用于以下几类学生:

  • 希望在行业中获得工作,这可能涉及获得相关资格或认证的学生。本课程将作为他们应该学习什么的指南。
  • 希望“提升”技能的现有 Web 开发人员,确保他们的技能组合是最新的,并识别他们知识中需要进一步学习的差距。
  • 在其他领域(例如后端 Web 开发人员或特定平台开发人员)具有现有开发经验的非前端 Web 开发人员,希望进入前端 Web 开发领域,并希望获得他们应该学习的主题指南。

教育工作者

教育工作者在为 Web 相关大学学位、大学课程、编程学校课程或类似课程创建课程、单元和评估规范时,可以使用本内容作为指南。遵循我们文章中的学习成果将有助于确保课程教授当前的技术和最佳实践,并避免不良实践和过时信息。

要了解更多信息,请查阅我们的教育工作者资源页面。

注意:完整的 MDN 学习 Web 开发课程可作为方便的 PDF 文件与您的学生和同事分享。下载课程

范围

“前端开发人员”这个术语可能含糊不清;它对不同的人可能意味着不同的事情,并且从事前端工作的人可能被期望执行各种不同的任务。

涵盖内容

这组文章不试图深入教授 Web 开发人员可能需要了解的每个主题。课程涵盖以下内容:

  • 核心技术技能,例如语义 HTML、CSS 和 JavaScript 基础。
  • 最佳实践,例如可访问性、响应式设计和 UI 设计理论。
  • 关键工具,例如框架和版本控制。
  • 培养获得工作所需心态和态度的软技能。
  • 环境知识,如计算机和文件系统、浏览网页、命令行基础知识和代码编辑器。
  • 一些我们认为在开发人员开始扩展知识和发展专业领域时有用的“扩展”技能。这包括:
    • CSS 变换和动画
    • Web API 的常见类别(例如,媒体、图形和客户端存储)
    • 服务器端 Web 开发基础
    • 性能
    • 安全和隐私
    • 测试

细节程度

所呈现的主题以不同程度的细节进行涵盖。

  • 有些内容深入涵盖,例如 HTML 和 CSS 基础。在学生在学习旅程中走得太远之前,清晰地理解这些内容非常重要。
  • 有些内容涵盖得更肤浅,例如版本控制或测试。理解这些主题是什么并开始学习一些基础知识很重要,但这些技能可以在您职业生涯的后续阶段进行扩展。

未涵盖内容

本课程还明确不涵盖以下几个领域:

  • 对后端语言/平台的详尽覆盖。我们在Node.js (Express)Python (Django)中提供了简要介绍,因为每个 Web 开发人员了解 HTTP 和服务器端技术的工作原理都是有用的。但是,我们不提供跨多个平台的详尽覆盖;这超出了 MDN 的范围。
  • 对传统关系数据库(例如,MySQLPostgres)和其他服务器端数据存储(例如,云数据库,如MongoDBGoogle Cloud Datastore)的深入覆盖。我们在服务器端网站编程模块中提供了对此类技术的简要介绍。
  • 深入的 DevOps 主题,例如用于配置和自动化的云平台(例如,Amazon AWSGoogle Cloud PlatformMicrosoft Azure)以及容器化工具(例如,KubernetesDocker)。我们只是略微提及了一些被认为是 DevOps 领域的工具——例如 GitHub 和自动化测试工具——但这些工具与前端开发人员领域有明显的交叉。
  • 开发人员设计中概述的基础知识之外的图形设计。
  • 与产品和项目管理等角色相关的技能(例如,组织、研究和规划)。

归属

此资源可供任何人免费使用。如果您觉得它有用,我们恳请您考虑执行以下操作:

  • 链接到它。例如,教育工作者可以在他们的公开课程信息中包含以下内容:

    html
    <p>
      This course is based on
      <a href="https://mdn.org.cn/en-US/curriculum/"
        >MDN Learn Web Development</a
      >.
    </p>
    
  • 告诉其他人!我们希望尽可能多的学生和教育工作者开始使用这些材料,并将其作为 Web 开发人员基础知识的标准。

注意:教育工作者应将这些材料作为指南,但其使用并不意味着 Mozilla 的认可。

更新流程

Web 开发行业正在不断快速变化。为了保持我们的建议最新,我们将定期审查我们的材料,更新我们的更新日志,并每年发布公告,联系已知符合标准的课程创建者,告知他们课程已更改,并鼓励他们酌情审查/更新其课程。

我们计划每年第二季度进行此操作,以便教育工作者在第二/第三季度有时间在下一学年开始之前实施更改。

常见问题

Scrimba 合作问题

MDN 如何知道 Scrimba 的课程质量高且遵循最佳实践?

在我们开始与 Scrimba 讨论合作之前,他们已经享有盛誉。然而,我们不仅仅听信社区的说法。我们对 Scrimba 的前端开发人员职业路径 (FDCP) 进行了广泛审查,并向他们提供了改进建议,重点是增加最佳实践的覆盖范围并符合我们的核心模块。Scrimba 采纳了我们所有的反馈,FDCP 甚至比以前更好了。既然它符合我们的课程核心,我们相信它符合 MDN 标准。

MDN 是否与 Scrimba 共享用户数据?

我们优先考虑用户隐私和透明度。MDN 与 Scrimba 共享的唯一信息是用户从 MDN 导航到 Scrimba 的情况,这是通过他们自己的操作(点击标记为外部的链接)发生的。

在我们嵌入 Scrimba 内容到 MDN 的情况下,在用户选择与 Scrimba 内容互动之前,Scrimba 不会看到用户数据。

Scrimba 的内容并非免费。这是否与 MDN 提供免费内容的理念相冲突?

Scrimba 的许多内容需要付费订阅,但他们也提供了几门免费的完整课程,注册后即可访问。

还值得指出的是,Scrimba 的课程并非使用 MDN 学习 Web 开发所必需的——它们是为那些希望付费学习涵盖我们课程核心的结构化课程的人提供的一种增强。您仍然可以通过学习我们的文章免费学习我们所有的学习成果。

完成 Scrimba 的前端开发人员职业路径后是否会获得认证?

是的,一旦您完成了前端开发人员职业路径中的所有主题,您就可以获得一份结业证书,可以与潜在雇主分享或添加到您的作品集中。有关更多信息,请参阅我可以在哪里找到我的结业证书?