Dub-dub 2019:WWDC新闻和我的印象

你好 我叫Azat Zulkarnyaev,我在Badoo开发iOS应用程序。 传统上,每年我们与WWDC的同事一起度过一个星期。 在文章中,我分享了我对会议的印象:在摘要中,不仅重要的更新和会议回顾,还包括在欢呼“ Dub-dub!”的快乐人群中的一些个人情感。 DC!” 和梦想与蒂姆·库克握手。



关于会议的一点


每年,Apple都会为其平台(不仅是平台)的开发人员举办WWDC会议。 传统上,公司组织的活动引起很大的轰动。 会议的第一天宣布了主要与软件产品有关的主要创新。 以下是Apple员工的会议,旨在帮助第三方开发人员应用这些创新。 在本文中,我将不仅要介绍会议的技术创新,而且要介绍会议的总体印象。

印象数


我认为每个Apple平台开发人员都希望至少参加一次WWDC。 不仅是在实验室会议上,您可以亲自讨论您的问题和愿望,还可以在活动的迹象上讨论问题。

会议通常不是从第一个演示文稿(称为Keynote)开始,而是从注册或队列开始。 通常,队列是会议的组成部分,这是合乎逻辑的,因为有成千上万的参与者,所以所有事件都在一个位置举行。 队列开始处的位置有时会带来令人愉悦的优势。 例如,蒂姆·库克(Tim Cook)亲自迎接了第一批注册人员。

注册后,将为参与者提供公司外套和带有会议或公司标志的徽章。



赠送外套的想法非常好,因为许多参与者在阳光明媚的天气下蒙蔽,没有穿暖和的衣服抵达圣何塞。 但是加利福尼亚的天气多变,到了晚上,天气就变冷了。 另外,空调正在无情地冷却建筑物内的空气。

徽章立即成为收藏家的目标:人们试图用所需的徽章来补充他们的徽章,并且他们不断地被狩猎。

主题演讲:新


Keynote的队列开始吸引参与者,很早就打开了大门。 事实是,此演示文稿展示了今年的重要新产品:它更可能不是针对开发人员,而是更广泛的观看广播的人群。 公司的高层出现在舞台上,一般来说,这是移动开发领域最重要的演讲之一。

我的一位同事决定这次进入第一排,并在开幕前10小时上线。 但是,不幸的是,今年遇到了麻烦:第一批人被从生产线的另一个地方放进去,并且最好的地方已经被占领。 通常,队列中的第一个位置不能保证大厅中的最佳座位。

总的来说,活动的气氛就像一个假期:组织者祝贺参与者来到这里这一事实,高呼“ Dub-dub! DC!”,苹果迷们正在寻找新的徽章,一切都充满活力和趣味。 很高兴认识到,iOS / MacOS开发中最重要的事情在这里和现在都在发生,也就是说,在家中或在办公室观看视频的印象与实际在大厅中的感觉完全不同。 尝试所有创新并将其集成到您的产品中,这非常鼓舞人心。 与来自Badoo的同事在会议上短暂的头脑风暴变成了我们希望在我们的应用程序中实现的一大堆事情。

与往常一样,在会议召开很久之前,关于未来更新的谣言就开始出现。 今年,WWDC预计将发布新版本的iOS,用于iOS和MacOS的跨平台开发工具,日落iTunes,新的Mac Pro。 甚至有关于增强现实眼镜的猜测。

这些谣言中的许多已经得到证实。 但是首先是第一件事。

苹果电视


首先关于tvOS。 UI tvOS经过了重新设计。

苹果公司正在积极推广其电视平台TV +,因此,我们在WWDC上看到了该系列的预告片。 尽管做出了种种努力,但苹果仍然在追赶中发挥着作用。 像Netflix这样的平台在用户体验和内容方面仍然更好。

对于大多数AppleTV而言,最令人愉快的创新也许是对Xbox和PlayStation游戏杆的支持。

iPad操作系统


从视觉上看,它与iOS没有太大区别。 也许目标是使iPad更接近Mac。 因此,开发人员可以轻松地将iPad应用程序移植到MacOS。 苹果的平板电脑已经变得更加实用:例如,现在它们可以用作第二台显示器并将USB驱动器连接到它们。 后者可能是由于更新的用于文件系统的“文件”应用程序。

Safari现在应该可以更充分地工作,并为网站的桌面版而不是移动版提供布局。

将屏幕分成几部分的功能已得到改进。 现在,每个应用程序可以在屏幕上同时显示几个窗口。 例如,您可以在一个应用程序中同时处理两个或多个文档。



观看操作系统


现在,要在Apple Watch上安装该应用程序,无需在随附的iPhone上执行此操作。 作为逻辑上的延续,Apple Watch的AppStore应用程序出现了。 所有这些意味着现在您可以立即搜索和安装应用程序。 目前尚不清楚这对用户有多大用处,因为这种安装方法的便利性值得怀疑。 手表主屏幕的新设计选项是一个不错的选择。

Mac OS


新版本的名称是MacOS Catalina,以纪念洛杉矶附近的岛屿。 这次并没有发布太多新产品。 令人难忘的是,只能提到iTunes应用程序将不再存在,它的各个部分将作为独立的应用程序存在。

