8

Swift Playgrounds:人人学编程时代,Apple想让你边玩边学

 3 years ago
source link: http://www.woshipm.com/evaluating/4585093.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Swift Playgrounds:人人学编程时代,Apple想让你边玩边学

2021-05-21
0 评论 702 浏览 0 收藏 20 分钟
释放双眼,带上耳机,听听看~!
00:00
00:00

编辑导读:近几年“低代码”概念火热,,展示方式形如搭积木似的可视化编程,通过可视化、拖拽等行为将逻辑组装而成,如微软的Power Platform、钉钉中的功能等,各式低代码平台应运诞生。本文以苹果的Swift Playgrounds为例,对此进行分析,与你分享。

lBQNyAUdswDpffS7G7Uk.jpg

注:此文章主要指iPadOS和macOS平台的图形化界面应用Swift Playgrounds,非Xcode内无图形化的playground。

近几年“低代码”概念火热,其全称为“Low-Code Development Platform(以下简称LCDP)”,展示方式形如搭积木似的可视化编程,通过可视化、拖拽等行为将逻辑组装而成,如微软的Power Platform、钉钉中的功能等,各式低代码平台应运诞生。

同时,与“低代码”的形态颇为近似的“青少年编程”产品也应运而生,同时关于“技术背景”、“付费阅读”,搜索热度也日趋平稳。

潮流背后,具有几乎完美软硬件生态的Apple也抓住了这一机遇,于2014年6月推出了可视化编程产品“Swift Playgrounds”(以下简称“Playgrounds”)。

一、“游戏化”编程

屏幕左侧是实例的文字介绍,右侧是使用建模软件的操作界面,主角是byte。

第一个事例操作的 Playgrounds 主角Byte,在编程语言中直译为:字节。

e6cvz4P8gpKyylHHWAMI.jpg

A2YkSxMRupgeYaZ3nmqS.jpg

Apple取名一向比较有特色,所有的电子产品和系统都以i开头,且iWork套件的“Pages、Numbers、Keynote”,直译就是“多个页码,多个数字,提案”,”字节”也不例外——是计算机技术用于计量存储容量的计量单位之一。

青少年对于图像的敏感度大于文字,故设置了“Byte”与可视化的环境,使用编程命令让主角动起来,可以显著提升他们对于编程的兴趣。

Playgrounds,为我们生动形象的阐述了编程的入门、为青少年展现一款编程入门的范本:如何让青少年接触编程,热爱编程,以及界面拥有哪些要素,可以拥有哪些要素,无需哪些要素。

j2antsZqE2ePJrYWqXup.jpg

V8JcmtU9ZJdWnUt5VGrE.jpg

Playgrounds(上)和Xcode(下)的界面对比

由图可知,Playgrounds 与 Xcode 较为显著的区别是以下几点:

前者(Playgrounds)代码完全是在屏幕最底部的候选词中进行备选,同时也具备键盘输入功能:一时间无法寻找所需代码之时(在笔记中可以自行输入想要的指令)。

而后者(Xcode)作为Apple的生态开发独当一面的程度上与专业性上来看,首先完备的开始菜单可见一斑:无论是 Cocoa 框架,还是AR应用,Xcode 都可以直接开发;Xcode 有拖放控件的 Storyboard,任意增加各种控件,而 Playgrounds 仅拥有写好的互动界面“调试”功能与断点调试,Playground 只有简单的红点提示,点击后则会弹出具体的错误提示……

8IZZ94iFy9Xitb1bYLOO.png

不过,Playgrounds很巧妙的将繁杂的开发文档隐藏了起来,需要的时候可以打开查看:

7BGMCJE1NSbqwLqTERgt.png

以及需要添加的内容直接通过+号展现,无疑减轻了用户在编程时候的压力:

MRqEsddksGNqUFzPQv14.png

笔者北里熊曾在某产品平台中提出过一个问题:如何评价微信Web开发工具这个产品?会是国内IDE的“开创”性产品么?

是在微信小程序编辑器推出之时,与专业的 Xcode 和 Android Studio 进行的对比。

诚然,笔者认为微信小程序仅仅是对于开发环境的功能与设计上的比较,相对于Playground这类游戏化的模拟开发,还是有所区别的。

1.“简约版的”Xcode与“上瘾”机制

同样是Apple产品,Playgrounds 保留了文字介绍、及时反馈的功能,轻点“运行我的代码”,主角会完成相应的任务,到达目的地。这种关卡的设计带有一定的挑战性,可爱的主角的各种动作同时也提升了趣味性,这样游戏化的设计可以使用户“上瘾”,学习编程根本停不下来。

2. 通过上瘾模型理解Playgrounds

在上瘾模型中,美国学者 Nir Eyal 提出:从触发、行动、多变的酬赏再到投入。

