Zed 的联合创始人 Max Brunfield 解释了为什么基于 Rust 的编辑器的 Windows 移植花费了这么长时间——这反映了跨平台应用程序开发者在包含微软操作系统时面临的摩擦……
Zed 的第一个 beta 版本于 2023 年 3 月发布,但当时只支持 macOS。随后在 2024 年 6 月发布了 Linux 的版本。自 2024 年初以来,Windows 的移植工作一直在进行,最初由贡献者 Junkui Zhang 贡献了大部分代码,但 Brunfield 表示,过去六周 Zed 有四名工程师在进行移植工作。目前的状态是 Windows 版本处于封闭 alpha 阶段,或者可以从源代码自行构建。
Zed 在所有平台上都可以预览,他们承诺会在 2025 年底前推出 1.0 版本。根据路线图,Windows 的支持也是其中的一部分,不过根据 Brunfield 对其状态的描述,似乎最有可能的是某种形式的预览。
其实,开发一个支持Windows的跨平台应用程序对于使用Qt(主要用于C++的框架)等框架的人来说并不算难,但Zed团队决定使用自己开发的名为GPUI的GPU加速UI框架,专为Rust设计,以提升性能。这就意味着需要使用图形API来渲染用户界面。在macOS上,使用的是Metal和MSL(Metal着色语言)。在Linux上则使用封装了Vulkan的Blade API,而Vulkan是Khronos推出的一个跨平台图形API。
这是一种底层的方法,与微软的 Visual Studio Code 采用 JavaScript 运行时不同,但这使得 Zed 以其出色的性能和较低的资源消耗而独树一帜。
Zed团队最初也在Windows上使用Blade引擎,但在ARM64版本的Windows上遇到了一些问题。最新的代码改为使用DirectX 11图形API,这是Windows的本地图形API。这样运行得更好,内存占用也更低,但这就意味着需要支持Zed的三种GPU着色器实现。Brunfields的帖子中有更多细节。
不仅是GPU代码在Windows上是不同的。Brunfield还列出了其他的一些问题,包括:
Windows 的构建说明中提到了一些其他问题,例如“路径过长”错误(可以通过启用长路径支持功能来解决)。
开发在 Windows、Mac 和 Linux 上都能良好运行的本地软件是具有挑战性的,正如 Zed 的开发者所经历的。这也是 Windows 在商业和游戏中保持粘性的原因,因为将应用程序移植到其他平台也同样困难。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.