基于Rust语言的代码编辑器Zed的联合创始人Max Brunsfeld近日解释了为什么该编辑器Windows版本移植耗时如此之久,这一情况凸显了跨平台应用开发者在支持微软操作系统时面临的技术摩擦。
Zed首个测试版于2023年3月发布,但仅支持macOS。Linux版本随后在2024年6月推出。Windows移植工作从2024年初开始,最初主要由贡献者Junkui Zhang提供代码提交,但Brunsfeld表示,在过去六周里,Zed已有四名工程师专门负责Windows移植工作。目前Windows版本处于封闭内测阶段,用户也可以通过源代码自行构建。
Zed在所有平台上都处于预览状态,计划在2025年底前发布1.0正式版。根据路线图,Windows支持也是其中一部分,不过从Brunsfeld对当前状态的描述来看,某种形式的预览版发布可能性更大。
对于使用Qt等框架(主要面向C++)的开发者来说,开发支持Windows的跨平台应用并不困难。但Zed团队决定使用自己开发的GPU加速UI框架GPUI来优化性能表现。这意味着需要使用图形API来渲染用户界面。在macOS上使用Metal和MSL(Metal着色语言),在Linux上则使用封装了Vulkan(Khronos开发的跨平台图形API)的Blade API。
这是一种底层开发方法,与微软Visual Studio Code使用JavaScript运行时的方式不同,但这让Zed在响应速度和资源占用方面表现出众。
Zed团队最初在Windows上也使用Blade,但在Windows ARM64构建版本上遇到了问题。最新代码改用DirectX 11,这是Windows原生图形API。虽然运行效果更好,内存占用更低,但这意味着需要支持Zed GPU着色器的三种不同实现。
Windows平台的差异不仅体现在GPU代码上。Brunsfeld还列出了其他问题,包括:
文件系统操作差异,包括无法在.exe文件运行时覆盖该文件,这使更新变得复杂。
崩溃报告机制不同,需要重新构建崩溃报告基础设施。
按键绑定习惯不同。
文件系统路径约定不同,影响从Windows客户端编辑远程Linux机器上的文件。
需要为WSL(Windows Linux子系统)提供一流支持,而不是依赖SSH进行授权验证。
Windows构建说明显示了其他问题,如"路径过长"错误(可通过设置长路径支持来解决)。
正如Zed开发团队的经验所示,编写在Windows、Mac和Linux上同样表现出色的原生应用程序具有挑战性。这也解释了为什么Windows在商业和游戏领域具有粘性,因为反向移植同样困难。
Q&A
Q1:Zed编辑器是什么?目前支持哪些平台?
A:Zed是一款基于Rust语言开发的代码编辑器,使用自研的GPU加速UI框架GPUI来优化性能。目前已发布macOS和Linux版本,Windows版本正在封闭内测中。该编辑器以快速响应和低资源占用著称。
Q2:为什么Zed的Windows版本开发这么困难?
A:主要因为Zed使用了自研的底层GPU加速框架,需要针对不同平台使用不同的图形API。Windows平台在文件系统操作、崩溃报告、按键绑定、路径约定等方面都与其他平台存在差异,还需要支持WSL,这些都增加了开发复杂度。
Q3:Zed什么时候会正式发布1.0版本?
A:根据官方路线图,Zed计划在2025年底前发布1.0正式版,Windows支持也将包含在内。目前所有平台的Zed都处于预览状态,Windows版本可能会先以某种预览形式发布。
好文章,需要你的鼓励
33年后,贝尔纳多·金特罗决定寻找改变他人生的那个人——创造马拉加病毒的匿名程序员。这个相对无害的病毒激发了金特罗对网络安全的热情,促使他创立了VirusTotal公司,该公司于2012年被谷歌收购。这次收购将谷歌的欧洲网络安全中心带到了马拉加,使这座西班牙城市转变为科技中心。通过深入研究病毒代码和媒体寻人,金特罗最终发现病毒创造者是已故的安东尼奥·恩里克·阿斯托尔加。
这项由多伦多大学领导的研究首次系统性地揭示了分词器选择对语言模型性能的重大影响。通过训练14个仅在分词器上有差异的相同模型,并使用包含5000个现实场景测试样本的基准测试,研究发现分词器的算法设计比词汇表大小更重要,字符级处理虽然效率较低但稳定性更强,而Unicode格式化是所有分词器的普遍弱点。这一发现将推动AI系统基础组件的优化发展。
人工智能安全公司Cyata发现LangChain核心库存在严重漏洞"LangGrinch",CVE编号为2025-68664,CVSS评分达9.3分。该漏洞可导致攻击者窃取敏感机密信息,甚至可能升级为远程代码执行。LangChain核心库下载量约8.47亿次,是AI智能体生态系统的基础组件。漏洞源于序列化和反序列化注入问题,可通过提示注入触发。目前补丁已发布,建议立即更新至1.2.5或0.3.81版本。
北京大学研究团队提出NExT-Vid方法,首次将自回归下一帧预测引入视频AI预训练。通过创新的上下文隔离设计和流匹配解码器,让机器像人类一样预测视频下一帧来学习理解视频内容。该方法在四个标准数据集上全面超越现有生成式预训练方法,为视频推荐、智能监控、医疗诊断等应用提供了新的技术基础。