2016年9月26日星期一

具透丨苹果带你用最有趣的方式学编程:iOS 10 Swift Playgrounds 详解

具透丨苹果带你用最有趣的方式学编程:iOS 10 Swift Playgrounds 详解
在复杂的世界里一个就够了:ONE一个- 少数派  /  sainho93

147f88bc391f0248cabc0bb84af2712354e26_mw

关于栏目

苹果、谷歌每年一次大更新的新系统都值得关注。「具透」会挖掘、详解新系统的各个功能细节,并会以长期更新形式,让你对它们有更深入全面的了解。

从今年的 WWDC 到 8 号凌晨的 iPhone 发布会上,苹果都拿出时间专门介绍了他们针对教育市场的新尝试——学习 Swisft 语言1的应用——Swift Playgrounds,可见不止鲍尔默,库克也深知开发者和教育市场对应用生态的重要性。

显然 Swift Playgrounds 的目标用户不是那些有经验的开发者,而是「平凡」的你——对编程毫无经验甚至有点恐惧。别担心,Swift Playgrounds 正是为你而来,将你带入陌生而又新奇代码世界。

正式开始我们的 Swift Playgrounds 的冒险之旅前,我们要先搞清楚它是什么。 Swift Playgrounds 并不只是类似于 Tapcoding ,这类面向初学者的教授 Swift 语言的应用。对于开发者而言,它可以调用真正的 iOS SDK 中的上千个 API,来写出真正用于工程的代码;同时它也是开放的,任何人都可以成为「作者」,用 Xcode 来自己写出 Swift 课程。它是如此的强大与丰富,以致于难以在一篇文章里全面的介绍,而所以本篇着重介绍它最基础也是最重要的使命——教你写代码。

我不是要做全职开发者,我需要学编程吗?

我想看大部分人看完开头,都会不由自主的思考这个问题——我需要学编程吗?

今年的 WWDC 上,台下的开发者们欢呼最热烈的一次,大概要数结尾阶段播放的采访短片。围绕着「最初开始编程的动力」的主题,采访对象却是我们会天天会遇到的中学生、妈妈们和公益活动的组织者,他们共同的身份就是开发者。其中有一句深得我心:

我只是一个人,看到了一个问题,并创造出了一个解决方案。

而科技作家 Douglas Rushkoff 认为:

在未来,面对着一个高度程序化的世界,如果你不能开发软件,那么你将变成软件。就是这么简单:要么编程,要么被编程。

每天我们都会遇到很多问题,而通过编程这种工具来解决自己遇到的实际问题就是其中一种方案。所以说我们非专业的学习编程,不是真的要以此为职业,而是学习一种处理问题的工具。同时我们都知道,熟悉乘法的人会比只会加法更高效的计算。同样的,学习编程更多的是学习其中的高效的思维模式,比如循环、递归等等在生活中也常见的现象。

最后,正如小时候的我们喜欢敲敲打打做一些手工,写代码本身就有一种造物的乐趣

「有趣地学」才是正确的打开方式

前面做了足够多的心理建设,下面我们终于要开始领略 Swift Playgrounds 的乐趣所在。

初入编程乐园

Swift Playgrounds 目前分为两大类——「课程」和「挑战」。「课程」目前分基础和进阶两部分,都是给零基础的学习者准备的。而这个应用的最大特点就是游戏化的学习过程。

类似于书本的章节关系,在「课程」中 (无论基础还是进阶) 都是按照主题分为「章」,每一章内有若干「小节」。和普通的教科书不同的是,Swift Playgrounds 像 iOS 游戏那样,将对编程的介绍融入到关卡当中。

以最基础的第一章为例,开始的第一节,用有趣的文字和动画来解释要学习的概念。之后就像游戏鳄鱼小顽皮爱洗澡一样,你控制名叫 Byte 2的角色3,根据界面左上的文字提示,在左下写相应的代码来控制 Byte 的行动,向前移动三格,收集到宝石即可过关

 

对于任何有过 iOS 游戏经验的人来说,Swift Playgrounds 没有任何门槛而言,就像玩游戏一样来过关就可以了。而在这过程中,不知不觉就会非常直观的体会到编程的基础概念。

为 iPad 而优化

如果说有趣和零门槛是吸引你学 Swift Playgrounds 的初始动力,那么苹果特地对 iPad 进行的优化,会让你爱上在 iPad 上使用 Swift Playgrounds

1. 特别适配的键盘。键盘的字母区都可以通过拖拽按键的方式来输入编程符号。最好用的当然还是键盘上方的通过快捷点击输入命令,其实它也类似于自动补全功能,输入一部分就可匹配出相应的命令。这样的改进虽说比不上熟练的开发者的输入速度,但是对于初学者来说大大减轻了输入命令时的恐惧,将其变成几次轻松的点击。


