前言

每年的 WWDC 都是 iOS 开发者集体高潮的时刻。第一天的 WWDC 带来了全新的 iOS 11、MacOS、tvOS 和 watchOS,革命性的 AR 和 ML 应用,以及更强的 iPad、“硬件神兽” iMac Pro 和智能音箱 HomePod。我想从开发者的角度,聊聊这次大会给我的印象和感受。欢迎大家在评论中谈谈自己的看法。

机器学习

恐怕没有哪个词的频率高过 Machine Learning,它也是贯穿各个平台的关键词汇:watchOS 的表盘,macOS 上照片流的分类,Siri 的上下文理解、翻译、预测,手写笔记的直接识别和搜索支持,甚至 Mac 系列芯片和 Metal 的更新都表示支持机器学习。iPhone 上人脸识别甚至比 Google Pixel 快出6倍。可以看出机器学习已经完完全全得融入到了 Apple 的全平台、全应用、全硬件。

而作为开发者,最令我激动的是 MLKit 的发布。苹果带来了自己的模型,你只要不停的运用数据喂养它即可。这意味着我们今后的 App 将变得更加动态化 -- 随着用户使用的增多,App 将越来越智能和强大。

原来的路线是 App 发布 -> 用户反馈 -> 线下产品经理分析 -> 程序员优化 -> App 更新;今后的路线可能是 App 发布 -> 用户反馈 -> 机器学习 -> App 更新。这次 Apple 还推出了急速审核(40分钟过审,摩拜单车团队已验证)和灰度发布的两大功能,也许就是为了给机器学习能自主的更新 App 铺路。目前苹果公布的 API 主要支持视觉识别、自然语言以及游戏 AI。

相关链接:

虚拟现实和增强现实

这些年虚拟现实遭遇了过山车式的变化。先是遭到资本疯狂追逐,大厂如三星、HTC 重金投入,索尼也趁势推出了 PlayStation VR;然后是 Pokemon Go 的大火,仿佛虚拟现实和增强现实的元年已经到来;突然,Facebook 的 Oculus 线下200家体验店关门;乐视的虚拟现实部门倒闭走人;直到上个月的 Google IO,Day Dream 的更新也表现平平。大家都认为,VR/AR 只是个概念炒作,充其量在游戏上起到锦上添花的效果。

直到今天。如同当年普鲁士一统德意志,苹果姗姗来迟,却在一出场就技惊四座。

Metal 2 十倍于当前性能的图像处理技术,芯片的升级和“硬件神兽” iMac Pro 的出现,让苹果在 AR/VR 上的雄心彰显无遗。现场的星球大战 VR 以及 iOS 11 即时战场 AR 展示完全颠覆了我对 AR 的认知 -- 要知道,这可是无需沉重的头套、专用的手机,直接用 iPad 即可完成的事情。

同样,Apple 推出了全新的 ARKit 来供开发者使用。配合 iPhone 和 iPad 上强大的传感器以及全新的 GPU、CPU,我们开发者可以使用 ARSession 这个共享单例来在摄像头上实现 2D 和 3D 的宏大场景构建。

相关链接:

Swift 和 Xcode 9

Swift 毫无疑问是开发者关心的头等大事。作为苹果的野心,Swift 引入了很多非常先进的思路。然而令我有点失望的是,这次 Keynote 却对 Swift 和 Xcode 9 只字未提。

不过从现场看来,Swift 这次的更新主要是 API 的优化上,对现有的标准库进行了11项更新和1处新增,主要集中在基本数据类型和文件系统上。

Xcode 上,目前发现的更新主要是多个模拟器同时运行(鸡肋,估计会卡),本地化,runtime debug 工具,持续集成,和源码管理。

我们只能期待秋季的苹果发布会上 Swift 4 进一步的更新了。有意思的是,之前 Swift 之父 Christ Lattner 写了篇总结文:Chris Lattner 对 Swift 3 的总结与对 Swift 4 的展望。另外大家如果关心 swift-evolution 这个开源库,Swift 4 的新功能应该可见一斑。

相关链接

iOS 11

这次 iOS 11 更新可以说是全面彻底。从基本的功能升级到 App 新功能添加,再到 iPad 平台 UI 重构。主要集中在这几个方面。

iPad

为 iPad 全新打造的 iOS 系统,多任务、分屏 UI,Docker 工具栏。虚拟现实和增强现实的引入,以及对机器学习的支持。总体来说,消费者很开心,开发者又有新的东西可玩了。同时我觉得 iPad 越来越向 Macbook 看齐了。

App

  • App Store 全新设计
  • Files 文件管理软件放出
  • 开放 Apple Music
  • Apple Pay 新的转账功能,注意 NFC API 接口开放,是不是为了 Apple Pay 更方便接入其它 App?
  • Apple 地图继续追赶 Google 地图
  • iMessage 花里胡哨扩展中
  • HomeKit 追加音响(HomePod)支持

新功能

  • Drag and Drop (梦想成真!)
  • 拍照和截屏(扫描文件这个功能真是又重创了一大波 App)
  • 中国特殊加成:二维码和上海话识别

相关 Session

tvOS, watchOS 4, MacOS

这三个平台的更新可以说是泛善可陈(除了 Machine Learning 和 AR)。基本上就是,更多的内容(Amazon 的加入)、更炫更方便的 UI(运动界面和音乐界面)、以及更拽的名字(对,新 MacOS 叫 High)。

值得一提的是 Apple File System。其实这个文件系统去年就宣布了,不过并不在 Keynote 之中。今年苹果用它全面替代了古老的 HFS+,取而代之的是更高的性能、更好的安全性、更多的空间。这主要是 copy-on-write 和空间共享技术的运用。

