WWDC 17: 开发者的最初观感

前言

每年的 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,苹果可以说是打了一个漂亮的翻身仗:在人工智能方面挑战 Google,在虚拟、增强现实方面加入战局震慑 Facebook,并重夺工业界顶峰的宝座。 watchOS 和 tvOS 的丰富,虽然进步并不明显,但好歹补足了短板。iOS 11 让 iPad 这个日趋边缘的产品逐渐焕发出了生机。后面的几天,应该会有更多精彩的 Session,给开发上带来更多的启示。

WWDC 17: 开发者的最初观感的更多相关文章

  1. 【硅谷问道】 WWDC 17: 开发者的最初观感

    [硅谷问道] WWDC 17: 开发者的最初观感 前言 每年的 WWDC 都是 iOS 开发者集体高潮的时刻.第一天的 WWDC 带来了全新的 iOS 11.MacOS.tvOS 和 watchOS, ...

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

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

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

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

  4. ios9和ios10的新特性

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

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

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

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

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

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

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

  8. Fastlane为iOS带来持续部署

    Fastlane是一组工具套件,旨在实现iOS应用发布流程的自动化,并且提供一个运行良好的持续部署流程,只需要运行一个简单的命令就可以触发这个流程. Fastlane是一个ruby脚本集合,其中囊括了 ...

  9. ATS(App Transport Security)对HTTP协议屏蔽引起的问题

    一.问题描述 在学习网络处理的过程,发现代码都没错,运行时会收到如下错误提示: App Transport Security has blocked a cleartext HTTP (http:// ...

随机推荐

  1. H5 唤起 APP的解决方案

    H5 页面唤起APP或跳转到下载APP的某个链接地址.总结如下: 在 IOS 中, 系统版本在 8 以下时,可以监听页面的 pagehide / visibilitychange 事件. 系统版本大于 ...

  2. phpmyadmin#1045 无法登录 MySQL 服务器

    使用lnmp安装wordpress在登录phpmyadmin数据库的时候诡异的出现了   phpmyadmin#1045 无法登录 MySQL 服务器,解决方法如下: 1 修改root的密码—不可以行 ...

  3. Mybatis的延迟加载和缓存

    1. MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟加载规则推迟对关联对象的select查询.延迟加载可以有效的减少数据库压力.       注意:MyBatis的延迟加 ...

  4. windows提交代码到git仓库

    进入git bash git config --global user.name '仓库名' git config --global user.email '2531099@163.com' git ...

  5. git上传本地项目到github,方法2

    第一步:去github上创建自己的Repository,创建页面如下图所示: 填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述 ...

  6. Set authorization for a whole area

    public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) ...

  7. pytorch做seq2seq注意力模型的翻译

    以下是对pytorch 1.0版本 的seq2seq+注意力模型做法语--英语翻译的理解(这个代码在pytorch0.4上也可以正常跑): # -*- coding: utf-8 -*- " ...

  8. Linux命令第三篇

    作业三: 以操作文件的方式,新建一个用户alex echo "alex:x:1200:1200::/home/alex/:/bin/bash" >> /etc/pass ...

  9. CSS_高级选择符

    2016-11-07 <css入门经典>第八章 1.属性选择器 选择器 描述 [attribute] 用于选取带有指定属性的元素. [attribute=value] 用于选取带有指定属性 ...

  10. Vue(十八)Element UI

    Elment UI 1. 简介 Element UI是饿了么团队提供的一套基于Vue2.0的组件库,可以快速搭建网站,提高开发效率 ElementUI PC端 MintUI 移动端 [官网](http ...