这些过去的经历,都成了乔布斯所说的「connecting the dots」的一部分。我和一家做少儿素质与编程教育的机构也有着不少的合作,也带过几支天才少年队伍,看着他们忘我地投入,看着他们迸发着颠覆性创造力的光芒。
由 Apple 推出的编程工具 Swift Playgrounds 近期推出了 4.0 大版本,我使用它开发了一个简单的疫情数据看板 App,并以此作为一次简单的体验,将过程中的思考和体悟和大家分享。
我们为何学习编程、如何学习创造,Apple 给了我们他们的思考。虽然 Swift Playgrounds 现在还充满了各种瑕疵,但我们也看到了全新的可能:AR、AI、传感器、多维交互、物联网,这些前沿的技术,以及伴随其中的人文主义光辉,都能够在这个小小的设备中,经由每一个开发者的研磨,如同坩埚一般,炼就出自己的结晶。
Swift Playgrounds 可以像在 Xcode 编辑 .plist 文件一样,为应用增加系统级能力支持。而同时,Swift Playgrounds 也允许开发者使用 Swift 包管理器来在线获取第三方模块的支持。
App 可以选择自带的占位符或者自定义图片作为图标,并且打包编译,发布到 App Store。Swift Playgrounds 自带的手绘风格图标颇有「Everyone Can Code」的质感。
写完的 App 也可以直接发布 App Store 审核。
iPadOS 上 Swift Playgrounds 开发 App 的 .swiftpm 工程无法在 macOS 上的 Swift Playgrounds 中打开(或许还需坐等 macOS Swift Playgrounds App 更新),但是可以在 Xcode 的 Swift Playgrounds 模块运行。
我们现在能够看到 macOS 上 Xcode App 中的 Swift Playgrounds 功能模块、macOS 独立的 Swift Playgrounds App 与 iPadOS 上的 Swift Playgrounds App 三者并存且互相有所不兼容的情况。对于初学者而言,若不加了解,这确实是一条令人有些困惑的产品线。当然我相信 Apple 会在后续解决这一问题。
此次体验下来,我认为新版的 Swift Playgrounds 也还存在以下不足:
对于想通过 Swift Playgrounds 入门编程的新手,我也在这里提出一些个人建议。
首先是设备,我手中的 2017 年款 iPad Pro(A10X 处理器)运行 Swift Playgrounds 4.0 没有出现明显的性能瓶颈,因此我姑且认为往后的新机型应该都有着不错的性能表现。
文档:前文说到,现有的 Swift Playgrounds 4.0 如果要以 IDE 的要求来看,还缺少必要的类型提示和文档内容的说明。这时候我们也可以选择手动查阅开发者文档,这是 Apple 对各类系统框架事无巨细的说明。在 Swift Playgrounds 更早版本的更新中,Apple 已经将大部分的开发者文档内置到了 Swift Playgrounds 中,我们可以在工具中找到文档的查询入口。或者,我们可以使用浏览器访问 Apple Developer 开发者网站 查询文档。
Swift 语法入门:Swift Playgrounds 在更早版本中,已经提供了 游戏 化 Swift 语言学习的各种模块,如果你是 Swift 语言的新手,可以通过学习官方提供的学习编程 1、2、3 和其他一系列的学习模块来 探索 Swift 语言。
SwiftUI 入门:SwiftUI 是 Apple 发布于 2019 年 WWDC 大会的基于 Swift 的UI框架,结合了代码 UI 编辑和 Storyboard 图形化 UI 绘制的优点。因此 Swift Playgrounds 默认将 SwiftUI 作为创建一个空白 .swiftpm 工程后的初始界面模板。
AR 作为在 iPad 先行的验证,并被着力主推的技术能力,或许不久就会以全新的硬件形态与大家见面。运行在 iPadOS 之上的 Swift Playgrounds,结合 Apple 软件全家桶的一系列应用,将进一步将多媒体的创造能力带给每一个人,而这次会将 3D 沉浸空间体验的创造也逐步纳入进来,Swift Playgrounds 4.0 正是起点。