DDEV将成为您最喜爱的Web开发环境的16个理由

DDEV有什么不同?它是一个基于容器的本地Web开发环境。 以下是您应该尝试一下的几个理由。
5 位读者喜欢这篇文章。
woman on laptop sitting at the window

CC BY 3.0 US Mapbox Uncharted ERG

在 2022 年,您有多种本地 Web 开发环境可供选择,无论您是设计师、开发人员、测试人员还是任何类型的开源贡献者。 由于贡献者使用的大多数工具和平台恰好在许多不同的操作系统上运行,您甚至可以选择构建自己的环境。 我是 DDEV 的维护者,DDEV 是一种开源工具,可在几分钟内启动本地 PHP、Node.js 和 HTML/JS 开发环境。 以下是我认为您会喜欢它用于您的开发环境的 15 个理由。

1. 跨平台

DDEV 支持并测试,并且拥有适用于 Linux (amd64 和 Arm)、WSL2、Windows 和 macOS(M1 和 amd64)的完全自动化的测试套件。

有些工具要求您使用一个精确版本的 Docker(它们甚至可能会擅自安装它),DDEV 可以与几年前的 Docker 版本一起使用,并且可以跟上最新版本。 或者,您可以使用安装在 WSL2 中的 Colima 或 Docker。

DDEV 的二进制文件在 macOS 和 Windows 上经过签名和公证,因此您在安装和使用 DDEV 时无需躲避可怕的操作系统警告。

2. 性能

DDEV 团队认为,macOS 和 Windows 上的 DDEV 具有您可以在任何本地开发中获得的最佳性能,无论是在启动 DDEV(10 到 20 秒)还是在 Web 服务方面。 在根本不需要设置的情况下,Mutagen 功能将 Web 服务速度至少提高了 10 倍。 当然,在 Linux(包括 WSL2)上,它确实非常出色。

3. 配置文件管理

DDEV 很高兴能让您快速轻松地入门,甚至可以管理您的配置文件。 您可以使用自己的存储库,也可以按照快速入门指南创建一个新的存储库,您将很快开始一个项目。 您也可以关闭配置文件管理,以便在需要更多自定义时微调您团队的方法。

DDEV 的配置文件只有在使用 DDEV 环境时才会被使用,因此如果错误地将它们部署到生产环境,您的项目不会意外地具有 DDEV 设置。 如果您为 Lando *和* DDEV 设置了相同的项目,则 DDEV 设置不会破坏 Lando。

4. 受信任的 HTTPS

DDEV 使用 mkcert 允许您使用 本地信任的 HTTPS 来进行所有工作,就像它在真实世界中工作一样。 您无需单击可怕的浏览器警告即可在开发中查看您的项目。

5. 数据库快照

DDEV 具有 ddev snapshot 功能,允许您快速捕获数据库的状态,然后快速恢复到不同的时间点。 您可以为项目的不同分支命名快照。 它比传统的导出和导入快得多。

6. 简单、无需依赖的单二进制文件安装

DDEV 使用 Go 编写。 由于 Go 是一种相当新的语言,因此在社区参与方面这可能有点不利,但对于跨平台支持来说,这是一个巨大的优势。 Go 可以轻松地进行跨平台构建,并且生成的独立二进制文件根本没有依赖项(除了 Docker)。 没有要安装的库,没有要维护的 DLL。 并且对命令的响应非常好!

7. Xdebug 步进调试

很多人第一次体验 真正的步进调试环境 都是使用 DDEV,因为它真的、真的很容易。 感谢 PHPStorm,根本不需要设置。 使用 VSCode 或 Codium,大约需要 2 分钟的设置。 不再需要将打印语句插入到代码中!

8. 显式支持您的 CMS

DDEV 内置了对许多流行的内容管理系统 (CMS) 和平台的支持。“显式支持”意味着有设置管理和为特定平台定制的 NGINX 配置。 以下是支持的部分列表

  • Drupal
  • Backdrop
  • WordPress
  • TYPO3
  • Magento
  • Laravel
  • Shopware

9. 集成和插件

虽然 DDEV 为您选择的 CMS 提供显式支持和可选设置管理,但许多开发人员使用其他平台,包括 Symfony、Moodle、Mautic 等。 DDEV 对 NodeJS 具有显式支持,包括用于处理和作为守护程序。

