新航站楼背后的秘密:Ghostty

在这个圣诞假期,Mitchell Hashimoto 推出了 Ghostty。

Ghostty 一经发布便迅速获得关注——不仅仅是因为 Mitchell Hashimoto 的身份(HashiCorp 的创始人),更是因为 Ghostty 本身的品质,搅动了停滞不前的终端仿真器世界。

作为“公开构建”的典型例子,米切尔最近出现在 Changelog 播客中,在长达 100 分钟的节目中,他分享了许多有趣的故事,包括对 Ghostty 项目的诞生、目标和发展过程的见解。

以下是播客中有关 Ghostty 的一些有趣事实:

Ghostty 的起源

HashiCorp 创始人米切尔在 2023 年离开公司之前一直从事服务器端开发工作。

他一直热爱编程,离开 HashiCorp 后,他想探索一些与之前工作不同的新事物。对他来说,这意味着从事“非基础设施”、“非服务器端”、“桌面软件”等工作,这促使他创建了 Ghostty。

已经有了 terminal.app 为何还要构建 Ghostty?

终端的潜力还没有被充分挖掘,市场上只有少数几个终端模拟器。相比之下,浏览器却有数百种(而且数量还在不断增长!)。

米切尔希望打造一个各方面都更优越的航站楼。

Ghostty 的主要功能

  • 快速地
  • 跨平台
  • 本国的
  • Comparison

    什么定义了快速终端?

  • 文件加载速度:终端加载文件的速度有多快?
  • 输入延迟:按下一个键后多久字符会出现在终端上?
  • 渲染速度:滚动浏览大文件时的帧速率有多高?
  • Ghostty 为何速度很快?

    Ghostty 作为本机应用程序开发,针对每个平台进行了特定的优化,一直深入到指令级架构。

    例如,在 Apple Silicon 上,它使用专有 ARM 指令,而在 Intel 上,它使用 SIMD 指令。

    对于渲染,Ghostty 在 macOS 上使用 Metal 框架,在 Linux 上使用 OpenGL。

    想象终端的未来

    终端功能可以扩展吗?

    是否可以直接在终端内打开 HTML 或 PDF 文件?为什么要离开终端环境?

    Ghostty 的目标是什么?

    影响。

    由于没有人专注于改善终端,Ghostty 可以承担这一角色,并以某种方式影响整个生态系统,促进可持续发展的社区。

    这就是“libghostty”如此重要的原因——Mitchell 不希望 Ghostty 成为唯一的终端程序。未来,任何人都应该能够开发自己的终端程序——无论是针对 iOS、Android 还是任何其他平台——而无需重新发明核心。

    为什么不早点公开发布?

    米切尔想花更多时间陪伴当时只有几个月大的小女儿。

    他只能在她睡着的时候挤出时间来写代码。

    为什么选择 Zig 作为 Ghostty 的代言人?

    选择 Zig 是因为用起来很有趣。Rust 虽然也是一门很棒的语言,但没那么有趣。

    Ghostty 如何影响 Zig?

  • Zig团队已经使用Ghostty进行编译并测试Zig的迭代是否影响编译器的稳定性。
  • 包管理器功能是 Mitchell 向 Andrew 建议的,这样可以更轻松地在 Linux 上分发 Ghostty。
  • 开发 Ghostty 最具挑战性的部分是什么?

    字体。

    大约 70% 的开发时间都用于字体渲染。

    其余 30% 用于构建终端仿真器和选择令人满意的默认字体。

    是什么让 Ghostty 脱颖而出?

    “这是我形容苹果推出的视网膜屏幕的其中一种产品。你只有用过才会知道它有多好。”—— Mitchell Hashimoto

    毕竟

    听完整个播客,我们可以清楚地看到米切尔是多么的热情,以及他不断突破界限的动力:为什么航站楼必须是这个样子?为什么不能更好一点?

    最后,谢谢你,米切尔!

    一旦您使用 Ghostty 完成本地开发,为什么不使用 Leapcell 将项目部署到云端?

    Leapcell

    Leapcell 是用于 Web 托管、异步任务和 Redis 的下一代无服务器平台:

    **1. 多语言支持**

  • 使用 JavaScript、Python、Go 或 Rust 进行开发。
  • **2. 免费部署无限项目**

  • 仅按使用量付费 — 无请求,无费用。
  • **3.无与伦比的成本效率**

  • 按需付费,无闲置费用。
  • 例如:25 美元支持 694 万个请求,平均响应时间为 60 毫秒。
  • **4. 简化的开发人员体验**

  • 直观的用户界面,轻松设置。
  • 完全自动化的 CI/CD 管道和 GitOps 集成。
  • 实时指标和日志记录可提供可操作的见解。
  • **5. 轻松的可扩展性和高性能**

  • 自动扩展以轻松处理高并发。
  • 零运营开销——只需专注于建设。
  • 在文档中探索更多!

    在 X 上关注我们:@LeapcellHQ

    阅读我们的博客