内容简介: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 的视频
- What’s new in Swift
- What’s new in Swift Playgrounds
- Teaching with Swift Playgrounds
- What’s new in Foundation
- Understanding undefined behavior
提交和合并的请求
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。:clap:
正在 review 的提案
SE-0180 :字符串索引类型统一,Dave Abrahams, 正在 review
现在 String
跟它的 CharacterView
共用一个 Index
类型,但 UTF8View
, UTF16View
以及 UnicodeScalarView
就不是了。这个提案重新定义了这几个类型的 Index
类型,让它们跟 String
保持一致。并且暴露一个公开的 encodedOffset
属性和构造器,用于序列化和反序列化 String
和 Substring
的索引值。
[…]
这样的结果就是很多 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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- javascript周报 434 期
- 不简单的周会与周报
- 《Web动画周报》第一期
- Android 开发技术周报
- Flink weekly(周报) 2019/25
- Android 开发技术周报 Issue#273
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Numerical Methods and Methods of Approximation in Science and En
Karan Surana / CRC Press / 2018-10-31
ABOUT THIS BOOK Numerical Methods and Methods of Approximation in Science and Engineering prepares students and other readers for advanced studies involving applied numerical and computational anal......一起来看看 《Numerical Methods and Methods of Approximation in Science and En》 这本书的介绍吧!