您可以获得的优秀(且免费!)网页开发书籍

Avatar of Victor Adedokun
Victor Adedokun

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 $200 免费信用额度!

在“哪里是学习的最佳场所?”之后,我听到从编码新手那里提出的最常见问题可能是“我应该学习哪些网页开发书籍?”好吧,请将此视为对这个问题的答案,因为我精心策划了一份书籍清单,这些书籍不仅非常适合入门前端开发,而且还免费提供。

关于 CSS 的书籍

这是我们将要重点介绍的地方,因为,好吧,这是一个关于 CSS 的网站!

CSS 的魔力,作者 Adam Schwartz

  • 非常适合: 您 CSS 之旅的下一步
  • 学习水平: 中级
  • 需要: 对 CSS 的基本了解

Adam Schwartz 在本书中涵盖了六个 CSS 概念,包括盒子模型、布局、表格、颜色、排版和过渡。即使是一些经验丰富的 CSS 开发人员也可能对这些内容感到困惑,其中一些概念可能令人费解。Adam 不遗余力地为每个概念去魅。

除了本书是关于复杂 CSS 概念的绝佳入门书籍之外,我还喜欢书中提到的每个 CSS 属性都是可点击的,这样您始终可以点击它们来查看每个属性是如何应用的。书中有很多说明性示例和进一步阅读的推荐,如果您想深入了解每一章。

我发现关于颜色的那一章非常有趣,不仅因为它涉及到使用颜色进行无障碍访问的最佳实践,而且还因为其中包含非常实用的应用程序,比如当 Adam 开始使用 CSS 来支持组织的品牌时。

弹性网页设计,作者 Jeremy Keith

  • 非常适合: 开发编写代码的策略
  • 学习水平: 中级
  • 需要: 对 CSS 的基本了解

直接来自引言

您不会在这里找到任何代码来帮助您构建更好的网站。但您会找到想法和方法。想法比代码更具弹性。我试图将网页设计史上的最具弹性的想法结合到一种构建未来网站的方法中。

Jeremy 做得很好的地方是描述软技能,例如规划、概述和编写代码的方法。因此,您不会在整本书中看到代码片段,而是会看到有关代码策略的详细信息,例如渐进增强、决定使用哪些工具以及编写面向未来的代码的挑战。

对于那些没有体验过 Jeremy 叙述内容(就像他在网页历史系列中所做的那样)的读者,可以下载一个音频文件。

CSS 网页开发入门:从新手到专业,作者 Simon Collison

  • 非常适合: CSS 的基础知识
  • 学习水平: 绝对初学者
  • 需要: 除了时间和动力之外,什么也不需要

它可能是在 2006 年出版的,但 Simon 对网页标准和无障碍访问的覆盖是永恒的,并且在今天仍然具有相关性。他提供了对互操作性的理解以及构建网页应用程序的方法,包括经常被忽视的早期规划阶段。

本书分为两个主要部分,进一步细分为 16 章。第 1 部分涵盖了 CSS 主题,例如使用文本、链接、列表、背景、图像、表格和表单。它也确实没有省略任何细节。

第 2 部分完全是关于布局的,阐明了可用性和布局操作,外加一个实用的案例研究。章节的安排方式是,一个章节自然地过渡到下一个章节。每一章也包含一个总结部分,突出显示了本章中涵盖的所有重要概念。

的确,本书为新手开发人员提供了 CSS 的坚实基础,并帮助他们逐步学习更高级的概念。这将使您的 CSS 之旅变得更加轻松。

关于 HTML & CSS 的书籍

CSS 和 HTML 通常一起教授,这在您编写第一行代码时特别有用,并且想要了解这两种语言如何相互交互。

学习编码 HTML & CSS,作者 Shay Howe

  • 非常适合: 开始您的前端旅程
  • 学习水平: 初学者
  • 需要: 完全没有先前的经验

Shay 将这本书称为一个简单而全面的指南,致力于帮助初学者学习 HTML 和 CSS。他通过专注于前端设计和开发的常见元素来做到这一点。一些涵盖的课程包括盒子模型、定位、排版、背景和渐变、列表、媒体、表单和表格。在第一章*构建您的第一个网页中,Shay 分析了一个典型网站的内容,包括元素、属性和设置 HTML 文档结构、代码验证、选择器和 CSS 重置。我发现这本书非常有指导意义,尤其是在它深入探讨了许多关键概念以及代码示例方面,您可以照着做。

