赶在 2021 年末,苹果终于发布了 Swift Playgrounds 4,作为近年来最具革命性含义的版别,Swift Playgrounds 4 供给了在 iPad 上开发可发行 app 的才能。本文将对 Swift Playgrounds 4 的新功用做以介绍,并探讨将其作为开发东西的可行性。

原文宣布在我的博客wwww.fatbobman.com

欢迎订阅我的公共号:【肘子的Swift记事本】

本文中的 Swift Playgrounds 4 特指 iPad 版别。MacOS 下的 Swift Playgrounds 4 现在仍选用 3.x 引擎。

关于 Swift Playgrounds

在 Swift 言语发布的两年后,苹果于 WWDC 2016 上推出了 iPad 版别的 Swift Playgrounds。

Swift Playgrounds 发起以一种风趣的方法学习严厉的代码,它不要求用户具备编程知识,非常合适初学者。选用互动式的教学形式,苹果供给了一系列的课件,以满意 4-15 岁人群的需求。

Swift Playgrounds 4 娱乐还是生产力

上图中的课件内容,核心逻辑同几十年前的 Logo 言语非常相似,非常合适低幼人群。

或许受了“中国古拳法”的“人人有功练”影响,苹果提出了“人人能编程(Everyone Can Code)”计划。经过向美国的公立学校和教师供给很多的 iPad 和 Mac,期望在教育体系中大力推广 Swift 言语。该计划经过几年的运转,取得了必定的成绩,但作用并没有完全达到预期。

与此一起,智能玩具厂商也发现了 Swift Playgrounds 的潜力,推出了与之配合的课件,让 Swift Playgrounds 成为了教育玩具范畴的重要东西。

Swift Playgrounds 是典型的寓教于乐型产品,开端的设计方针并不涉及专业开发所需的生产力方面需求。

从 3.x 版别开端,Swift Playgrounds 逐步增加了一些合适专业开发者的功用,例如:

  • 相似于 Xcode Playground 的同享 Swift 文件
  • 更好的键鼠支撑(随着 iPadOS 的键鼠才能的增强)
  • 能够在控制台中显示 print() 句子的输出等

一些 Swift 开发者逐步尝试运用 Swift Playgrounds 进行一些小规模的开发作业。

随着 iPad 性能的不断提升,特别当苹果为 iPad Pro 推出了“你的下一台电脑,何必是电脑”的广告语后,不少 Swift 开发者呼吁苹果应该供给一款 iPad 版别的 Xcode。

当苹果在 WWDC 2021 上提出要在 iPad 上供给一款能够像 Xcode 一样开发 app 的应用时,人们都非常震动并等待其尽早面世。

终究,在 2021 年末,苹果将 WWDC 2021 上展现的功用集成到了 Swift Playground 中,推出 Swift Playground 4.0 版别。

Swift Playgrounds 4 的新功用

增加了对 Xcode Playground 文件格局的支撑

尽管 Swift Playgrounds 的称号显着受到了 Xcode Playground 的影响,但长久以来,它的文件格局并不与 Xcode Playground 兼容。

Swift Playgrounds 选用了一种名为 playgroundbook 的包来管理课件以及开发者自创的代码。开发者很难将其它资源注入其间,约束了在 Swift Playgrounds 中编写代码的灵活性。经过供给 playground 包支撑,让开发者以愈加熟悉的方法进行作业,聚集并测验创意,并随时可在 Mac 和 iPad 之间切换。

点击首页下方的【检查悉数】,选择其间的Xcode Playground。

Swift Playgrounds 4 娱乐还是生产力

事实上,在 Swift Playgrounds 的 Playground 形式下,除了无法指定代码的完毕位置外,运用体验与 Xcode Playground 现已非常挨近。

Swift Playgrounds 4 娱乐还是生产力

或许由于 iPad 下最多只能分两屏的原因,运用 Swift Playgrounds 的 playground 形式调试代码,我获得了比 Mac 上更好的专注度。

在 iPad 上开发可上线发行的 iOS 应用程序

Swift Playground 4 中最亮眼的新功用就是供给了直接在 iPad 上经过 Swift Playgrounds 构建应用程序的才能(需求 iPadOS 15.2)。项目选用了与 SPM 结构完全一致的 swiftpm 包。能够在 Xcode 上打开,并进一步修改。

Swift Playgrounds 4 娱乐还是生产力

应用被限定运用 SwiftUI life cycle,供给了呼应敏捷的预览以及全屏运转形式,支撑增加第三方 SPM 库。

Swift Playgrounds 4 娱乐还是生产力

开发者能够运用相似 Xcode +Capablility的选项来增加应用程序答应调用的体系功用。

Swift Playgrounds 4 娱乐还是生产力

在有开发者账户的情况下,能够直接将应用程序提交到 App Store 承受审核。

Swift Playgrounds 4 娱乐还是生产力

