当Swift在年第一次冒泡时,是以一种简单明快编程的语言的姿态呈现在人们眼前的。
不需要用分号来结束每一行,条件语句不需要写在方括号中,也不需要在每一个Switch语句的结尾都用一个break来结束。这使得孩子更容易地写下他们的第一段代码,而无需担心是不是在某一个地方漏打了一个标点符号。
在年,苹果公司发布了SwiftPlaygrounds的iPad版App,此举让Swift这门语言变得更加容易掌握,即使没有电脑,也能在教室或是家里轻松地学习编程基础。
而iOSStoryboards(故事板)专注的方向就跟Swift有所区别了。
要设计一个App的视觉布局,苹果的建议总是把几颗按钮、一个滑块或是一些开关通过拖放,摆到他们称之为“故事板”的地方上。但如果你想直接对故事板的XML代码进行编辑呢?
恕我直言,XML简直是一团乱麻,可读性极差,而且难以进行视觉想象。为了适应不同的屏幕大小,你需要大量的布局约束,而这些约束只会增加复杂性。加上用户界面里的每个元素都有大量的标记和属性描述,大量的要素构成了XML庞大、复杂而混乱的界面。
如果XML要达到Swift级别的易用性,它就需要被完全重制。
在苹果全球开发者大会WWDC上,苹果宣布XML重制完成。多年来,苹果一直推崇拖放的交互方式,而没有真正把背后的XML认真当一回事,而今,苹果又增加了一种易于编写、阅读和理解的语言。你可以在分屏模式下预览画布,也可以隐藏它。这意味着用户可以选择在画布上编辑,或是直接修改代码,并且两者都将始终保持最新。
在这个例子当中,我希望以垂直的方式将图像堆叠在文本之上。
在故事板上,我将一个垂直的堆栈视图拖放到画布上,并在各个方面对它进行了约束,这样它就总是适合在屏幕上显示。我将一个图像视图和一个标签拖放到堆栈视图中,然后打开生成的XML文件。
在SwiftUI,我根本不需要拖放。
我知道我想写什么,我可以在几秒钟内写出来。
SwiftUI终将会使更多喜爱编程的孩子获益。虽然这个工具才刚刚发布不久,但人们对SwiftUI的认可不仅限于它的易用性,人们还看到了它身上巨大的开发潜力。跟Swift一样,SwiftUI也是一个对未来有保证的工具。苹果在开发这门语言上投入了大量的时间和金钱,他们打算让SwiftUI在尽可能多的层面上取代老旧的故事板。虽然说在近几十年间要把故事板完全抛弃不太可能,但在很多情境下,用得上故事板的日子已经屈指可数了。
由于已经在工作的开发人员无法在大学学习这些技能,SwiftUI在未来将很快成为一项高需求的技能。
SwiftUI的易用性意味着孩子们可以更快地创建他们的第一个iOS应用程序。在很多情况下,同一个SwiftUI可以用同样的代码制作Mac应用程序,根本不需要修改代码。把故事板上的元素跟代码建立关联的耗时更少,而这个过程实际上不过是将一行代码从一个元素拖放到另一个元素而已。添加约束以使应用程序适应不同的屏幕大小所浪费的时间更少。学习新术语和术语的时间越短越好,涉及的词汇越简单越好。图像就是图像,列表就是列表,文本就是文本。
简单的术语是Swift简化编程的一种方式,现在它也在加速视觉设计。
孩子们想要享受制作应用程序的乐趣。而坚持使用旧式技术则意味着坚持使用令人困惑的编程语言进行学习。Kotlin的出现被视为一个更易于读写的Java替代品,而其他旧语言同样可能会在将来某天被取代。学习使用一种新的语言编程,同样是在给孩子们一个新的心理预期——编程没有想象中复杂。它不需要看起来像一门完全陌生的外语,也不应该只对极客展示它友好的一面。
代码被设计成利于人类阅读的样子,那是因为计算机只想读二进制。
最好的编码语言是那些人类用最少的训练就能阅读和理解的语言。对第一次学习真正编程的孩子来说,SwiftUI是一个非常优质的选择。