关于这本书的一件深刻的事情是,Shay 从头开始构建了一个完整的项目,贯穿 12 节课程,并且在每节课程的最后,他提供了一个总结,并链接到该网站的当前状态(这样,如果您照着做,就可以与您的网站进行比较),以及每节课程中每个阶段的源代码。

如果您是一个通过实践来学习的学习者,您会发现这些资料非常有用,并且在您完成学习后,您将已经开发了一个多页面的功能性网站。

该课程的高级续篇也可以通过相同的链接免费获得。

HTML & CSS:7 天学会基础知识,作者 Michael Knapp

  • 非常适合: 开始您的前端旅程
  • 学习水平: 初学者
  • 需要: 完全没有先前的经验

您可能真的可以在七天内学会关于 HTML 和 CSS 的所有知识吗?可能不行,但这就是为什么 Michael Knapp 这本 2017 年出版的书籍直接专注于基础知识的原因。Michael 在开始学习 HTML 和 CSS 结构、逻辑和展示之前,首先深入研究了一个简短的历史课。您将迅速了解所有知识,以至于您应该对构建一个基本的网页感到非常自信,并且在此过程中还会学习一些其他内容,因为本书涉及到 SEO 和分析。

本书包含您可以选择在计算机上运行的简单程序,如果您想跟着做。

电子书版本可以在 Apple Books 上免费获得,但如果您已经订阅了 Kindle,也可以使用 Kindle 版本。

最棒的 CSS 技巧 Vol. 1,作者 Chris Coyier

  • 非常适合: 对 CSS 的强大功能感到惊叹
  • 学习水平: 中级
  • 需要: 一定的 CSS 经验

你知道 CSS-Tricks 也有关于 CSS 的书籍吗?将它排除在这个列表之外简直太愚蠢了,因为你得到的是由 Chris Coyier 解释的经典 CSS 技巧集。事实上,Chris 从他多年来运营这个网站的众多技巧中精心挑选了书中涵盖的所有示例。

每个技巧都解决了一个特定的痛点。例如,第一个 “Pin Scrolling to Bottom” 技巧展示了如何使用 overflow-anchor CSS 属性来创建与 Slack 等工具相同的聊天界面,其中屏幕在底部锚定,感觉就像页面在添加新项目时为你滚动。

关于流程的书籍

代码不仅仅是关于我们如何编写代码以及与他人协作项目,还关乎我们编写的实际代码。以下书籍是关于从规划和项目管理到与他人沟通和协作的绝佳起点。

Collaborate: Bring People Together Around Digital Projects by Ellen De Vries

  • 适合: 成为更好的协作者
  • 学习水平: 不适用
  • 需要: 对与他人良好合作持开放的心态!

Ellen 在这本书中提到了我们所有人都必须面对的事情:与他人协作。而且这绝非易事——这本书分为四个部分,深入探讨了我们可以做些什么来与他人良好合作

  • 了解如何做好准备并为协作创造合适的条件。
  • 在协作的早期阶段培养团队文化。
  • 维护健康的协作流程。
  • 收获协作的成果。

作为内容策略师,Ellen 拥有丰富的经验,可以帮助任何人参与协作项目,或从协作中获得最大收益。

The Modern Web Design Process by Webflow

  • 适合: 高级设计师、项目经理
  • 学习水平: 不适用
  • 需要: 对 CSS 的基本了解

这份免费电子书介绍了一个七步设计流程,旨在帮助定义当今网络设计的流程。

其中包括

  • 设定目标
  • 定义范围
  • 站点地图和线框图
  • 处理内容
  • 处理视觉元素
  • 测试
  • 发布

任何正在开始或正在进行新设计项目的人都会在这本书中找到宝贵的见解。最令人惊奇的是,本书的写作方式几乎让人感觉就像有人手把手地带你完成整个项目,从概念到完成。

Designing for the Web by Mark Boulton

  • 适合: 学习如何与客户合作
  • 学习水平: 初学者
  • 需要: 对设计的真诚兴趣