具有讽刺意味的是,Apple音乐,播客和电视曾经是iTunes的组成部分。 通过Finder可以使用连接的设备。

iOS 13


也许主要的变化已经影响了iOS。 提出了许多更新,让我们关注一下主要内容。

性能改进:应用程序开始运行得更快-显然,尤其是由于Swift Runtime已被缝入系统。 在安装和更新应用程序期间下载的二进制文件的大小也略有减小。 我很高兴Apple继续致力于优化其产品,希望能比较演示文稿中宣布的改进的真正价值。

许多人期待已久的主要视觉创新是一个黑暗的话题。 在新的上下文中,系统应用程序看起来非常不错。

在使用Apple Id的应用程序中进行注册/授权的可能性引起了很多炒作。 演示文稿中的内容引起了公司的尊重:最后,一种简单的方法似乎可以快速登录到第三方服务,而无需提供您的真实数据。 对于某些应用程序来说,这可能会令人头疼,因为Apple已配置为所有使用OAuth的应用程序都必须强制执行这种类型的授权。

另外,我想提及“查找我的Mac”应用程序系统的改进。 现在,即使笔记本电脑处于睡眠模式和/或没有网络访问权限,它也可以通过蓝牙与附近的Apple设备交换消息,这将依次发送有关Apple计算机位置的信息。 一个简单但非常有用和有效的想法,由于缺乏信任以及智能手机和计算机之间的单一通信协议,对于另一家公司来说很难做到。

同样,不容提及的是,现在iOS系统键盘仍将支持字母之间的滑动键入,这意味着使用这种键入方法的粉丝不再需要安装第三方键盘。 最后,表情符号键盘切换按钮与语言切换按钮分开。

在其他新产品中,可以提到苹果在追赶Google Maps方面所做的努力,在其Maps应用程序中引入了Google Streets模式的类似物,对照片进行智能分类和分组,以及基于Animoji的自定义贴纸包。 还介绍了对标准应用程序的一些不太重要的改进。

Mac Pro


引入的主要且唯一的非软件产品是新的Mac Pro。 我不会为设备的外观设计者提供可能的灵感来源:首先看一下系统单元的正面会引起不由自主的笑声,这对于该公司的产品来说是罕见的。

通常,设计师偏向于优雅的实用性。 新一代计算机与上一代计算机有很大不同,后者已与另一种家用产品进行了比较。 有了一些回归的根源,并且新的Mac Pro在外观上与第一代产品相似。



但是,里面是一辆全新的汽车。 计算机和所提供的显示器的强大功能确实令人印象深刻,但是价格却使您考虑了对如此出色的设备的需求。 显然,为了不吓audience观众,价格只针对系统单元的最基本配置,即6,000美元。 新款31.6英寸XDR 6K显示器的价格至少为4,999美元。 好吧,在这里您需要为展位增加999美元。 确实,不要倚靠墙壁。

斯威夫特UI


对开发人员而言最重要的公告。 苹果仍然发布了一个新的声明性框架,用于在Swift上开发UI。 改变概念的后果很难被高估:演讲的第一印象就像是建筑物立面上会议的象征。



发言人没有说出他们的灵感来源。 通常情况下,所有事物都是作为创新出现的新事物,从而巧妙地避免了提及类似的解决方案。 通常,熟悉其他框架以声明式方式开发接口的人会认识到熟悉的原理。 猜想了React甚至Flutter的思想的影响。 但这一切仍是猜测。 Twitter上提到该框架的工作已经进行了至少3年,鉴于已经发生了很多变化,这不足为奇。

开发接口的概念的变化通常会变成处理数据的方法的变化,因为声明值之间的函数依赖关系而不是显式分配的显式方法与声明性接口很好地组合在一起。

为iOS实现此概念的最常见框架可能是RxSwift。 苹果公司引入了一个替代性的新框架Combine 。 乍一看,该框架中的类与Java中的类相似。

WWDC会议


会议的主要部分是一系列会议,其中苹果员工讨论新技术并解释如何正确使用它们。 每个会话都使用一个示例演示更改及其演示。
一周以来,位于圣何塞的会议中心变成了面向开发人员和更多人的小型大学。 休息时间有一百多场演讲,数千名参与者,活跃的讨论。

在我看来,以下列出了与WWDC进行的一些有趣的会议的描述。

斯威夫特UI


在这些会议上,他们提供了有关Swift UI的基本信息,讨论了框架开发人员试图实现的想法,目标,并展示了简单的用例。 这些示例确实令人印象深刻:有时甚至觉得它太好了以至于无法实现。

随着语言的新功能,元素层次结构的描述变得非常富有表现力和声明性。 如此之多,以至于不再需要XML Xib文件来生成基于代码的预览。

框架的主要特征是显示的值类型,所显示数据的两种状态之间的差异的自动构造以及由代码描述的对象的层次结构不一定与渲染的视图元素的真实层次结构一致的事实。

值类型的对象使您可以快速创建和删除内存中的对象。 尚不清楚如何实现映射的渲染器和在状态之间产生差异的组件:Apple很少打开所创建工具的源代码。

