原文: Top 10 WWDC 2015 Videos


译文: 没机会参加 WWDC 2015,那你可以看看这10个视频


对于暂无机会参加苹果WWDC的开发者来说,视频学习是个不错的办法。不过在 苹果WWDC 2015页面 上有90多个视频,但时间有限,还要慢慢消化这些新东西,挺耗时耗神的,并且每个开发者关注的点也不一样,该如何选择呢?

WWDC-250x250.png

为此,raywenderlich教程组在进行比较后选出了10个视频,并建议开发者从第一个视频开始学习。

小贴士:为了能在有限的时间学到更多内容,建议开发者从WWDC网站上下载离线视频,并使用VLC播放器以1.5x或者2.0x的速度播放。

1) Platforms State of the Union


视频链接

SotU-480x270.png

如果你的时间仅够看一则视频,那就是这个了!

对于开发者来说,WWDC的真正的开始就是“Platforms State of the Union”这一节。主题演讲基本上没什么内容,主要是为了取悦大众、投资人和苹果的死忠粉。相比而言,“Platforms State of the Union”才是慢慢展露有趣的细节的开始。

该演讲讲了一些新技术,并给出了每个技术细节对应的研讨会,“State of the Union include”演讲的亮点包括:

Xcode 7中的新功能,比如测试、布局、App Slicing、On Demand Resources以及Bitcode。 iOS 9的新特性,比如搜索、UIStackView、多任务处理以及GameplayKit等。 watchOS 2中的新特性,最引人关注的是该平台可运行原生的app,为开发者带来了许多新的变化和机遇。 此外,“Platform State of the Union”还涵盖了其他不少新内容,本文暂不一一举出。

2) Protocol-Oriented Programming in Swift


视频链接

protocol-oriented-480x270.png

Swift 2 通过 Protocol Extension 大幅强化了 protocol 在这门语言中的地位,而整个 Swift 标准库其实也是基于 protocol 来设计的,使用了大量的 protocol。可以说 Swift 是一门面向 protocol 的语言。这篇教程中列举了一些 protocol 在实际使用中的方法,可以让你掌握面向接口编程的基础知识。

每场研讨会都吸引了团队的注意力,Protocol-Oriented Programming in Swift更是如此。几乎每个成员都表示这个研讨会分享是自己的首选。苹果工程师Dave Abrahams让我们抛开普通的开发方式,跟随他的思路使用protocol-oriented开发方式,而不是类。

在列举完类的好处后,他从反面说到这些益处揭示了Swift是一种基于协议的语言。用动态多态性交换静态多态性,他认为协议和新协议扩展要优于抽象体的超类。在Building Better Apps With Value Types in Swift中也概述了更加强大的Protocols。

3)用Swift的Value Types编译更优秀的app


视频链接

valueTypes-480x270.png

“OOP开发者习惯于主要处理引用类型(reference types),但是值类型(Value Types)在Swift中用处更大,这个研讨会可以很好地探索它们的能力。” – Jozsef Vesza

这个视频紧接#2视频Protocol-Oriented Programming in Swift,演示了如何在Swift开发中使用协议和值类型。该演讲涵盖了引用类型和值类型之间的区别差异,以及如何同时使用这两者。

演讲者通过示例描述了Adobe如何在实践中使用值语义。对于一些团队成员来说,这节研讨会是必须要看的。

4)高级 NSOperations


视频链接

NSOperations-480x270.png

这节研讨会介绍了iOS开发中存在已久的一个主题—NSOperations,即便如此,这节研讨会还是非常有帮助的,讨论了如何在实践中高效使用NSOperations的问题。

在该视频中,Dave DeLong分享了如何在官方WWDC app中高效使用NSOperations的经验,同时还谈到了WWDC app中登陆、视频、提醒以及其他几个模态操作。

比如,用户可以阻止提供反馈直到他们用自己的开发者账号登陆。将blocks 和NSOperations一同使用可避免该类错误的发生。

单个操作也能创建其自己的依赖,并且操作可以彼此协调工作,在操作中添加逻辑可让后期更改app变得异常简单。

5) Xcode 中的UI Testing


视频链接

XCTest-480x269.png

今年苹果将UI Testing 从Instruments中移到Xcode 7中。此前,测试UI要求使用Javascript和UIAutomation,但在Xcode 7中,你可以原生地执行UI测试,这样你可以找出UI元素的位置,并验证其位置和属性。

XCTest和Accessibility集成在一起,允许XCTest和你的应用程序以用户可能使用的方式进行交互。对我而言,Xcode 7可以毫不费力地将测试最为开发周期中的常规部分。

视频演示demo展示了在Xcode 7中使用XCTestElements和XCTestQueries轻松记录和创建测试的过程。在app中包含Accessibility可让身体不大健全的用户从你的应用程序中获得更多。

