当应用不再属于特定操作系统 - 肘子的 Swift 周报 #159

当应用不再属于特定操作系统 - 肘子的 Swift 周报 #159

💡 原文中文,约4500字,阅读约需11分钟。
📝

内容提要

本期周报聚焦跨平台运行新探索:Cutefish 通过兼容层在 Linux 运行原生 Mac 应用;SimRun 让 iOS 模拟器应用以独立窗口运行于 macOS;Mac Android Subsystem 借助虚拟机让 Android 应用融入 Mac 桌面。文章指出,应用与系统边界正逐渐模糊,AI 降低了实现成本,未来硬件选择或更多取决于体验而非独占应用。

🔎

延伸解读

跨平台运行:从“能跑”到“无感”

文章指出,Cutefish、SimRun 和 Mac Android Subsystem 虽技术路线不同,但目标一致:让不同系统的应用自然融入同一桌面。独立窗口、Dock、Spotlight、剪贴板等系统能力逐渐融合,运行环境退居幕后,应用与宿主系统的边界变得模糊。这标志着跨平台运行从追求“能够运行”转向追求“用户不必在意应用原本属于哪个平台”。

AI 降低打破边界的成本

文章提到,过去逆向分析系统 API、复刻框架行为或移植复杂运行环境需要大量时间和人力。如今 Coding Agent 可以承担相当一部分探索、实现与验证工作,让个人开发者和小团队也有机会尝试过去难以负担的项目。AI 正在加快跨平台运行的发展进程,打破系统边界的成本正在下降。

硬件选择逻辑可能改变

文章提出一个问题:如果应用不再那么依赖特定操作系统,未来人们如何选择硬件?过去,一款独占应用或一个不可替代的软件生态可能就足以决定购买哪台设备。而当越来越多应用可以跨越系统边界,硬件本身的设计、性能、价格、系统体验,甚至品牌忠诚度和个人喜好,或许会在购买决策中占据更大分量。

平台竞争转向体验整合

文章认为,应用跨平台未必意味着平台竞争减弱。恰恰相反,谁能让来自不同生态的应用更自然、更稳定地融入自己的系统,谁就可能拥有新的吸引力。竞争重点或许会从“我独占哪些应用”转向“我能为这些应用提供怎样的使用体验”。未来选择设备时,用户可能不必首先考虑它能运行哪些应用,而是更多考虑自己喜欢怎样使用它。

❓

Q&A

Cutefish 是怎么让 Mac 应用在 Linux 上运行的?

Cutefish 通过一套名为 Reef 的兼容层,重新实现 Mach-O 加载器、Objective-C Runtime 以及 Foundation、AppKit、Core Graphics、SwiftUI 等框架,让未经修改的 macOS 应用能直接在 Linux 桌面环境中运行,而不是采用虚拟机或指令模拟。

SimRun 运行 iOS 应用有什么限制条件?

SimRun 依赖 Apple 芯片 Mac、Xcode 与模拟器运行时,并且要求关闭系统完整性保护(SIP)。

Mac Android Subsystem 是如何让 Android 应用出现在 Mac 桌面上的?

MAS 基于 LineageOS、QEMU 和 Apple Hypervisor Framework 在后台运行完整的 Android 环境,再通过 scrcpy 将应用画面呈现到独立的 Mac 窗口中,从而实现双击 APK 安装、独立窗口、Dock 图标、Spotlight 搜索、⌘-Tab 切换、通知中心和双向剪贴板等功能。

AI 在跨平台运行应用的探索中起到了什么作用?

AI 降低了实现成本:过去逆向分析系统 API、复刻框架行为或移植复杂运行环境需要大量时间和人力,如今 Coding Agent 可以承担相当一部分探索、实现与验证工作,让个人开发者和小团队也有机会尝试过去难以负担的项目。

如果应用不再依赖特定操作系统,用户选择硬件时会有什么变化?

过去独占应用或软件生态可能决定用户购买哪台设备;当越来越多应用可以跨越系统边界,硬件本身的设计、性能、价格、系统体验,甚至品牌忠诚度和个人喜好,可能在购买决策中占据更大分量。

平台之间的竞争重点会如何转变?

竞争重点可能从「我独占哪些应用」转向「我能为这些应用提供怎样的使用体验」,即谁能更自然、更稳定地将来自不同生态的应用融入自己的系统,谁就可能拥有新的吸引力。

🏷️

标签

➡️

继续阅读