Apple M1 芯片目前对开发者来说未必是好事

2023-05-08 10:35:50 浏览数 (2)

苹果近日推出的首款自研的 Apple M1 芯片,收到了很多用户的欢迎,但随着这些用户拿到真机,很多问题暴露出来。

有用户发现,除了 AMD64架构之外,其他大多数架构都无法在 ARM 上运行。如果「强行」运行,将会大幅度提高运行成本。

并且有一部分工具和库属于开源项目,因此由此带来的维护需求增长,将成为沉重的额外负担,导致某些贡献者直接放弃为新的 Mac 平台上提供支持。

当然也有一些应用程序、特别是闭源项目,压根没有 ARM 版 build,例如微软 SQL Server 或 OracleDB。

ARM 架构不支持 Windows

一个不太好的消息是 ARM 架构是绝对支持不了 Windows 。

如果开发者想在新款 Mac 上测试自己的 Windows 应用。只能再买一台笔记本,或者使用远程桌面服务了。另外,开发者也没法在 Mac 上运行虚拟机进行设备测试(例如 ESXi、pfSense、FreeNAS 等)。

Docker 受到的影响

由于 Mac 上的 Docker 只能在虚拟机内运行,再加上用户只能对基于 ARM 架构的 Linux 进行虚拟化,意味着我们未来只能在苹果芯片版的 Mac 上运行 ARM64 容器。

目前,Docker Hub 上存在 331 万 9219 个针对 AMD64 的镜像,但针对 ARM64 的镜像只有 29076 个,占比不足 1%。再有,构建多架构 Docker 镜像还特别复杂。

尤其需要注意的是,由于生产系统通常运行 Linux/AMD64,因此你生产的二进制文件及 Docker 镜像很可能无法在开发计算机上运行。当然,你也许可以进行重新编译及交叉编译,但永远无法还原其真实的运行状态。另外,如果你的应用在生产环境中发生问题,也无法仅凭二进制文件或容器镜像在自己的笔记本上进行调试。

Docker 在开发者的日常工作流程中占据非常重要的位置,所以这些令开发者们感到相当头痛。

参考资料:www.reddit.com/r/docker/comments/jpzt43/docker_for_mac_on_apple_silicon_keynote/

0 人点赞