在第一届会议上,展示了一些简单的示例;到最后,展示了复杂的案例以及大量数据的复杂呈现。 非常高兴的是,需要大量资源进行渲染的非交互式元素可以通过Metal用一条线切换到渲染模式,从而极大地提高了生产率。

结合


在这里,向观众介绍了新的数据流框架。 对于那些使用Rx或类似工具的人来说,几乎没有什么新鲜的东西。 演示中的其他开发人员对新方法的表现力印象深刻。 该演示显示了反应框架的非常标准的示例。 具有搜索字段并使用输入的文本向服务器发送请求的案例已经成为教科书。 通常,该库不是很大,并且熟悉文档就足够了。

像Swift UI一样,Combine积极使用值类型来提高性能。 但是,尚不清楚取消订阅后如何释放资源。 我推荐Michael Long 撰写有关该主题的文章 :它描述了使用框架时可能遇到的问题。

除了Combine,Apple还对Foundation组件进行了扩展,以方便地将标准数据流转换为反应式。

迅捷包管理器


苹果决定最终完成其依赖工具。 现在,它已得到Xcode 11的完全支持,已经实现了与GitHub集成以及其他用于存储库的流行服务。 这些会议描述了如何在Xcode中使用SPM(这非常简单)以及如何解决依赖关系冲突。

处理收藏


对于不打算切换到Swift UI的用户,Apple引入了新工具来简化UIKit中的UI列表(集合视图,表视图)的工作。 用于不同平台上集合的新数据源将使更新列表显示变得更加容易,而不必担心由于列表的不稳定状态而导致运行时错误。 通过许多报告,单一真相的想法一直是一个常见的话题,新组件为UI列表实现了这一概念。

集合视图引入了新的布局视图 。 使用组的新概念,可以描述一个部分中元素的完全不同的布置。 因此,在同一集合中,不同的部分可能具有不同的滚动方向。 我认为,这是最有用的创新之一,它将大大简化组合列表的创建。

斯威夫特


在新版本的Swift中,您可以执行所谓的属性包装器。 本质上,这些是泛型类,它们在对象的属性中添加了某些行为。 听起来很抽象,但这是一种非常强大的语言更改,它为Swift中的对象属性添加了注释的类似物。

现在也很容易制作您自己的类型化DSL。 在会议上,演讲者判断,苹果的一名开发人员在几个小时内就为HTML标签制作了DSL。 该功能仍处于测试阶段,也许在开发过程中它将变得更加有趣。

为避免在使用具有关联类型或自我要求的协议时出现问题,派生了不透明类型。 在类型前面添加关键字some不仅可以作为通用限制,还可以使用此类协议的类型。
所有这些创新都已在SwiftUI中得到积极使用,因此我建议您熟悉新语言功能的原理。

基金会


基金会提出了一些很好的办法,例如关于某个日期的时间格式化程序,集合内容的本地化,而这些内容的元素又可以以本地化格式显示。

iOS变化


这里有很多更改,因此我仅提及主要更改。
如果您通过Google或Facebook之类的第三方服务支持系统中的授权 ,那么Apple很快就会要求通过Apple ID支持授权 。 也许在某些情况下,这将是授权的特殊情况,因此请不要延迟此功能的集成。

现在提供了一种新型的用户提供的地理数据 。 现在,用户才有机会仅在应用程序的当前会话期间提供对其位置的访问。 授权状态的转换不太明显,因此必须观看视频。

许多应用程序在后台使用工作,因此可能需要进行有关API的更改以处理后台任务的会话,如果短暂,现在您可以在用户将设备连接到电源之前推迟任务。 是的,现在如果不使用CallKit来唤醒应用程序,则无法使用VoIP推送通知。 我还建议您检查服务器是否将在推送通知的内容中发送必要的参数以及视频中提到的必要值。

对于许多应用程序来说,iOS 13中可用的深色主题也可能是一个挑战。 如果第三方应用程序忽略了系统指定的样式,则可能导致用户对整个应用程序不满意。 因此,如果在设计方面可以接受,那么最好在应用程序中保持动态样式。

资源(例如颜色或图像)可以是动态的,其具体含义取决于上下文。 样式信息存储在“特征集”中,并且根据其当前值,相同的动态颜色可能具有不同的值。 您可以轻松地通过Xcode中的资产目录或通过接受特征集作为初始值设定项来以编程方式使颜色或资源动态化。

您可以在traitCollectionDidChange方法中获得主题更改,但请记住,现在将立即使用给定的集合创建UIView。 也就是说,即使在添加到映射层次结构之前,UIKit本身也会将最可能的未来集合分配给该对象。

您可以在此视频中找到有关黑暗主题的更多信息。

机器学习


主要创新 -现在,您可以为特定用户调整训练后的模型,直接在设备上进行训练。 为此,您需要根据用户操作收集数据进行培训并进行运行培训,这些培训可以使用图形适配器进行计算。 , .

Apple API , , .

WWDC? 是的


, , . , .

Apple . , .

, Apple , , . , , , . , WWDC : , , - .

Source: https://habr.com/ru/post/zh-CN456028/


All Articles