这款开源工具可能会彻底解决设计交付难题 (PenPot)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00这是 Penpot,一款与 Figma 等工具竞争的开源设计工具。
00:00:05起初,它看起来确实很像 Figma,但其运行逻辑完全不同。
00:00:10因为它在底层直接使用真实的 CSS,无需后续进行任何转换。
00:00:15这极大地改变了开发交接的问题。
00:00:18让我来展示一下我的意思。
00:00:20Penpot 是一款基于浏览器的 UI 设计和原型制作工具。
00:00:29从表面上看,它确实听起来像 Figma 或 Sketch。
00:00:32但实际上,这里有主要的区别。
00:00:35Penpot 是 100% 开源的,并且构建在真正的 Web 标准之上。
00:00:40即 SVG、CSS Flexbox、Grid 和 HTML。
00:00:43所以,你不需要在后续还需要解码和重构的工具中进行设计,
00:00:49你所做的工作已经更接近 Web 的实际运行方式了。
00:00:52你可以用一条 Docker 命令进行自托管,
00:00:54这也是我在这段视频中要演示的内容,因为这就是我所专注的方向。
00:00:58即开源版本的工具以及如何对比它们。
00:01:01在 Penpot 中,设计师依然拥有组件、布局和原型功能。
00:01:06但开发人员得到了真正重要的东西,即看起来像真实代码的输出。
00:01:11没有奇怪的中间层,也不需要猜测正在发生什么。
00:01:14而且它是免费的。
00:01:15无限文件,无限协作者,这就是人们关心它的原因。
00:01:20如果你喜欢开源工具和能够加速工作流程的编程技巧,
00:01:23请务必订阅本频道。
00:01:25我们一直在推出新视频。
00:01:27现在,Penpot 是一款设计工具。
00:01:28那么你为什么要关心它呢?尤其是作为开发者的你?
00:01:31因为它解决了一个非常具体的问题。
00:01:34即项目交接或将设计转化为真实代码的痛苦。
00:01:39Penpot 让设计感觉就像是 Web 原生的。
00:01:42所以当你检查某个元素时,你不需要猜测,而是在阅读代码。
00:01:46让我展示给你看。
00:01:48好了,现在开始快速演示。
00:01:50这正运行在我自托管的 Penpot 实例上。
00:01:54我使用了刚才配置的官方 Docker Compose 文件,
00:01:58通过一条“Docker Compose up”命令就将其启动了。
00:02:00这非常棒。
00:02:02虽然启动它花了一些时间,但一旦运行起来,效果非常好。
00:02:07我们得到了一个漂亮的登录页面,外观整洁,可以在这里创建新项目。
00:02:12现在让我们来构建一些东西,就一个简单的卡片,没什么特别的。
00:02:16就一个容器,设置为 Flexbox 布局,添加一些内边距。
00:02:21我会放入一个标题、一些文字和一个按钮。
00:02:24也许再多加一点,再加一个卡片,我可以复制粘贴。
00:02:28我会做一些快速编辑。
00:02:30我们将切换到检查模式。
00:02:32这部分非常重要。
00:02:33你可以在实际 CSS 中获得清晰的结构、Flexbox 属性、间距和布局。
00:02:39这不是粗略的转换,而是你已经理解的东西。
00:02:42你可以直接复制并放入你的项目中。
00:02:46你还可以使用变体、令牌、原型流程,以及导出为 SVG。
00:02:51这就是这里的重点。
00:02:52这消除了开发团队的大量阻力,
00:02:54尤其是当你独自负责整个技术栈时。
00:02:58现在让我们谈谈大多数开发者感到怀疑的部分。
00:03:02起初,这听起来像是:酷,又一个设计工具。
00:03:06但区别不在于它看起来如何,而在于它的工作方式。
00:03:09Figma 是在模拟布局。
00:03:12它的自动布局功能受到 Flexbox 的启发,但你最终还是要在脑海中进行转换。
00:03:16(脑子里的转换)
00:03:17Penpot 的起点更接近实际的 CSS,所以
00:03:21在设计和代码之间的心理转换会少很多。
00:03:25还有锁定(Lock-in)的问题,对吧?
00:03:26Figma 使用私有文件格式。
00:03:29我们还要面对按席位收费的模式。
00:03:31而 Penpot 是开源的,所以你可以自托管它。
00:03:34你的数据保留在 SVG、CSS 和 JSON 中。
00:03:38交接过程也不同,因为在 Figma 中这感觉像是一个额外的层,对吧?
00:03:42开发模式、插件、额外的步骤。
00:03:45在 Penpot 中,它直接内置了。
00:03:47检查视图已经更接近我们实际需要的了。
00:03:50平心而论,Figma 很棒。
00:03:53我在用它,它很大,是一个完善的生态系统。
00:03:56但 Penpot 从一开始就是为开发者考虑的。
00:04:00那么开发者到底喜欢它的什么呢?
00:04:02嗯,我刚才说过最大的优点了,对吧?
00:04:04很简单,交接问题变小了。
00:04:07这对我们来说非常重要。
00:04:08你不再需要进行布局的逆向工程了。
00:04:11你读取的内容可以直接映射到 CSS。
00:04:15这也体现在设计令牌(Design Tokens)中。
00:04:18颜色、间距、排版,它们的结构方式更接近
00:04:22你已经习惯的编码思维。
00:04:24而且对于一些团队来说,自托管是一件大事。
00:04:27如果你关心隐私、内部工具、CI/CD,这些都很重要,对吧?
00:04:33但开源并不完美,没有工具是完美的,即使是 Figma,对吧?
00:04:37Penpot 在处理超大文件时可能会有些吃力。
00:04:40插件生态系统也小得多。
00:04:43而且如果你深陷 Figma 的使用习惯中,那会有一定的学习曲线,
00:04:47但老实说,它非常容易上手,因为它代表了一种不同的思维方式。
00:04:51所以,虽然在某些方面不够精致,但它大大缩小了设计和
00:04:56开发之间的差距,老实说,这正是我们许多人所追求的。
00:04:59那么,它值得使用吗?
00:05:01我认为值得。
00:05:02这很有趣。
00:05:02我喜欢这样的工具。
00:05:03所以对于你们中的许多开发者来说,是的。
00:05:06如果你正在从事副业或任何开发繁重的项目,这是有意义的,
00:05:10特别是如果你关心省钱的话,对吧?
00:05:12你正在构建 MVP,或者构建类似这样的东西,
00:05:14你试图避免技术锁定,并且
00:05:16想要获得能够干净地转换为代码的设计。
00:05:19现在,如果你在一家拥有庞大设计系统的大公司,
00:05:23你们已经围绕 Figma 构建了一切。
00:05:24所以你们可能不会切换到这个工具,至少不会一夜之间切换,但
00:05:28这并不是重点。
00:05:29Penpot 不需要取代一切就能发挥价值。
00:05:31对于许多团队,对于你们中的许多人来说,它涵盖了你所需的大部分功能,
00:05:35它让开发速度更快。
00:05:36这就是为什么越来越多的开发者开始真正尝试它。
00:05:39它减少了将设计转化为代码所需的交接时间。
00:05:45如果你想尝试一下,非常简单。
00:05:46前往 Penpot App,使用云端版本,或者像我一样操作。
00:05:50如果你想要更多控制权,就用 Docker 进行自托管。
00:05:54如果你喜欢这样的开源工具和编程技巧,
00:05:57请务必订阅 Better Stack 频道。
00:05:59我们在下一个视频再见。

