今年六月,Apple 推出了 Swift System,这是一个底层系统接口库。现在 Swift System 已开源并增加了 Linux 支持。Apple 称,他们的目标是为所有受支持的 Swift 平台的底层系统接口提供常态化解决方案。
如多数常规操作一样,Swift 支持 C 接口,但是从 C 导入的一些弱类型系统接口可能容易出错且难以处理,无法充分利用 Swift 的类型安全特性。因此,Swift System 模块引入了多种语言功能,以提高表达能力并消除出现错误的机会。
Swift 团队工程师 Michael Ilseman 举了这样一个例子:Swift System 使用 FileDescriptor
命名空间中的默认参数将 open
系统调用定义为静态函数:
与 C 版本相比,Swift System 普遍使用原始的可表示结构和选项集,这些强类型有助于在编译时捕获错误,而且能够方便地在弱 C 类型之间来回转换。标准语言机制和信号中断重试行为也极大地简化了错误和信号处理。另外,与 UnsafePointer
相比,FilePath
使用起来更加安全。
Swift System 是一个多平台库,而非跨平台。它根据特定情况,为每个受支持的平台提供单独的 API 和行为。目前 Swift System 处于起步阶段,仅包括少量系统调用、currency 类型和一些方便的功能。为扩大 API 覆盖范围,Apple 表示正致力于在 Swift Package Manager 中采用 Swift System。同时,Swift 对 Windows 的支持也会进一步增强。
转载自 OSC开源社区
推荐阅读:
全宇宙首本 VS Code 中文书,来了!
Code Runner for VS Code 突破 1000 万下载量!支持运行超过 40 种语言
微软也爱 Python!VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了!
微软也爱 Java!微软在 SpringOne 大会上宣布 Azure Spring Cloud 云服务!
在微软(Microsoft)工作是怎样一番体验?
微软内推,长期有效
代码编辑器横评:为什么 VS Code 能拔得头筹
知否知否,VS Code 不止开源
那些年,我们一起追的 VS Code
VS Code · 编程开发 · 业界资讯