科技是一种人文素养,我认为 Swift Playgrounds App 的核心定位正是如此。
未来世界创新、创业、创造的大门,需要我们用一种有着人文温度的方式去开启。
我自己从初中开始看硅谷三大春晚——Apple WWDC 开发者大会、谷歌I/O 大会、微软Build 大会;在高中的时候,虽然身为文科生,但是开始了装「黑苹果」、自学编程的神秘炼金术之旅。swift 因此成了我的计算机语言母语,而大学时期也很幸运地入选了 WWDC18 奖学金计划,能够带着我们团队自己开发的 App 见到了库克。我们后来休学创业,拿了几轮融资,至今还在这个波诡云谲却充满魔力的创业场拼搏。
这些过去的经历,都成了乔布斯所说的「connecting the dots」的一部分。我和一家做少儿素质与编程教育的机构也有着不少的合作,也带过几支天才少年队伍,看着他们忘我地投入,看着他们迸发着颠覆性创造力的光芒。
由 Apple 推出的编程工具 Swift Playgrounds 近期推出了 4.0 大版本,我使用它开发了一个简单的疫情数据看板 App,并以此作为一次简单的体验,将过程中的思考和体悟和大家分享。
我们为何学习编程、如何学习创造,Apple 给了我们他们的思考。虽然 Swift Playgrounds 现在还充满了各种瑕疵,但我们也看到了全新的可能:AR、AI、传感器、多维交互、物联网,这些前沿的技术,以及伴随其中的人文主义光辉,都能够在这个小小的设备中,经由每一个开发者的研磨,如同坩埚一般,炼就出自己的结晶。
让我们开始吧。
本文概要- Swift Playgrounds 更新了4.0大版本,可以在 iPad 中实现 App 的开发并发布到 App Store。
- 我尝试着在上面写了一个疫情数据实时看板 App,并将代码开源在了 GitHub。
- 开发体验充满了惊喜与迷思。虽然 SwiftUI 很好用,Swift Playgrounds 也简化了 Xcode 开发 App 的信息量,但相比 Xcode,前者现在的体验并不能说很好,一些必要的功能依然有缺失或需要优化。
- 但是我非常看好其未来的潜力与战略意义,我相信长远来讲,Swift Playgrounds 离Everyone Can Code 更近了一步。
- 我相信 iPadOS 是比 macOS 离计算机的终极形态「通用智能」更进一步的形态。
- 这是 Apple 版本「元宇宙」生态的重要一步。
注:本文中所有新冠疫情数据来自 腾讯开放平台数据接口,仅用作产品功能效果演示,不具有任何防疫相关参考价值,新冠疫情准确数据,请查阅官方数据平台。
Swift Playgrounds 开发 App 的上手体验在 Swift Playgrounds 中写一个疫情数据 App,整个体验充满了惊喜与迷思,总之情绪如同一杯馥郁的咖啡,浓烈而复杂。
我一直在用一台 2017 年的 10.5 英寸玫瑰金 iPad Pro,它伴随了我的整个大学到现在创业的时光。它曾陪伴着我去过 WWDC18 面对面见过库克(没错)。然而自从升级 iOS 14 以来,我开始对其体验心生不满,尤其是 Swift Playgrounds 在更新 4.0 大版本前的频频闪退和卡顿问题着实让我头大。
虽然我从朋友那里搞来了一台 12.9 英寸的全面屏 iPad Pro,但由于种种原因没有升级到 Swift Playgrounds 开发 App 所需的 iPadOS 15.2 的环境,于是最终还是投奔到了自己的陈年旧相识的怀抱。
好在 Swift Playgrounds 4.0 对系统兼容性与性能的优化,让我瞬间觉得「爷青回」。我尝试了直接在 iPad 上触屏、触屏 键盘、触屏 键盘 Magic Trackpad 的体验,确实觉得如果没有一套像样的键鼠方案做配合,效率依然会大打折扣。
由于 macOS Monterey 12.1 依然没有开放 Universal Control 通用控制功能,我最终选择将 iPad 画面投屏到 Mac 的显示器上。
作为一个简单的尝试,我打算写一个实时展示疫情数据的看板 App。
SwiftUI、预览与调试SwiftUI 配合 iPad 的屏幕操作逻辑,可以说很大程度降低了 UI 部分开发的复杂度,右侧的 App 预览响应迅速,提供了所见即所得的及时反馈。
左侧的代码窗口也新增了 Xcode 样式的自动补全,在多数情况运转良好,然而也会在不少场合耍个脾气,考一考你「默写」代码的能力。当然我期待这些问题能够尽快在后续版本中得到改善。
我们也可以直接编译代码,Swift Playgrounds 则会开启一个新窗口来运行应用,日志则均可通过自带的控制台输出。