这样一个模型,我们也可以运用在这个软件中,通过这个模型,更好地思考这个软件。

在软件的界面中,左侧为每一个关卡的详细介绍,右侧则为所熟悉的有趣的图形化界面。

1)触发和行动

触发,即为文案,通过文字与动画的描述令用户开始第一个行为:阅读文字,输入编程指令:

下图中展示了 Apple 对于触发的理解,也深知用户可能会进行潜在的失败:

别担心第一次不会成功,把这当成一次试验的机会!

行动,则是用户开始尝试。

cOLITtJhThNFobyg3qsr.jpg

在行动中,可以点按图形化界面左下方的“播放”按钮,测试方法的顺序与逻辑是否行得通。

2)多变的酬赏

随着游戏进度与难度的不断加深,用户也在游戏中看到更多的“酬劳”:

从起初最一般的钻石collectGem(),再到开关toggleSwitch(),让主角Byte走到开关上则会点亮开关……

这一切都需要行动。

例如《传奇》游戏一样,被攻击的对手的血条与伤害值出现在用户面前,渐渐地会让用户继续行动。

Playgrounds的行动,则是让用户选择代码(函数/方法)。

每一个练习的背后,每当用户完成一个练习,图形界面上都会提示“激励”的语句,从而进行更深入更加难的关卡。

3)投入

更多的投入带来更多的酬赏,让用户循环往复这一过程,享受编程的乐趣,这也正是产品开发中必须要倾注其力的关键步骤——持续投入。

同时,用户会为目前的事情印象深刻,即使被打断,也会因为尚未完成的事情而耿耿于怀,这也是达成了“上瘾模型”的另一个效应:蔡格尼克记忆效应。当其他的事情结束之时,这个“未完成事件”的印象会比完成的印象更加深刻,从而继续去解决,例如笔者就会一直记着产品开发中未解决的bug。

在编程软件上“上瘾”,无非是专业程序开发者在创造自己的产品,亦或是青少年让自己的主角byte、blu有越来越多的动作,设置更多的舞者在iPad或是Mac上出现,这一切在 Playgrounds 成为可能。

网上一直很火的一句话是:世界是由懒人推动的。

低代码平台加简单的注释与创造,也更加的成就了不善于精通代码的用户,将自己的想法跃然电子屏幕上,或许可以创造出更加精彩的东西。

二、从更新日志看发展迭代

说回产品。

笔者使用 iPad 进行体验,继承了一贯Apple应用设计规则的:

软件开始即弹出新功能介绍,简洁的原生应用的 icon……依旧很Apple。

ZkxiXyu3jTaH1l4n2pql.jpg

它在最近的一次更新中,更新了以下功能,更加符合“低代码”用户需求:

  1. 第三方订阅功能,可以查看世界各地的人们(机构)撰写的Playground。
  2. 详细文档,关于Swift与iOS的详细参考。

AU72ANAWYu3EpcKxBsJL.png

开放的产品心态,进阶的编程理念

1. 更多Playground

让第三方用户甚至是机构通过这个平台,展现自己的资源与能力。

可以自由编写Playground,同时上传至Apple,上传者可以根据下载量得知Playground的用户量。于是”无意间”,这个Playground变成了平台,一个让展示第三方机构能力的“入门编程平台”。

GcEdDtPbUVkUY03GX0HP.png

Playgrounds的下载界面也很符合苹果的原生系统交互

2. 编程,学无止境

无论是游戏化还是自学编程书籍或者是视频,想更近一步,必须要接触诸如let var之类的,这就必须考验开发者的“讲故事”和能力与功底了。

每一个Playgrounds的故事设定和主角的名称与轨迹,都在考验制作公司对于编程的理解,对于故事的理解,以及对于让用户操作的逻辑。

这在Playgrounds的blu中,得到很好的体现。

正如书籍《芒果街上的小屋》 中《四颗细瘦的树》里说:

假如有一棵忘记了它存在的理由,它们就全都会像玻璃瓶里的郁金香一样耷拉下来,手挽着手。坚持,坚持,坚持。树儿在我睡着的时候说。它们教会人。

当我太悲伤太瘦弱无法坚持再坚持的时,当我如此渺小却要对抗这么多砖块的时候,我就会看着树。当街上没有别的东西可看的时。不畏水泥仍在生长的四棵。伸展伸展从不忘记伸展的四棵。惟一的理由是存在存在的四棵。

那样的故事性。

对于开发者来说,指导用户对于编程的学习,目前“图形化界面”的学习方式只是引导,在每天不断发展且进步的今天,例如前端,日复一日更新的框架,必定每天都在学习与进步,对于编程来说,并不能停滞,因为凡是停滞,别人就会进步。

三、在教育领域的应用与畅想