似乎很多组织对设计的处理方式不同。但作者 Mark Boulton 在Designing for the Web中记录了一个全面的设计流程,它消除了许多挑战,涵盖了你需要知道的一切。

这本书的独特之处在于它真正谈的是工作。当然,其中包含了大量关于设计最佳实践的宝贵信息,例如排版、颜色和布局,但你真正从这本书中获得的是这些元素如何融入设计流程。它教你如何进行研究,我们拥有什么样的技术来实现想法,以及最终如何与他人以及客户合作——这对设计负责人、项目经理、自由职业者或任何参与项目交付流程的人来说都是完美的学习素材。

Learn Version Control with Git by Tower

  • 适合: 掌握 Git
  • 学习水平: 欢迎所有水平
  • 需要: 完全没有先验知识

在这本书中,流行的 Tower Git 客户端背后的团队向学习者介绍了使用 Git 的版本控制系统的核心。在团队中工作的开发人员会特别发现它非常有用,因为它有助于有效地与构建项目不同功能的团队成员协作,即使你们相隔千里。

也就是说,对于任何可能对命令行感到羞怯并希望在那里建立自信的人来说,它仍然非常棒。

因此,无论是提交、分支、合并、拉取请求、分叉工作还是处理合并冲突,你都将从这本书中获得很多收获。

关于 JavaScript 的书籍

学习 JavaScript 似乎永远都很流行。事实上,Jason Rodriguez 在 2018 年撰写了关于 JavaScript 学习环境的文章,并提供了一个不错的免费书籍列表。从那时起,并没有出现太多新东西,但以下是我对这些书籍的看法。

Eloquent JavaScript by Marijn Haverbeke

  • 适合: 提高 JavaScript 编写能力
  • 学习水平: 中级到经验丰富的开发者
  • 需要: 拥有 JavaScript 经验

Eloquent JavaScript 确实名副其实。就我个人而言,我认为这是我见过的写得最好的 JavaScript 书籍之一。Marjin 的写作风格引人入胜,尤其是他介绍编程概念的方式,以及他如何将读者吸引进来。用他的话说,这本书简单地是关于 指令计算机并让它们按照你的意愿行事。

这本书深入探讨了 JavaScript,分为三个部分和 21 章。你将阅读大量关于基本编程概念的内容,例如值、类型、运算符和函数,以及高级概念,例如正则表达式、模块、DOM 和异步编程。他在每一章的开头都引用了一些带有哲理意味的引言,让读者为即将到来的内容做好准备,然后直接进入主题。

此外,还有三个项目可以帮助你练习新学到的技能。

Understanding JavaScript Promises by Nicholas C. Zakas

  • 适合: 想要学习使用 JavaScript 中的 Promise 进行异步编程的人。
  • 学习水平: 中级
  • 需要: 基本的 JavaScript 技巧

JavaScript Promise 是在 2015 年作为 ES6 规范的一部分引入的,用于处理 JavaScript 中的异步函数。 根据 MDN

Promise 是一个对象,表示异步操作的最终完成或失败

在这本 51 页的书中,Nicholas 在三章中解释了 Promise 的概念:基础、Promise 链和处理多个 Promise。虽然 我们提供的书籍链接是免费的社区版本,但完整版本 (可在亚马逊购买) 还包含两章关于异步函数和未处理拒绝跟踪的内容。Nicholas 通过几个插图和示例简化了 Promise 的概念。你将学习如何使用then()catch()finally() 以及如何将多个 Promise 连接在一起。Nicholas 还介绍了拒绝和解决处理程序的分配。你可能想阅读一下这本书,巩固你对该主题的理解。

Nicholas 是一位经验丰富的 JavaScript 书籍作者,他已经撰写了 15 年的 JavaScript 相关书籍。他将丰富的经验融入到这本书中(就像他在 CSS-Tricks 上的工作一样)。

Speaking JavaScript 作者:Axel Rauschmayer

  • 适合人群: 从入门级 JavaScript 提升水平
  • 学习水平: 中级
  • 需要: 面向对象编程知识