理论上来说,开发者能够不运用 Mac,仅在 Swift Playgrounds 中即可完结一个上线并发行的 iOS 应用程序。

更好的代码补全和帮助

在 4.0 版之前,Swift Playgrounds 选用了一种合适触摸屏方法的代码补全机制:

Swift Playgrounds 4 娱乐还是生产力

此种方法并不适用于习惯了专业 IDE 补全机制的开发者。在 4.0 版别中,Swift Playgrounds 在 playground 和 app 形式下,供给了同 Xcode 非常挨近的代码补全和提示功用,极大地提高了代码的编写效率。

Swift Playgrounds 4 娱乐还是生产力

关于体系文档以及用户创立的 Markdown 注释均供给了良好的支撑。

Swift Playgrounds 4 娱乐还是生产力

Swift DocC 的全面支撑

苹果为 Swift Playgrounds 4 供给了不少新的课件,首要集中于怎么创立 app,怎么运用 SwiftUI。苹果抛弃了之前惯用的经过 PlaygroundBookTemplate 创立的课件方法,而是运用 Swift DocC 来安排教学内容。

Swift Playgrounds 4 娱乐还是生产力

Swift DocC 相较于 PlaygroundBookTemplate 编写愈加容易,也更合适高阶的言语教学。别的,只需创立一套 Swift DocC 课件便可一起支撑 iPad 和 Mac 两个平台。有鉴于此,相信不久的将来,会有更多官方和第三方的优秀课件涌现。

Swift Playgrounds 4 的适用人群或场景

已然 Swift Playgrounds 4 现已供给了如此多针对专业开发需求的功用,是否能够将其作为严厉的生产力东西来对待呢?

经过几天来不间断地运用,我以为苹果并没有为了取悦专业开发者而彻底改变 Swift Playgrounds 的定位,现阶段 Swift Playgrounds 仍着重于教育用途,但供给了部分合适专业开发者运用的功用。

Swift Playgrounds 至今现已发展了 5 年,它的很多运用者应该现已掌握了足够的 Swift 编程基本技能,4.0 版别为他们供给了进一步提高的途径和手段。经过更专业的 playground 和 app 形式,将这些原本以文娱的心态来运用 Swift Playgrounds 的学生转换为更专业的开发人员。

Swift Playgounds 4 在专业开发用途上的一些首要的功用缺失:

  • playground 形式下无法导入 SPM(Xcode 下能够经过 project 或 workspace 来导入),现在只能将源码导入 Source 目录来完成对部分 SPM 进行测验
  • app 形式下不供给调试功用
  • app 形式下,体系功用选项缺乏,特别不供给任何与 iCloud 服务相关的功用
  • 无法单独开发与 CoreData、SpriteKit、SceneKit 等等有关的项目,相似的项目均需求在 Mac 上做很多的作业
  • App Store 提交内容选项显着缺乏,当前演示的意味更浓(不排除将来苹果推出某种特别类型(例如针对学生)的开发者账户,更便宜、有限的应用定价机制、有限的发行规模)
  • 不供给资源管理,不供给本地化资源设置等等

考虑到 Swift Playgrounds 的定位,我以为苹果只会在将来的版别中补偿少数的专业缺失功用。或许在合适的机遇,苹果会为专业开发者供给 Xcode 的 iPad 版别(个人以为可能性不大)。

当前的 Swift Playgrounds 适用于如下的人群或场景:

  • 对编程感兴趣的孩子和学生(传统优势范畴)
  • 对智能玩具有编程需求的人
  • 掌握了基本的 Swift 编程技巧需求进一步提高的运用者
  • 想触摸 iOS 及 Swift 编程,但没有 Mac 机的开发者或编程爱好者,经过 Swift Playgrounds 能够用极低的本钱进入 iOS 的开发生态(Swift Playgrounds 即使在数年前的 iPad 上也运转的相当流通)
  • 专业的 Swift 开发者用 playground 形式来完成创意,测验想法(在生产力方面最挨近 Mac 下的体验)
  • 专业的 Swift 开发者在只有 iPad 的情况下,在 Swift Playgrounds 上继续进行 Mac 上没有完结的部分作业(需将项目转换成 Swift Playgrounds App 形式)。

总结

立刻就要寒假了,或许能够让你的孩子在运用 iPad 文娱之余,经过 Swift Playgrounds 学习一下编程,当将自己开发的 app 同享给其他的同学时,必定能够获得相当的骄傲和满意。

专业的 Swift 开发者也不应错过 Swift Playgrounds 这个优秀的东西,更多地挖掘 iPad 的潜力。

Swift Playgrounds 在保留了高兴教育的功用前提下,满意了部分场景下的生产力需求。

期望本文能够对你有所帮助。

原文宣布在我的博客wwww.fatbobman.com

欢迎订阅我的公共号:【肘子的Swift记事本】