Apple 同时开放了 FileProvider API,开发者可以用它在新的 Apple File System 基础上实现对文件各种基本操作,还能通过它对应的 extension 实现诸如 drag and drop 这样跨 App 的功能。

 

【硅谷问道】 WWDC 17: 开发者的最初观感的更多相关文章

  1. WWDC 17: 开发者的最初观感

    WWDC 17: 开发者的最初观感 前言 每年的 WWDC 都是 iOS 开发者集体高潮的时刻.第一天的 WWDC 带来了全新的 iOS 11.MacOS.tvOS 和 watchOS,革命性的 AR ...

  2. 【硅谷问道】Chris Lattner 访谈录(下)

    [硅谷问道]Chris Lattner 访谈录(下) Chris Lattner 访谈录(下) 话题 Swift 在 Server 和操作系统方面有着怎样的雄心抱负? Swift 与 Objectiv ...

  3. 【硅谷问道】Chris Lattner 访谈录(上)

    [硅谷问道]Chris Lattner 访谈录(上) 话题 Chris Lattner 是谁? Xcode 的编译器 LLVM 背后有怎样的故事? Swift 诞生的前世今生,封闭的苹果为何要拥抱开源 ...

  4. 2016 苹果全球开发者大会(WWDC)

    纵观WWDC 2016开发者大会的全部内容,尽管本次大会没有那些新的产品发布,不过能让各位果粉的肾留到秋天,那也是苹果公司对各位果粉的关爱啊.但是对iOS开发者而言,新发布的技术还是比较不错的.主要内 ...

  5. 用HTML和CSS实现WWDC 2015上的动画效果

    用HTML和CSS实现WWDC 2015上的动画效果 动画效果WWDC 2015   原文:https://cssanimation.rocks/wwdc15/ 译者:周晓楷(@Helkyle) 每年 ...

  6. ios9和ios10的新特性

    昨天面试了一个做ios开发的公司,其中面试官问我最新的ios系统版本是多少,以及它的特性是什么?由于自己是初学者,所以对这些没有关注过.今天特地搜索了一下关于ios9和ios10的新特性,并整理了一下 ...

  7. Kafka学习(一)kafka指南(about云翻译)

    kafka 权威指南中文版 问题导读 1. 为什么数据管道是数据驱动企业的一个关键组成部分? 2. 发布/订阅消息的概念及其重要性是什么? 第一章 初识 kafka 企业是由数据驱动的.我们获取信息, ...

  8. APP兼容性测试 (二) 最新 iPhone 机型分辨率总结

    iPhone手机发布时间及iOS发布 iPhone是美国苹果公司研发的智能手机系列,搭载苹果公司研发的iOS操作系统. 第一代iPhone于2007年1月9日由苹果公司前首席执行官史蒂夫·乔布斯发布, ...

  9. iOS---初识Swift(一)

    一.Swift简介 ○ 2010年的夏天, 苹果公司的开发人员Chris Latten接到了一个特别的任务, 为OS X 和iOS平台开发下一代编程语言, 也就是Swift. ○ 苹果公司于2014年 ...

随机推荐

  1. android中执行(定时任务)的方法及6位随机码的产生

    在网上看了很多类似的文章,比较乱,自己总结了一下,在开发中,常见的执行定时任务的方法有以下几种, 很简单的描述,有什么不懂可以留言,下面来介绍一下这几种常见的方法: 1.直接在线程中睡觉的方法,这个比 ...

  2. 解决ubuntu13.04 有线网络 时常掉线的问题

    不少朋友在升级或新装ubuntu13.04时遇到有线老掉线的问题:连上不到半分钟又掉了,把网线重新拔插一下又可以接着又掉..基本不能正常使用或工作,很恼人的问题. 网上这方面的资料很少现在我把解决方法 ...

  3. MATLAB 求两个矩阵的 欧氏距离

    欧式距离定义: 欧式距离公式有如下几种表示方法: MATLAB 求两个矩阵的 欧氏距离 : 如果定义两个矩阵分别为a,b则定义c=(a-b).^2所求距离d=sqrt(sum(c(:)))

  4. jenkins+maven+git+ 邮件自动转发 持续化集成 图文教程

    1.所需要的插件,安装plugin ,进入mangae Jenkins→ manage Plugins, 切换到Available tab, 选择如下plugin 安装 Gitplugin, GitH ...

  5. 数据结构学习之stack

    不能小看这些基本的数据结构,写了才发现还是会有问题出现的. 有码有真相: #pragma once class MyStack { public: MyStack(void); ~MyStack(vo ...

  6. 观文章《Linux系统管理员修炼三层次》有感

     层次,都不陌生,通俗讲,就是和档次挂钩的,初入江湖时,都想自己几年后,武艺精深,深藏百技,忙时带领团队打BOSS,闲时喝酒论道,博古纵今,想想都令人精神满满,干劲十足!!! 至今已入江湖几载,回首来 ...

  7. java可视化编程-eclipse安装windowbuilder插件(转载)

    原文地址:http://blog.csdn.net/jason0539/article/details/21219043 一直做在安卓用xml作界面,对于java的控件不熟悉,也不习惯用代码做UI尤其 ...

  8. 【转载】centos7.3 防火墙配置

    firewalld介绍原文:https://www.cnblogs.com/moxiaoan/p/5683743.html 一. centos7 默认有一个防火墙 firewalld,具体使用如下: ...

  9. Android数据库安全解决方案,使用SQLCipher

    源码:http://files.cnblogs.com/android100/SQLCipherTest.rar 我们都知道,Android系统内置了SQLite数据库,并且提供了一整套的API用于对 ...

  10. [转]MVC 框架教程

    Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业务逻辑和 UI 逻辑)的分离 ...