Swift 周报 #73

作者:Jesse Squires,原文链接,原文日期:2017-06-09
译者:四娘;校对:walkingway;定稿:CMB

这周的事情很多!今天是 WWDC 2017 的最后一天,Swift 4 随着 Xcode 9,一起放出了开发者公测版。Xcode 和 Swift 都有好几个重大的改进和新的功能 — 这个版本真的很棒。整个社区反响。恭喜 Apple 的 Xcode, Swift 和开发工具组!

想要赞助 Swift Weekly Brief 吗?点击此处了解更多

Swift 解包

第 14 集:Swift 更新内容,Part 1

我们讨论了 Swift 4 里的一些新功能和改进。

资讯及社区

Apple 宣布 Swift Playgrounds 已经支持对玩具机器人和无人机的编程了。他们正与多家公司合作,包括 Lego, Sphero 等一众公司。 这件事情很棒很好玩,你可以在这里查看相关视频

Erica Sadun 的新书 Swift Style 这周正式开始销售。

objc.io 已经放出了他们的新书,Optimizing Collections。作者 Károly Lőrentey 在这本书里介绍了如何使用 Swift 编写高效的自定义集合类型。

Xcode 9 beta 以及新的 SDK 全都放出来啦!

WWDC 里关于 Swift 的视频

提交和合并的请求

Rober Widmann 合并了修改,使用了 Xcode 新的未定义行为检测器,来修复了一些未定义的行为。

Roman Levenstein 做了一些小调整,让标准库的代码体积减少了 1.5% !!!

Swift 服务端 API 工作组发布了一个新的 repo,主要是关于跨平台 HTTP API 的开发。

Ben Cohen 向 swift-4.0 分支发起了一个合并的请求,用于提高 substring 比较的性能。Nate Cook 也发起了一个提高字典效率的合并请求,现在已经有好几个 Swift 4 的合并请求 了,希望那些已经请求完成的合并请求可以尽快通过。我们应该可以在接下来的 beta 版里看到这些改进。

Slava Pestov 修复了几个 Bug。👏

正在 review 的提案

SE-0180:字符串索引类型统一,Dave Abrahams,正在 review

现在 String 跟它的 CharacterView 共用一个 Index 类型,但 UTF8ViewUTF16View 以及 UnicodeScalarView 就不是了。这个提案重新定义了这几个类型的 Index 类型,让它们跟 String 保持一致。并且暴露一个公开的 encodedOffset 属性和构造器,用于序列化和反序列化 StringSubstring 的索引值。

[…]

这样的结果就是很多 API 都无法从原本的设计中获益,通常来说,一个 view 的索引如果可以在另一个 view 有对应的索引值的话,这些索引值的转换都应该在内部完成,而不是像现在这样需要写很多不必要的代码。

[…]

所有 String 的 view 都会使用同一种 Index 类型 (String.Index),这样索引值就可以在内部进行转换,而不用显式地去完成。

查看原文…

邮件列表

Ted Kremenek 发布了一个公告,关于即将开源的重构工具,以及其它在 WWDC 公布的事情:

今天下午在 WWDC 上,我们发布了 Xcode 9 里新的重构功能(支持 Swift,C,Objective-C 和 C++)。我们同时宣布将会把这个引擎的核心代码开源出来,包括 Xcode 编译时才会索引的新功能。

大概会在接下来的几个星期里, 我们将会分阶段把这些代码发布出来:

  • 关于 Swift 的重构功能,我们还需要做一些收尾工作,例如文档的编写,我们想在发布之前完成。 Argyrios Kyrtzidis 和他的团队负责处理这个计划。

  • 关于 C/C++/Objective-C 的重构功能,我们想和 LLVM 社区一起完成然后并入 LLVM。第一阶段应该会在 swift-clang 的 repo 里完成,但是他们想做的不只是这些。Duncan Exon Smith 和他的团队负责这个计划。

  • 我们也会开源编译器对于编译时索引的支持,包括了 Clang 和 Swift。Argyrios 和他的团队负责推进这件事。关于 Clang 的改变他们应该会在也会在 swift-clang 上完成,然后跟 LLVM 社区讨论如何将他们并入 Clang 里。

  • 最后,我们将会把 Swift 迁移工具剩余的部分开源出来。Argyrios 和他的团队负责推进这件事情,这些修改只会在 Swift 仓库里完成。

和之前一样,我们还需要完成 Swift 与 Apple 最新的 SDK 的桥接工作。希望可以在下周之前完成,之后我们就会暂时关闭仓库的 commit 权限。相关的细节之后会通过邮件公布。在此之前, Swift.org 的可下载的工具链都可以跟 Xcode 8.3.2 交互。在这之后, 我们可下载的工具链就主要会面向 Xcode 9 beta。这件事情很必要,因为之后最上层的 API 会依赖于最新的 SDK。

Rick Ballard 发了一个关于 Swift 4 包管理器的公告:

Hello, Swift Pacakage Manager 的社区。

我想要汇报一下 Swift 4 里 SwiftPM 的开发进度。我们已经在这个春季实现了一系列的 evolution 提案:

除了这些提案,我们还实现了一些重大的改进:

  • 在 macOS 上,包的交互和包的编译现在都沙盒化了,能够减轻恶意软件带来的损耗。

  • 许多错误信息和诊断都加强了,包括依赖管理时出现的冲突。

  • Xcode 工程文件生成器也改进了,现在允许在重新生成工程文件时让 scheme 引用包里的 target。

  • 并且做了大量的小改进和 bug 修复。

Xcode 9 在新的编译系统里为 Swift 包管理提供了原生的支持。这个编译系统提供了灵活性和拓展性,让 Xcode 可以支持新的编译模型,例如 Swift 包管理。此外, SwiftPM 为 SwiftPM 的库做了大量的工作,让 Swift 包管理的工具可以轻松嵌入诸如 Xcode 的软件里。

那 SwiftPM 4 还有什么?首先,我们将会实现 SE-0179,支持 swift package run 命令。另外,我们还希望开始放下现在的版本,然后开始计划后面,虽然我们还是在接收建议和 evolution 的提案

[…]

其它功能我们应该会考虑在下个版本进行支持,例如包资源(例如图片),许可证和元数据支持,用于处理源代码控制分支的显式支持,以及一个泛用的机制去处理编译工具不支持包管理的情况。最后, 我们确实考虑了之后建立一个中心化的包索引机制,我们也许会在接下来一年为这件事情做一些基础工作。

查看原文…

最后

最后 -- self storage

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,982评论 4 60
  • 1 缩量: (1)市场看淡后市,只有人卖,没有人买; (2)市场看好后市,只有人买,没有人卖;(无量上涨:庄家控盘...
    ad9b209771ef阅读 295评论 0 0
  • 11月20日,阴天,心情紧张 今天是致青春团队21天特种兵训练的第一天,从早上签到开始便十分紧张,跟着布置了很多作...
    春燕_3fcc阅读 135评论 0 0
  • 你的点赞是我分享的动力。
    不阿绝唱阅读 377评论 0 0
  • 我曾在家教吧许下十年之约。 前几日翻贴吧看到的。 这造成了我现在重看家教的契机。 家教吧有人发,我们绝不是时代的眼...
    樱泽莉雅阅读 142评论 0 0