在科技飞速迭代的今天,编程已经成为一门很重要的学科。父母花着高昂的学费把自己的孩子送到各种少儿编程学习机构,通过 Scratch 一类可视化编程软件的学习来培养编程思维,以求让自己的孩子不要输在起跑线上。上班族们疯狂地拼着朋友圈9.9元编程课,渴望通过 Python 的学习来提升自己的工作效率,在“内卷”中抢占先机。而 IOS 端的捷径、JSBox 等软件也正在向人们展示着编程思维对于提升生活效率的重要作用。

但我们的教育方式却在让学生对编程望而却步。在现在的大学计算机基础课程中,我们采用着灌输式的被动学习方式,在学习的一开始学生先被灌输各种抽象的基础概念,然后使用代码做一些无聊的计算,这个过程极大的地削弱了学生的学习兴趣,使学生想到编程,第一反应就是头疼。于是大多数同学的编程学习最终走向了“从没入门到放弃”。

20世纪初以美国教育学家杜威为代表的进步教育运动,打破了传统的以教师为中心的学习方法,而是以学生为中心,通过开展活动来展开教学,极大地增强了学生的参与感,这或许可以给予我们今天的编程教学一些启发。编程是一门实践学科,我们的学习正应该以“做”为核心。

Playgrounds 正体现了这样的一种教育理念。它让编程变得可视化,也更加生动。

Apple的实践:

如果说Swift Playgrounds是学习,那么Apple提供的机器人则是真实的线下实践。

记得北里熊在很早的时候在南京虹悦城的Apple Store参与过编程化机器人活动(2017年“玩游戏学编程”LionBot的活动):

uaGGXMsuUUtZsXdjqWYA.jpg

QguAKuRA9Hipo5cOAaYE.jpg

HAAe1A9YmCn08fadg3RE.jpg

在那次《舞狮迎新春》编程机器人活动中,我操作的是瓦力,使用拖拽式进行拼接,后续开始展现瓦力的动作。

这样的动作可以真实的让家长们明白,这是编程可以做的事:让机器人在电视里的动画实打实的做事:向前走,向后退,甚至可以把机器手给举起来……

北里熊在给常阔展示照片时说道。

变传统的计算机课程为综合实践课程,开展创客教育,让学生基于真实的任务,运用编程知识去解决一定的问题,获得参与感和获得感,领悟到编程的价值,才能让学生真正爱上编程。

或者不仅仅局限于学校教育,正如今天很多 Python 课程所尝试的那样,这样的编程学习方式也可以在成人教育中得以应用,在知识经济时代为终身学习提供支持。

这任重而道远,Playgrounds 的存在为我们开辟了一条道路,面向不同的学习者和不同的编程语言,支持更多的设备······还有更多的方式等待产品开发者们探索。

四、仍需改进的点

1. 交互上的不足

在实际使用中,放大界面时则会出现部分界面浏览不全的情况(目前可能是希望可以放的足够大,对于用户与场景的交互上看更加的精致)如下图所示:

lwpqakuaingtB2gdZy5Z.jpg

或许在以后的更新中,会完善这样的体验。

2. 学习效率不高

一遍一遍地完成游戏任务,重复进行代码的练习,确实可以加深对代码的印象,但却需要大量的时间。这样的学习方法显然并不适合那些有一定编程基础,可以通过把 Swift 与已学会的编程语言建立联系,来快速完成学习的用户。

3. 软件优化问题:发热、卡顿等

笔者在尝试的过程中发现,使用 Playgrounds 一段时间后设备会发烫,而游戏的动画过度缓慢,旧iPad出现的卡顿等问题也影响了使用体验。

4. 设备兼容性

目前 Playgrounds 仅支持在iPad和Mac设备中使用,不支持 iPhone 和 Android、Windows等其他平台设备。这些设备本身在购买层面上需要较高的成本,这无疑会成为Playgrounds 学习走进普通中小学的门槛。

5. 与实际开发的距离

诚然,在这样的界面中与实际的开发确实有一些距离:

在 Playgrounds 推出之际,”人人可编程”项目是Apple在2019年11月经过重新设计的编程课。

但是其中,“人人”一词,便是注定了目标用户群为“普罗大众”,其中也包括青少年。

这是一个非常大的用户群体,其中也包含青少年和老年人,所以,除了 Playgrounds,还有“使用 Swift 开发”这样更加进阶的面对高中与大学生的开发课程。

如果青少年下载一个Xcode,可能会在开发过程中获得更多的限制:诸如版本问题、突然看到的Cocoa等专业词汇,青少年输入一个单词,就会因为没有import而导致各种报错……

可见,Playgrounds 仅仅是一个编程入门的引导,我们也非常期待日后的Playgrounds可以增加这些内容。

五、参考链接

Apple 拓展面向教师和学生的“人人能编程”课程

本文由 @产品言思 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

给作者打赏,鼓励TA抓紧创作!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK