keynote
keynote部分在上午,总时长两个小时。库克船长刚开始就说了,“today is all about software”。所以,这是一次纯软件的升级演示。
我挑一些印象深刻的点,和大家说一说。
- ARkit2,看起来这是一次非常了不起的升级,从演示的measure应用和乐高游戏也能大概看出来一些,特别棒的是乐高游戏,其效果和交互让人有很大的想象空间。为了让AR有更好的可用性和更多的场景,苹果还联合皮克斯开发了一种新的model数据格式并且支持和常见格式(比如.obj)的转换。很多流行的建模软件也将会支持该格式。
- iOS12多了几个强大的应用,我认为最强的应该是整合后的workflow。workflow曾经获得过苹果的创意设计奖,深受用户(特别是开发者)的喜爱。苹果收购了 workflow,如今将它整合到iOS,并且和siri无缝集成,为用户提供非常棒的工作流自定义体验,可以用于提高你的日常工作效率。
- 增加了几个新的animoji,并且还支持自己定义自己的memoji,这个有点像很多游戏里面的捏脸系统,但它人脸部分的动作很多,苹果在软件层面应该做了很多工作来完成这一点。animoji还可以和人脸识别相结合,应用在了imessage和facetime中,其实时捕捉脸部用animoji替换的效果非常赞。可以说是一个极具创新性的设计和实现了。
- facetime最多可支持32人同时视频,其中很多细节设计的非常人性化,很精巧。这个idea不是独创性的,微信也早就支持,但这种产品的体验和细节非常的重要,苹果在很多地方都是跟随者,但最后是它把体验做到了极致。对于视频通话来说,效果是最重要的。从演示来看非常不错。
- apple tv全新升级,支持一种杜比的音效,现场体验效果非常爆炸,还有片源的质量升级等;还简化了一个验证步骤。最主要是介绍的小姐姐颜值和声音都圈粉,这里就不上图了,大家可以去看一下video。
- 发布了watchOS5,增加了一些功能(比如按住说话)。
- iOS12 可以支持所有的设备,只要你的机器可以运行iOS11。所以这是一个老用户的福音,并且性能方面得到了全面提升。我的iphone6已经第一时间升级,大部分应用运行都没有问题,且性能得到了一定的提升。根据苹果的说法,性能的优化主要得益于machine learning技术,其对cpu时间的使用更具有效率、更智能。
- machine learning得到了大大强化,推出新的工具帮助我们直接在mac上建模,使用swift语言。而不需要先从诸如tensorflow之类的工具生成在转换了。还推出了一些新的ml相关的api。
最后,那个给开发者的小短片真的燃到我了,那个瞬间,我热泪盈眶。
平台状态汇总(platform state union)介绍
这个是下午的内容,也是对开发者来说可能比keynote更重要的东西。因为所有的展示基本上都附有代码和demo,让开发者很容易理解其中的含义和价值,并且对后面几天的所有session作了交代,让大家可以去选择。
从上面这个图来看,是分为5大部分:xcode10,swift4.2, new ml, metal, arkit2。 但实际上还介绍了新的mac dev部分和siriShortcuts开发的内容。 按照presentation的顺序我来聊一聊这七个部分。
- mac dev。 mac 这一部分的更新绝对是爆炸性的。苹果承诺将在2019年对外开放这部分的能力(基于UIKit的mac应用UI构建),这意味着届时许多ipad应用可以通过改动较少的代码移植到mac上运行,苹果已经eat his own dogfood,在mac上有两三个应用就是基于ios移植而来。 这将极大丰富mac的软件生态,开发者也可以从中获益。
此外,还演示了dark mode的使用和开发的体验,很nice。
总体来说,mac开发者对这一波应该评价比较正面(一起同行的mac开发者表示很满意)。 - xcode10 。从现场给出的数据看,xcode10对swift项目编译的提升简直是爆炸性的。速度普遍提升两倍或者以上,其原因是整个xcode10编译器部分全部使用swift重新编写和优化了。
xcode10的 playground 也得到了大大强化,它将不再仅仅是一个初学者的玩具,而是进化成一个生产力工具,诸如ml任务、简单的idea验证工作、甚至是framework的readme和demo都可以通过它来完成。它支持外部框架引入,它还可以展示UI, 它比写一个脚手架demo更快速、更强大、更高效、更优雅。 - swift 4.2。swift并不是我的主力开发语言,但它应该是iOS开发的未来。swift 4.2 的改进体现在很多方面,它合并了很多社区提交的内容。并且swift 5也将在以后和我们见面, 最终苹果将解决兼容的问题,并且会将swift集成在系统中,这样会减少包的大小。
具体的技术改进包括编译器支持、语法更新、性能优化等等,苹果希望社区在beta阶段可以积极的提供反馈和提交,其核心团队最终决定社区的提交是否被合并进来。也就是说,swift的某一个特性未来如何,可能是你说了算。 - new ML。苹果提供了create ml工具,用于直接在mac上建模;在最新的ml上,苹果还可以将特定模型的大小大幅度减小(好像是基于迁移学习来实现的,不知道我有没有get正确这个点)。苹果提供了新的特定领域的api用于图片分类检测、自然语言理解、好像还有一个点(抱歉凌晨三点的我实在想不起来了)。new ML对苹果来说意义重大,on-device ml让苹果可以在保护用户数据隐私安全的情况下,也从ml中受益,iOS12的相册优化就基于该技术。
- metal。 同样的,这也是一个底层的技术,苹果旨在通过高度集成化、定制化的优势让metal可以在iOS设备上可以在图形图像以及gpu相关计算领域获得爆炸的性能。他们的目标是最终替代opengl/opencl等。metal支持的设备非常老,这体现了苹果的野心。
从现场给出的benchmark数据来看,metal做到了它想要做到的,它支持多个平台,还可以从扩展gpu中得到很大的性能提升。 - Sirishortcuts。 这里主要是给大家展示了一遍整个流程,创建shortcuts需要开发者做什么之类的,从演示的代码来看应该不难,具体的坑什么的可能要在开发过程中才可以体会。在微信小程序的一个新功能(大概是3月份左右的一个发布,具体名字不记得了)中,我感受到了和这个类似的流程设计,不同之处是一个通过搜索,一个通过语音。
- Arkit2。 从keynote的演示里,应该所有人已经对它印象深刻了。这里主要介绍了他们是怎么做到这一点的,有哪些新的概念和api更新等等。值得一提的是,keynote演示中的facetime实时animoji头像就得益于arkit2的增强脸部捕捉技术。 关于arkit2后面有具体的session,推荐大家观看。
这一篇花了我两个小时,在凌晨3点的圣何塞。真的是有些累了,所以后面比较潦草。本来还想把今天的内容作一个总结来的,参加了6个session和1个lab,但实在写不动了,只能拖作业了。 感谢大家阅读我的文章~ 我会继续更新的
github: https://github.com/dustturtle 欢迎follow,希望可以一起交流技术问题。