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

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 版本一起工作,并与最新版本保持同步。或者,你可以使用 Colima 或安装在 WSL2 中的 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

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.