为 Web 编写代码

Apple 从 Xcode 和 Swift 到 App Store 审核与计费规则的高度控制生态,被描绘为对第三方开发者越来越敌视或冷漠,尤其是那些想要跨平台或非 Apple 技术栈的开发者。评论者将这一点与 Web 的开放性和长期生命力进行对比,认为许多应用都应该改为浏览器应用或 PWA,尽管他们也承认 Web 自身在工具复杂度、浏览器政治和性能差距方面存在问题。这场讨论凸显了平台锁定与开放标准之间的更大张力,以及这些取舍如何影响开发者投入时间与职业生涯的方向。

Apple 与开发者的关系

  • 许多人认为 Apple 本质上是以用户和硬件为中心的,把开发者当作可替换的供应商,而不是合作伙伴。
  • 有人认为,API、Swift 和 Xcode 只是为了加深锁定而进行的投入,而不是慷慨。依赖链被看作是“开发者 → Apple → 用户”,反向几乎没有什么影响力。
  • 也有人认为 Apple 其实在总体上还是在乎的,只是在维护生态系统“高质量”,但并不在乎单个开发者或边缘情况。

Xcode 与原生 iOS/macOS 开发

  • 普遍的抱怨包括:Xcode 体积大、速度慢、容易崩溃、不直观、难以配置,而且在版本控制和 CI/CD 方面很痛苦。
  • 具体烦点:布局/Storyboard、项目文件格式、奇怪的格式化行为、脆弱的预览、不清晰的错误信息、SwiftUI 编译超时。
  • 少数人称赞 Swift 和 Apple API 非常顺手,并认为与一些竞争对手相比,Xcode 只是“还行”甚至不错。对 Android Studio 的看法也同样两极分化。

Web 应用 vs 原生应用

  • 很多人认为,大多数应用都应该是 Web 应用或 PWA,尤其是内容/CRUD 类应用(新闻、停车、图书馆、许多商业应用),它们作为原生应用会随着时间变得很糟。
  • 理由包括:跨平台覆盖、长期兼容、开放托管、避免应用商店审核和 30% 抽成。
  • 反方观点:原生在性能、离线稳健性、硬件深度访问、通知、系统集成体验方面更好;而 Web 在 GPU 计算和复杂“类应用” UX 上仍然别扭。

PWA、浏览器与平台政治

  • Apple 被广泛指责故意削弱 iOS 上的 PWA(受限的 API、数据删除怪癖、别扭的安装流程),以保护 App Store 收入。
  • Google/Chrome 被认为在积极推动 Web 平台,尽管有人警告这只是把权力从 Apple 转给 Google,而不是转给用户。
  • Safari 经常被称为“新的 IE”或“公主浏览器”,不过也有人指出,它主要是在非标准或隐私敏感的 API 上落后。

App Store 费用与守门机制

  • 每年 99 美元的开发者费用,以及不透明、有时还很随意的审核流程,都是反复出现的痛点,尤其对小型组织和政府机构而言。
  • 有人把这笔费用辩护为阻挡垃圾和滥发内容的门槛;也有人认为这是不必要的税收,会阻碍实验并增加锁定风险。

Web 开发体验

  • Web 因其通用性和“历史悠久”的共同标准而受到赞扬,但很多人不喜欢 JS/TS 的复杂性、构建系统、框架更迭和 CSS 的可用性。
  • 也有人表示,现代 Web 标准和工具(React、TypeScript、HTMX、LiveView 等)已经让体验比过去好得多。

锁定、文化与替代方案

  • 普遍强烈认为,深度投入 Apple 专有技术栈是有风险的:技能可迁移性更差,而且 Apple 可以单方面改规则。
  • 有人把 Apple 形容为“邪教式”或“虐待关系”;也有人喜欢其一体化的用户体验,并接受这些取舍。
  • 提到的替代方案包括:Flutter、Qt、.NET MAUI/Avalonia/Blazor、Linux 手机(Librem 5、PinePhone)、Electron,以及纯 Web 技术栈。