根据Ubuntu官方博客的最新文章,Canonical公司确实计划在未来进一步扩大基于Snap的Devpack方案,目标是让Ubuntu成为更完善的应用程序开发平台。



从Ubuntu 22.04 LTS到即将发布的26.04 LTS,Canonical一直在演进其工具链策略。过去,开发者需要自己组装开发环境(如IDE集成、框架CLI、构建工具等)。在24.04 LTS及后续版本中,Ubuntu开始从“提供工具链”转向“精选工具链”,引入了更新的GCC、LLVM、Go、Java、.NET和Rust版本。

Devpack的核心定位
Devpack是一类Snap软件包,将特定开发框架所需的工具与官方筛选的默认配置打包在一起,提供“一键就绪”的开发环境。目前,已推出的Devpack主要面向Java/Spring(devpack-for-spring)和Golang(devpack-for-go),加上官方的.NET Snap,这些工具可以让开发者从全新安装到首次构建只需几分钟,并实现可复现、集中管理的工具链。

未来扩大覆盖范围的具体规划
博客明确提到了未来在Devpack上的扩展方向:

为C/C++和系统开发者:正在考虑为GCC和LLVM打造专门的“开发栈”(dev stacks)和容器镜像,将编译器、链接器、调试器、Sanitizer以及交叉工具链打包在一起。这将使C/C++和系统级开发者也能享受到类似Spring和.NET开发者的一键环境搭建体验。


为Rust生态:规划方向包括将rustup作为Ubuntu上的“一等公民”开发路径,提供精选的Rust镜像,并强化与LLD的集成,从而使Ubuntu成为现代系统级Rust项目的高优先级平台。


其他可能覆盖的技术栈:博客还提到,Devpack的后续工作可能包括为更多流行技术栈提供专门开发包,例如Python生态中的Conda相关框架、Rust Web技术栈以及各类游戏引擎。

此外,Canonical还计划在Devpack、Snapcraft插件与官方文档之间建立更紧密的关联,为每种主流语言和框架在Ubuntu上提供一条清晰标注的“黄金路径”(golden path)。

潜在影响与挑战
如果未来正式提供GCC和LLVM/Clang的Devpack,不仅有望为现有发行版更快地引入更新版本的编译器工具链,也能针对不同用途(如游戏开发、Rust Web开发)提供更契合场景的打包环境。不过,由于这些Devpack均以Snap形式分发,对于长期对Snap生态持保留态度的用户而言,可能存在接受度问题。