周日晚上好,欢迎来到《混沌周刊》第37期。《混沌周刊》是一个试图从开发者角度为你带来这个世界上发生着什么,发生过什么,以及未来可能会发生什么的栏目,随缘更新。您可以通过首页的RSS、Twitter、Telegram频道和电子邮件等方式订阅。如果您觉得本周刊对自己有所帮助,请不吝推荐给其他人,多谢。
👨🏻💻 WWDC@2022
北京时间2022年6月7日,苹果的全球开发者大会如期开幕。你也许已经看过了无数媒体不同风格的文案,不过还是让我们来快速了解这场大会里你知道或不知道的。
- 搭载M2芯片的新电脑最大内存支持24G,但依然只能外接一台显示器
- iMessage可以修改和撤回,但撤回对旧系统用户依然无效,这很苹果
- iOS 16的新锁屏界面,很难想象有人认为这不是来自于Apple Watch;iPadOS 16没有这个功能,从App资源库的经验看,应该会留在iPadOS 17上
- 有人说iOS 16的锁屏组件是为iPhone 14的息屏显示准备的。这个猜测很合理——还记得iOS 11对信号条和通知中心的改变吗?
- iPadOS和macOS终于拥有了「天气」App,这个逻辑和上一条其实是一样的:虽然iOS很早就有了这个App,但iOS 15的天气实际上是用SwiftUI重写的
- 除了有诸多限制的iCloud共享相册外,现在我们还有了iCloud共享图库功能。这个功能非常有想象力的一点:当你在家庭成员附近时,拍摄的照片可以自动进入共享图库
- 发布会视频中,Johny Srouji在实验室中讲M2芯片时,布景中没有出现任何Mac Pro;在以前的发布会中,实验室有一大批
- iOS 16可以禁止应用读取剪贴板了,但这不是一个权限设置,而是每次都需要拒绝的通知。也许这只是测试版的临时设计
- 在「部分iPhone型号」上,iOS 16可以支持横着解锁了
- iOS 16可以显示已保存的Wi-Fi网络的密码
- macOS的「台前调度」功能并不新,实际上2006年Mac OS X已经有类似功能,但最终未在正式版中出现;相似的还有初代Mac OS X发布时演示的单窗口模式,最后也没有进入到正式版。所以现在能用上通用控制……大概需要感恩
- macOS新的「设置」App用Toggle控件取代了传统的Checkbox,自己违背了自己的人机交互设计准则。这个全新设计的设置界面遭到了不少批评,也有人自己尝试了更好的设计
- 虽然我们也都知道iPad仅在M1机型(还要除开64G的iPad Air)上开放台前调度,有可耻的计划报废的意图,但iPad终究拥有了内存交换功能。从2015年iPad Pro发布算起,已经7年了
- 所谓的Passkey其实就是Webauthn规范,你可以在这里测试你的浏览器是否支持Webauthn登录。之所以说它比传统的密码机制安全,是因为用的是非对称加密,不发送密钥自然就不怕泄露
- 现在可以用DriverKit给iPad编写设备驱动了
- 除了之前的Xcode Cloud外,WeatherKit这个获取天气信息的API也是收费的,苹果的服务转型计划看来是全方位的
- SwiftUI引入了一个新的Charts库,可以在不同设备上显示各种形式的图表。在写App之外,SwiftUI除了画图标、做动画,还有了新用途
- Xcode默认不自带tvOS和watchOS SDK了,可以后续选择安装,安装包体积小了不少
- SwiftUI此前的NavigationView被标记为deprecated,在新系统里由新的导航组件取代,Stack和SplitView混乱的关系终于成为历史。所以Navigation API目前处于一种奇怪的状态:只有Beta和Deprecated,没有中间状态
- API文档网页全面更新了样式
- Swift有了新的正则表达式API. 比其他语言正则表达式更强的是,正则表达式常量会被Swift编译器解析,语法是否合法以及有多少个捕获组,编译器有能力静态检查。你甚至可以用SwiftUI风格的Function Builder写正则表达式
- iOS/iPadOS上终于有了正经的Table组件。此前有个笑话:iOS工程师的世界比普通人少一维,因为他们管ListView叫TableView1
每年WWDC往往也会有那么一两场和C++相关,今年也有一场Session讲解如何使用C++ 20中的Concept.
🌍 来自互联网
微软真的停止了对Internet Explorer的支持。曾经有网站记录它还有多久死,内容终于改为IE已死了多久了。
GitHub宣布,在2023年末前,所有在GitHub上贡献代码的人都必须启用两步验证。Ruby社区的软件包托管网站RubyGems.org也宣布,会强制要求下载量前100的Gem维护者启用两步验证,并且这个要求范围将会越来越大。我大概是第一个在RubyGems.org启用两步验证的账号,因为这个功能是我实现的。
除此之外,GitHub还宣布,Atom项目的开发将正式终止。
Telegram宣布新的订阅服务,每月4.99美元,包括去掉广告和更大的上传容量等,不过还没有防骚扰功能。
Mozilla发布了一个Firefox的本地翻译扩展。可惜的是目前还不支持中日韩文,主要是一些欧洲语言。考虑到这个项目是欧盟资助的,所以也合理。
MDN也推出了付费订阅项目MDN Plus,功能用处不大,性质更接近于付费支持。
ECMAScript也有静态类型标注的提案了。目前的设计还是让引擎将类型标注视为某种注释,类型信息并不会参与到实际的优化执行中。
Uber工程师讲述,为什么他们会使用Zig这项远未发布正式版的技术。实际上,他们完全没有使用Zig语言本身,而只是用到了Zig中很有用的一部分——C/C++交叉编译工具链。
Asahi Linux的开发者此前指出,macOS上fsync
函数的默认行为和Linux不一样,它并不会等到缓存真正写入磁盘再返回,这使得macOS在SSD速度上有作弊嫌疑。作为一种回应,这篇文章解释了这个函数的行为,以及为什么该文作者认为这个行为并不算作弊。
我一直在使用的写作软件iA Writer发布6.0版本,最大的更新之一在于加入了流行的「双向链接」。旧版本用户可以免费升级。
本期的《混沌周刊》就到这里。如果对本刊感兴趣或有任何建议,欢迎在评论区里留言,以及分享给更多的朋友,谢谢!
1 在UIKit API里,大众理解的ListView实际上叫UITableView。
发表回复