Key Takeaway

Penpot 通过将设计逻辑直接建立在 CSS 原生标准之上,消除了设计向代码转换过程中的中间层与猜测,从而显著提升了开发者的交接效率。

Highlights

Penpot 构建于 SVG、CSS Flexbox 和 Grid 等原生 Web 标准之上,设计输出直接映射为代码。

该工具支持通过单条 Docker 命令实现本地部署,允许用户完全掌控数据。

设计资产以 CSS、SVG 和 JSON 格式存储,避免了私有文件格式带来的供应商锁定。

检查模式支持直接获取符合实际开发的 Flexbox 属性、布局间距和 CSS 代码,无需逆向工程。

Penpot 提供无限文件空间和无限协作者支持,且无需按席位付费。

在处理超大文件时,该工具的性能表现较成熟的商业软件稍显吃力。

Timeline

设计与开发的底层逻辑差异

  • Penpot 基于 Web 标准构建,直接使用真实的 CSS、Flexbox 和 Grid 技术。
  • 设计工具内置代码检查功能,消除了传统设计转代码过程中的额外中间层。
  • 开源属性支持无限文件与协作者,且不存在按席位付费的限制。

大多数设计工具通过模拟布局运行,要求开发者在脑中进行心理转换。Penpot 改变了这一逻辑,它将设计与 Web 开发的实际运行方式对齐。这种原生兼容性意味着开发人员在查看设计元素时,直接读取的是代码属性而非近似的模拟数据。

Docker 自托管与功能演示

  • 通过单条 Docker Compose 命令即可完成 Penpot 的本地环境部署。
  • 检查模式提供清晰的 Flexbox 布局结构与间距参数,可直接复用到项目中。
  • 设计令牌与原型功能的结构与编码思维保持高度一致。

用户可完全自托管该工具,适用于对隐私和 CI/CD 环境有要求的开发团队。在实际操作中,构建组件时直接应用 Flexbox 布局属性,使得检查模式下的 CSS 输出能够直接复制使用,无需进行布局的逆向工程。

优劣势对比与适用场景

  • Penpot 减少了设计与代码之间的心理鸿沟,避免了私有文件格式导致的锁定风险。
  • 相比生态完善的 Figma,Penpot 在超大文件处理性能和插件生态方面仍有不足。
  • 该工具特别适合独立开发者、MVP 构建阶段或需要降低成本的敏捷团队。

虽然 Figma 拥有庞大的生态系统,但 Penpot 针对开发者视角提供了更直接的交接体验。对于已有庞大设计系统的大型企业,过渡可能需要时间,但对于追求开发速度和避免技术锁定的项目,Penpot 展现了明显的效率优势。

Community Posts

View all posts