agagega
2023-04-12 12:16:22 +08:00
1. Xcode 是 IDE ,但是里面也提供了命令行工具,理论上整个开发流程可以不依赖 Xcode (否则 AppCode 是怎么实现的)。流言说苹果内部很多部门的程序员就没用 Xcode ,但这方面资料比较少,Xcode 更方便。
AppCode 的好处是提示更稳定,更适合习惯 JetBrains 系的人,也有更多插件可以用。问题是官方不再支持,今年下半年新系统出正式版后就不好搞了。Xcode 也有插件系统,但好像开放的功能不多,AppCode 搭配 Copilot 体验很爽。
2. 写 App 而言没太多理由用 Objective-C ,一些新的 API 已经仅支持 Swift 了。OC 的好处是语法稳定资料多,和 C++互操作很容易。我不觉得 OC 是个坏语言,但面向苹果平台开发 App 显然 Swift 更好。
3. 我的感受是:SwiftUI 适合开发「 App 」,Storyboard/XIB/AppKit 适合开发「软件」。SwiftUI 可以很快速地创建一个长得标准的 UI 界面,如果你的目标只有一些 CRUD 操作那很合适,但有很多 API 都没适配或者很难适配 SwiftUI ,AppKit 可以做这些复杂的交互。
4. 理解 ViewController 和整个面向对象体系是学习「旧」方法的核心。从 HTML/Vue/React 这些前端 MVVM 框架走过来的人会更快接受 SwiftUI ,而旧的 AppKit 是一个思想上完全不同的 MVC 技术体系:利用各种 ViewController 管理视图和相应事件,利用继承来复用各种 View 的内在逻辑。这个体系并不落后,只是适用场景不一样。
5. macOS 和 iOS 有很多不一样,网上能找到不少对比。比如坐标系原点不同,iOS 上 TextView 是 ScrollView 的子类而 macOS 不是,macOS 因为更老所以 API 里的历史痕迹比较多。但这个在各种 IDE 提示+搜索加持下不是什么问题。
macOS 开发应该是一个特别适合用 AI 加速的领域,因为文档实在是太少太乱了。