在本篇博文中,您将学到如下内容:
- [1. Swift 开发平台](#1. Swift 开发平台)
- [2. Swift 集成开发环境 Xcode?](#2. Swift 集成开发环境 Xcode?)
- [3. 原型试验场:Playground](#3. 原型试验场:Playground)
- [4. 另一种尝试:iPad 上的 Swift Playgrounds](#4. 另一种尝试:iPad 上的 Swift Playgrounds)
- [5. Swift 交互实验室:Swift REPL](#5. Swift 交互实验室:Swift REPL)
- 总结
咫尺春三月,寻常百姓家。为迎新燕入,不下旧帘遮。
翅湿沾微雨,泥香带落花。巢成雏长大,相伴过年华。
1. Swift 开发平台
虽然目前在 Linux 和 Windows 上也可适当的小撸几发 Swift 代码,但要想正经八百的学习 Swift 语言,macOS 还是舍我其谁般的最佳选择。
对于 来说,未来向 silicon 芯片全线迈进绝对是大势所趋,但选择 intel 或是 apple silicon 芯片(M1,M2)的 Mac 作为学习开发主机其实都无所谓。可能某些 iOS/iPadOS 模拟器新特性的测试在 M1 芯片上兼容性更好,毕竟 A系列处理器和 M2 从血缘上说更近一些。
也可能某些第三方库在 M1 芯片上编译时会存在兼容问题,但随着时间的推移这些都不是事儿。
现在 官方商城全线上架的都是 silicon 芯片 的 Mac,随着 silicon 芯片 Mac 上软件生态的日趋成熟,绝大多数第三方 App 都能原生执行并充分利用 ARM64 架构的威力以达到最佳性能。
如果小伙伴们选择的是 intel 架构的 Mac,那么机型不要太老:2018 年以后的为佳。
当然,在 iPad 上也可学习 Swift 编程,我们会在本文后面做进一步介绍。
2. Swift 集成开发环境 Xcode?
在 Mac 上做过开发的小伙伴不会不知道 Xcode 这款开发工具,它类似于 Windows 上的 Microsoft Visual Studio(简称VS)。
Xcode 不仅仅是一款 IDE ,它包含了 App 一整套从零开始到上架完整流程的工具集,包括但不限于:
- 代码、界面和资源编辑器
- SpriteKit、SceneKit 场景编辑器
- 数据库(CoreData)管理器
- 强大的调试环境(LLDB)
- 应用 UI 探查和调试器
- 完善的单元测试(Unit Test)环境
- 开发证书管理
- 源代码控制(git)工具
- 国际化资源管理器
- Playground
- 性能监控剖析器:Instruments
- App 归档、打包以及上传工具
- 模拟器管理
- Xcode Cloud 实现持续集成和交付
- 完整的开发文档
我们可以从 Mac 上的 App Store 直接安装 Xcode,不过更推荐的做法是从 开发官网(https://developer.apple.com/)下载安装:
为了精简 Xcode 的体积,从 14.0 开始,苹果将模拟器平台(iOS/iPadOS、WatchOS、tvOS、visionOS等)从 Xcode 中剥离出来,所以下载安装 Xcode 之后,我们还需要单独从 开发网站下载和安装所需的模拟器。
或者,我们也可以进入 Xcode 中完成模拟器的下载和安装:
在本专栏博文中,所有测试主要都在 iOS 模拟器上运行,所以我们只需额外下载它即可。
Xcode 可以创建很多类型的开发项目,在本系列博文中我们只会用到其中两种:iOS App 和 Playground。
我们会在后续博文对这两种项目类型做进一步的介绍。
在 Mac 上 Swift 的入门学习中,我们更推荐 Xcode 这种集成开发环境,而不是简单的代码编辑器。
更多 Xcode 使用的小技巧,请小伙伴们移步如下链接观赏:
3. 原型试验场:Playground
之前说过,Xcode 中包含 Playground 类型的项目,它特别适用于验证小段代码或原型的开发。
如下所示,我们可以在 Xcode 的全局菜单中依次选择 File -> New -> Playground... 新建一个 Playground 项目:
类似于其它语言的交互式解释器(比如 ruby 的 irb 或 pry),我们可以随着感觉和心灵真实想法非常直接与纯粹的随性撸码:
我们后续章节中若不做特殊说明,大部分实验代码在 Playground 中运行。
不得不承认,虽然 Playground 非常方便,但它还是有缺陷的:
- 启动速度慢
- 不稳定、时常崩溃、挂起
- 无法直接使用外部库
- 无法下断点
关于 Playground 使用的更详细介绍,请小伙伴们移步其它相关博文中观赏:
- Xcode中Playground运行代码无响应的极简解决方法
- 吐槽一下Xcode中的Playground
- Xcode:Playground中延时调用的新写法
- Playground中格式注释语法
- Swift3的playground中对UI直接测试支持的改变
- Xcode的playground中对于SpriteKit物理对象的更新为何无效
- Xcode在playground的quick look框中显示对象自定义视图
4. 另一种尝试:iPad 上的 Swift Playgrounds
如果小伙伴们手头没有 Mac,那么在 iPad 上还有另一种 Playgrounds 可供选择。注意它和 Xcode 中的 Playground 类似但不完全一样。
iPad 上的 Playgrounds 是一款单独的 App,可以在 AppStroe 中下载,在 Mac 的应用商店中也有对应的 Mac 版本:
从 2022 年开始,苹果对 iPad 上的 Playgrounds 做了重大升级,它创建的项目可以存储在 Cloud 中,并可以随时同步到 Mac 上继续进行开发。而且,通过 Playgrounds 可以将编写好的项目直接上传到应用商店中,彻底抛开 Xcode 的桎梏。
iPad(或 Mac) 上的 Playgrounds 在某些情况下可以代替 Xcode 中 Playground 使用,因为前者更加稳定,更具互动性;而且其中包含海量 Swift 编程教学项目,可以进一步激发初学者的兴趣。
如果决定在 iPad 上开发,有条件可以搭配蓝牙键盘和鼠标,这样撸码更加自然。
关于更多 Playgrounds 的介绍,请小伙伴们移步如下链接中进一步观赏:
5. Swift 交互实验室:Swift REPL
除了以上几种选择,我们还可以通过 Swift REPL(交互解释器)来更"轻便"的学习 Swift 开发。
在 Mac 中打开终端,敲入如下命令:
powershell
swift repl
进入交互时编译环境后,我们可以创建和使用变量、类与结构、函数、闭包等元素,还可以导入其它库和框架以实验我们任何极具创意的头脑风暴:
总结
在本篇博文中,我们介绍了 Mac 上的主力开发工具 Xcode,并讨论了学习 Swift 语言的几种方式和平台:Xcode iOS App 项目、Xcode Playground,iPad(Mac)Swift Playgrounds 以及 Swift REPL 交互环境。
在后续的学习中,我们可以任选一种方式来验证示例代码,推荐大家亲自动手尝试来感受一下这些学习工具的魅力。
在后三篇博文中,我们将进入"正题"来介绍 Swift 基本语法和类型,到时见喽!😉