你可以通过测试报告检查运行在你应用程序上的测试。如果你对为app创建测试或者为app创建更好的测试非常好奇,可以看看这个视频。

6)Swift的新特性


视频链接

NewInSwift-480x270.png

毫无疑问,Swift对未来的苹果开发至关重要;Swift在2015年秋季宣布开源,大大提高了其可用性。

本节由Swift项目创始人之一Chris Lattner,及负责Swift 2.0升级的工程师John McCall携手进行主持。你应该重点关注错误处理机制的改进,当然也别忘了其他新特性。本节讲到了Swift Migrator的功能,它可将你的代码转变成最新语言版本。

Compound conditions增加了新的特性,包括改进后的匹配模式和rich conditional中新的guard语句。内联编码使得switch语句和模式匹配在Swift 2.0中更好用了。新功能与特定OS系统间的兼容性如何?新的#available语句可以帮助我们进行测试并找到答案。想要了解更多,请查看视频或阅读Greg Heo的[What’s New in Swift 2.0],了解Swift 2.0的新变化。

7)引入 GameplayKit


视频链接

gameplayKit-480x270.png

本节集中介绍了苹果的最新游戏框架——GameplayKit。

GameplayKit包含了一些游戏中常用的独立分支系统。演讲人介绍了它的七个主要部分,并对每一部分进行了深入讲解。状态机(State Machines)管理着游戏玩法中的状态,Agents创建自动移动的实体,Pathfinder则管理节点之间的实体的移动。

对我而言,Agent Goals 和 Behaviors是最酷的部分。它可以让你给精灵添加逼真的移动和动作。本节的demo向人们展示了,不管是鸟群还是赛车,原来元素的移动是这么简单的一件事。我一直在期待能在自己的应用中使用这样的工具。

Pathfinder帮助实体以现实的方式绕过障碍、找到路径。MinMax AI使回合制游戏更智能:它关注对手的行为,并做出收益最大和损失最小的决策。这里有各种的说明和示例,简直是游戏开发者的天堂!

8)Auto Layout奥秘系列


Part 1视频链接 Part 2视频链接

autolayout-480x270.png

“Auto Layout非常重要,这里的东西值得一看——这是每个人都该学习的知识。”——Sam Davies

我之前提到过Auto Layout吗?:]自几年前Auto Layout发布以来,很多开发者被它搞得焦头烂额。一些开发者更喜欢写代码的方式,但我们要看到,随着去年Auto Layout版本修订和Interface Builder里面的附件工具发布,Auto Layout变得好用起来了。

Auto Layout奥秘系列分为两部分,涵盖了12个“奥秘”,从最佳实践到最复杂的布局问题。你会看到可维护的布局、自适应TableView Cells、优先级、布局周期和一些传统布局。

第二部分中,你将深入研究负空间约束的复杂性,处理无法满足的约束,解决歧义。

9)初步认识iPad上iOS 9多任务系统


链接地址

multitasking-480x270.png

iPad上的多任务系统是重要的新功能,本系列视频分为三部分,在第一部分中有相关介绍。

本视频向你介绍了多任务处理的工作方式及UIKit的必要改变。你必须了解这些,因为用户希望你的应用程序支持多任务处理;事实上,使用Xcode 7构建应用时,它会默认支持多任务处理功能。

多任务处理的基础是两个你很熟悉的东西:Auto LayoutAdaptive Layout。Apple还建议你使用 Launch Storyboards,这也是去年才出的东西。你可以在此查看。

iPad和iPhone的简单size classes已经过时了,所以你得更灵活一点。这对iPad开发者而言可谓巨变,因此本节视频实乃必看。用户要调整布局以适应需求,所以你的应用需要智能布局。

10)WatchKit 的布局和动画技术


视频链接

watchKit.png

Mic Pringle是WatchKit By Tutorials的编辑,非常令人尊敬。他说,如果你只能看一个WatchKit视频的话,那就看这个。

这个视频面向所有的WatchKit开发者,它既涵盖了当前WatchKit的方方面面,也介绍了新的WatchKit 2.0框架。

该视频解释了如何对齐界面对象并调整大小,以及如何使用WatchKit 2.0实现更好的布局与动画控制:

水平、垂直对齐和相对的大小调整都变得更简单。 大小可以根据对象的容器调整,并且调整可以事后进行。 分组和嵌套元素提供了更好的控制,使得复杂布局成为可能。 该视频还展示了动画如何使用计时器和类似insertTableRow的功能以进行动态展示,以及如何用几行代码写出真正有趣的转场。

视频还展示了使用动画创建动态演示的方法,这些动画使用计时器和insertTableRow等函数,你可以用几行代码写出非常有趣的转换。Watch Kit 2还让界面元素动起来,例如透明度、宽度/高度、对齐方式以及颜色等。

要了解更多,敬请观看视频,或者阅读Mic Pringle关于最新WatchKit的报道: WatchKit for watchOS 2:Initial Impressions(中文 英文).