本书共分为四章,涵盖30多个主题。以下是本书的结构

  1. 第一章是对语法、变量类型、函数和异常处理的良好复习。
  2. 第二章提供 JavaScript 的历史视角,作为本书其余部分涵盖的功能类型的序幕。
  3. 第三章作为一本参考书,提供了简短、清晰的示例。
  4. 最后一章概述了有助于编写更好的 JavaScript 和遵循最佳实践的技巧、工具和库。

JavaScript Ninja 的秘密 作者:John Resig 和 Bear Bibeault

  • 适合人群: 从头开始创建跨浏览器 JavaScript 库
  • 学习水平: 中级
  • 需要: 一些先前的编程经验

实际上,这本书还有个 更新版本,但 2012 版是免费的。无论哪种方式,这都是向 John Resig 学习的好机会;你懂的,就是那个创建jQuery 的家伙。

这里涵盖的技术包括闭包、函数、DOM、使用原型进行面向对象编程以及跨浏览器策略。一个不错的额外好处是,每章之后都会附带简短的回顾,在你读完书后非常适合用作参考。

学习 JavaScript 设计模式 作者:Addy Osmani

  • 适合人群: 学习编写更高效的 JavaScript
  • 学习水平: 中级
  • 需要: 一定程度的 JavaScript 经验

设计模式的概念指的是在应用程序开发中针对常见重复问题的可复用解决方案。在这本书中,Addy Osmani 涵盖了使用 ES6 及更高版本的常见设计模式的实现,以及 React 特定的设计模式,这在处理复杂的 React 应用程序时非常有用,其中可维护性是主要目标。

涵盖的一些模式包括 Singleton、Proxy、Provider、Prototype 和 Observer 模式。在某些情况下,Addy 还包括使用这些模式的利弊,以及它们如何影响应用程序的性能。

你不知道 JS 作者:Kyle Simpson

  • 适合人群: 掌握 JavaScript
  • 学习水平: 初学者
  • 需要: 很少或没有先前的编程经验

虽然书名可能有点挑衅,但 Kyle 这里的意思是,他写这本书假定你没有任何先前的 JavaScript 经验。

Kyle 从 JavaScript 的视角开始讲解编程的基本原理。然后,他在随后的章节中介绍了更高级的概念,例如作用域和闭包、this 关键字、对象原型、async 和性能。

这里有很多优秀的细节和解释,Kyle 通过避免使用过于专业的术语,使内容非常易于理解。书中还包含许多练习,旨在巩固你的学习成果。这本书一定会让你快速掌握 JavaScript。 这本书的第二版正在筹备中,你可以在 GitHub 上关注它的进展。

JavaScript 初学者手册 作者:Flavio Copes

  • 适合人群: 初学者的参考书
  • 学习水平: 刚开始学习
  • 需要: 邮箱注册,可能还需要一些先前的经验

Flavio 为刚开始学习 JavaScript 的人整理了一本非常实用的参考书。它更像是一份快速参考指南,而不是教科书,所以那些刚开始学习的人可能想把它当作放在桌上的参考书,而不是长时间阅读的书。

数据科学的 JavaScript 作者:Gans、Hodges & Wilson

  • 适合人群: 进入数据可视化领域
  • 学习水平: 中级到高级
  • 需要: 对 JavaScript 有较好的掌握

作者介绍了现代 JavaScript 的核心功能,包括回调、Promise、继承、对象和类。他们还介绍了使用 Mocha 进行测试、React 以及数据可视化,所有这些内容都非常适合那些希望提升代码及其编写方式的人。本书对许多概念的深入程度不如其他一些书,但它在数据科学方面真的很出色。

本书使用 Data-Forge;这是一个用于处理表格数据的 JavaScript 库。书中包含大量练习,帮助读者跟上讨论主题的步伐。最后一章还包括一个将所有内容整合在一起的综合项目。

总结

我希望这本集合能帮助你,无论你是刚接触前端网页开发,还是已经有十多年的经验,或者介于两者之间。我知道,第一次接触新事物有多难,以及不知道该去哪里寻求帮助的感觉。我也知道,遇到瓶颈时,需要一些东西来帮助你提升水平。这里应该适合所有人,无论你处于学习旅程的哪个阶段。

另外,如果你还有其他可以在网上免费获取的书籍,请在评论中分享!我相信我们能整理出一份更长的列表。