DDEV 还提供了一个受支持、维护和测试的 Redis、Solr、Memcached、Elasticsearch、Mongo、Varnish 等插件库。

10. Gitpod

您的本地开发环境甚至不再需要是本地的。 DDEV 完全支持在 Gitpod 中使用,因此您可以将您的开发移到云端。

11. 没有供应商锁定

DDEV 绝对没有供应商锁定。 DDEV 平台背后的想法是将 DDEV 作为拼图中适合您的部分插入到从开发到部署的工作流程中。 混合搭配! DDEV 是一个开源社区项目,可与您可以使用的任何托管服务完美协作。

12. 尊重您的主机

DDEV 不会假定您仅将计算机(或容器)用于 DDEV。

太多本地开发工具乐于在您没有完全参与的情况下重新配置您的主机。 它们中的不止一个编辑您的 /etc/exports 文件,您无法选择退出。 它们中的几个实际上会在安装时用不同的版本覆盖您的 Docker 安装。 DDEV 试图确保,在不太可能发生需要在您的计算机上进行任何更改的情况下,您是执行更改的人,并且您有选择权。

例如,HTTPS 支持需要一次运行 mkcert -installNFS 支持需要一些额外的设置。 因为几乎所有东西都在容器中运行,所以在主机上首先需要做的事情非常少。

13. 社区

多年来,DDEV 社区一直非常出色,贡献了想法、代码和共享支持。 有 开放的 DDEV 服务、工具、代码段、方法集合,以及来自世界各地用户的 博客和演示文稿 等。

DDEV 顾问组为项目提供监督、指导和反馈。 欢迎任何人加入。

14. 开源

DDEV 是巨大开源生态系统中的一个小齿轮。 如果没有构成运行它的 Linux 容器的数百或数千个项目,它甚至无法存在,当然,PHP 本身是一个基本的上游项目。 我们乐于向上游和下游项目贡献力量,例如

  • Docker:DDEV 参与 Docker 项目,因为 DDEV 用户始终在突破极限。 我们积极参与 Docker 问题队列。
  • Mutagen:当您在容器中编辑代码时,需要在本地主机和容器环境之间进行大量同步。 Mutagen 帮助弥合 DDEV 用户的这一差距。
  • mkcertmkcert 工具允许 DDEV 在您的本地开发环境中提供受信任的 HTTPS。 我们从中受益匪浅,并贡献了测试和错误修复。
  • Xdebug:DDEV 与 Xdebug 配合良好,当然,当出现问题时,我们会立即听到。 我们将我们的发现报告回 Xdebug 问题队列。
  • deb.sury.org PHP 包:我们使用的 Debian PHP 包(在撰写本文时,从 5.6 到 8.2)来自 deb.sury.org。 因为 DDEV 社区是这些软件包的早期消费者,所以我们经常出现在该问题队列中。

15. DDEV 不断更新

DDEV 始终与您需要的依赖项保持同步。 例如,在撰写本文时,PHP 8.2.0 和 Drupal 10 尚未发布,但 DDEV 已经支持它们数月了。

16. 您自己的理由

我很想听听是什么让 DDEV 成为您的最爱,DDEV 团队也一直在倾听您未来想要的功能。当然,我们也希望听到当事情没有按照您希望或期望的方式工作时的情况。请访问我们的 Git 仓库 来贡献您的力量!


注意:这是 一篇博客文章的更新版本,该文章最初发表在 ddev.com 上。

4 条评论

好的,我读了所有内容,但不得不去您的 Git 仓库才能弄清楚目标受众实际上只针对“本地 PHP+Node.js Web 开发环境”。因为我不从事任何 Web 开发,所以这篇文章浪费了我的时间。这都是因为您没有在文章中的某个地方写明这些内容。请修改它,以便其他人不必像我一样。我祝您一切顺利,但并不是我们所有人都在做 Web 开发。

DDEV 主要针对 Mac 用户,其他平台的用户会发现它很难使用。DDEV 也非常具有侵入性,并且会向您的项目中添加不需要的设置和文件,您可能会发现将您的网站上传到实时服务器时会出现问题。我对这个项目有点失望。

我每天都使用 DDEV。我从来没有发现它有任何问题。我也不是一直在 Mac 上使用它,它在 Linux 上也运行良好

回复 作者:maosn

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.