2. 在编辑代码块时自动调整代码。对于已经输好的代码,我们可以直观的利用触摸屏的特性去拖动代码块的顺序,还可以根据固定的格式填写代码。省去了代码缩进这个对于初学者容易犯错的场景。当然一定程度也避免了括号不配对的尴尬。

为什么 Swift Playgrounds 简单到小朋友都能学会?

编程课程可以说是互联网教育中分量非常重的一块内容,各个水平、技术方向的内容都很齐全,那为什么编程没有普及到普通人甚至小朋友的范围呢?或者说,Swift Playgrounds 对比之前的课程有什么独特优势吗?我想「直观」「深刻」「实践」三个词可以总结为 Swift Playgrounds 的作为后起之秀的优势。

摆脱黑乎乎的窗口,来场交互式的学习

如果你之前有过其他语言学习的经历,我想你学会的第一个语句,一定是输出「Hello,World!」这个语句,这是为了给初学者增强自信,但是难免显得乏味。

而 Swift Playgrounds 一开始就是交互式的学习场景——通过命令控制 Byte 的行动,直观的看到自己命令的效果,相比千篇一律的「Hello,World!」,无疑是前者成就感更强

而用游戏的形式,一开始不让学习者接触到枯燥的基本语法。而是通过编写代码组合的方式,让学习者在脑中直观的建立起代码与最终呈现的联系,可以说能最大限度保留住了学习者的学习热情。

有趣又严肃,你学的是编程的思想。

一般来说,学习一门新的编程语言大致会分为四个部分:

  • 数据成分
  • 运算成分
  • 控制成分
  • 传输成分

很多教科书和网络课程,也会大致按照这个分类来编排内容。这种结构型学习的好处是基础会打的非常牢靠,就像修建金字塔一样,逐层往上,适合专业学生的学习。但是缺点对于初学者来说是很难忍受的——你在享受到编程的乐趣之前可能已经被枯燥的知识细节吓跑,比如缕清各运算符之间的优先级。

而 Swift Playgrounds 是一种目的为导向的学习,通过不断解决小问题来理解知识,而且将编程思想的介绍放在非常高的优先级上。最好的例证是在开头几章就讲「函数」、「循环」等,注重让初学者体会编程的意义——减少重复性的人工操作——和根本的编程思维——把问题逐步分解。而应该当做前几课讲的数据成分却放在了「进阶」的部分。

不一定说这种内容编排是最好的,但是我认为是最适合初学者的。对于初学者来说,告诉他为什么这么写,远比怎么写出来更重要。

实践出真知,学习不能袖手旁观

编程作为一门工科学科,势必需要学习者大量练习,才能真正理解一些看起来很基础的概念。

用游戏的方式来学习编程并不是单纯的吸引你来玩,因为本身编程内在的难度不会因为外在的形式而降低,但是用游戏的方式可以让你更形象的体会到编程中各种概念,从而降低了上手的难度和对概念的恐惧。

之前提到过Swift Playgrounds 分为两大类——「课程」和「挑战」。完成了基础的「课程」后,Swift Playgrounds 内准备了一些示范性的工具,供你尝试你的编程技巧。没有正确答案,有无限的可能性供你探索,这也就是为什么它叫 Playgrounds (游乐园)的原因吧。

你的乐园,也是你的起点

本文的大部分篇幅都在讲述 Swift Playgrounds 的意义,相反对其本身的描述却比较少,那是因为它本身太容易上手了,我的上百字描述,可能远比不上你实际体验一分钟。

如果你是一名想自己动手解决问题,却苦于之前没有机会坚持下来学习一门编程语言,我想这是一次好机会。Swift 本身作为苹果自己的开发语言,其强大的功能和可能性自不用说,Swift Playgrounds 又把学习的成本降到尽可能的低。

如果你已经是一位有经验的开发者,Swift Playgrounds 也有很多可玩性,比如写自己的 Swift 课程或者实验各类 iOS SDK 的特性,别把它当做一个给小朋友的玩具了。

总之,它会成为所有带有好奇心和动手能力的人的乐园。

  1. 于2014年 WWDC 发布, 是用来撰写macOS、iOS、watch OS和 tvOS 的编程语言。  

  2. 即「字节」,计算机信息计量单位。  

  3. 单击它可以进入选择角色形象界面,目前有三个小怪物可选。  

关于 iOS 10 的更多内容:



文章来源 少数派 ,原作者 sainho93 ,转载请注明原文链接



原文可获取应用下载链接:具透丨苹果带你用最有趣的方式学编程:iOS 10 Swift Playgrounds 详解
喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )

95b039e3d5d68c765fe5da3e3f78a2e254b1a_mw



Original Article: http://sspai.com/35392


Z88

Branch,让你更有条理地记录碎片想法 | App+1

Branch,让你更有条理地记录碎片想法 | App+1
在复杂的世界里一个就够了:ONE一个- 少数派  /  玉子烧

eb14807ddf5d618631ee00edd7a0e22f551d8_mw

分类是有序的基础,当我们整理电脑中的文件时,总是会先建立几个类别的文件夹。每个人生活中都存在无数碎片化的信息与想法,如果要将它们也进行条理化的记录,大如工作、学习、兴趣,小如做饭、读书、电影,都需要设立不同的主题与标签,Branch 为这类需求提供了一个良好的工具。

发掘这款应用的契机很偶然,只因我想记录下自己参加某个历时数天的活动过程。这类信息琐碎、随意、主观,说不上有多重要的价值,但对自己又很有纪念意义,发在社交网络上有刷屏之嫌,也不方便日后回顾,写在记事本里又会和其他的内容混杂。在这个情景下,「分类」成了我最关键的需求。

Branch 的官方定位是「日志」,基础功能也是类似于日志软件的图文记录,但在编辑任何内容之前,首先需要创建自定义的专辑(即一个主题),每一个专辑都可以独立设置公开或私密,专辑内的图文则按时间线卡片式呈现。

Branch 支持通过常用社交网络或链接分享,我们可以将某一个专辑共享给好友进行浏览、订阅、点赞、评论等互动,没有安装 App 的朋友同样可以网页形式查看。

尽管只有移动端,但 Branch 还设定了浏览器云输入作为补充,扫描网页上对应的二维码就可以在网页上记录信息。

屏幕快照 2016-09-22 10.27.45.png

总的来说,Branch 的特点有:

  • 将分类优先于记录,即在打字发图之前得先把它归在某一个主题里,保证了内容的条理化,用户进入应用首页看到的就是不同的专辑,其他日志类软件很少有 Branch 这样优先而直观的分类;
  • Branch 内置了社区,定位介于社交和工具之间,你可以针对每个专辑独立选择所有人或仅自己可见,负能量的吐槽还是和平友好的读书笔记都能写,兼容了好友间的互动与个人隐私;
  • 设计和操作简单,整个应用比较纯净。

你可以在 App Store 免费下载 Branch 进行体验。



文章来源 少数派 ,原作者 玉子烧 ,转载请注明原文链接



原文可获取应用下载链接:Branch,让你更有条理地记录碎片想法 | App+1
喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )

95b039e3d5d68c765fe5da3e3f78a2e254b1a_mw



Original Article: http://sspai.com/35566


Z88

macOS Sierra 系统简体拼音输入技巧 | 一日一技

macOS Sierra 系统简体拼音输入技巧 | 一日一技
在复杂的世界里一个就够了:ONE一个- 少数派  /  scomper

3658c01401418ff6ddc384ad7c09b626552df_mw

macOS 10.12 这次升级,系统自带的拼音输入法又变的好用了一点,MarkDown 语法中经常需要用到的 #、*、- 符号可以直接上屏,另外 ⇧{} 也能输出直角引号「」了。

为此,我重新整理了一下原来的简体拼音输入技巧的图示。

符号输入面板中,建议将经常用到的表情和符号添加到「个人收藏」当中,便于频繁的调用。

macOS 的输入法设置里还有一个全局方面的改变,就是多了一个「使用大写键切换英文输入模式」的选项,这项开启后对所有输入源都有影响,因为你会发现要点亮 capslock 键变成了长按,要按住一会才会打开,点击一下是不响应的。

勾选此项后 capslock 打开就是英文输入模式,对于简体拼音而言是小写字母的输入,输入大写字母还是要先按住 shift 键。而对于第三方的输入法来说,大写键的定义上可能不同,例如鼠须管开启大写键就是大写字母的输入,按一下 shift 键是英文输入。问题是这个勾选项是全局的,以后打开大写键都要长按才行,这种习惯上的变化可能很多人会不适应,所以默认我选择把它关掉。

本文档适用于:macOS 10.12
内容制作软件:Ulysses、OmniGraffle



文章来源 少数派 ,原作者 scomper ,转载请注明原文链接



喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )

95b039e3d5d68c765fe5da3e3f78a2e254b1a_mw



Original Article: http://sspai.com/35604


Z88