slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Swift 开启新基础框架
17611538698
webmaster@21cto.com

Swift 开启新基础框架

iOS 0 1733 2023-01-16 05:37:04

图片

背景

Apple 的 Swift 语言,正在启动一个新的开源基础框架。(基础框架的英文全称为Foundation Framework)

从此以后,这代表着开发者将在所有iOS项目中使用的将是原生的 Swift,不再像现在是包装的 Objective-C。

基础框架是“应用程序和框架的基础功能层”。它涵盖基本类型、集合、日期和时间实用程序、文件 API、进程和线程管理、错误和异常等。

Swift的新基础框架

Apple 在其平台的 Objective-C 中实现了 Foundation,但是 Swift 在 2016 年开源时,需要为其它平台实现。

Apple 这样解释说:“Apple 平台上 Foundation 的很大一部分实现是由另一个名为 CoreFoundation 的框架提供的”,它用 C 语言编写的并且非常容易移植,因此在开源中交叉了平台版本。

Apple 负责 Swift 的高级软件工程经理托尼·帕克 (Tony Parker)介绍了这个新项目和它的运作方式:

“今天,我们宣布一个新的开源基金会项目,它是用纯 Swift 编写的,适用于 Swift 开发的移动端项目”。

新的基础框架将全面提高iOS 运行性能,因为 C 和 Swift 之间的“转换成本”将被彻底消除。

此外,Swift Foundation还将提供更精细的包、一个没有系统依赖性的新 Foundation Essentials 包、一个单独的 Foundation Internationalizion 包与一个新的 FoundationObjC Compatibility 包。

Parker 以Apple之名义,向开发者们宣布,新的Swift的基础框架现在已经公布在 GitHub 上。

GitHub地址:https://github.com/apple/swift


社区反响

Swift 社区对此消息持非常积极的态度。

一位Swift开发者说:“作为一个明确回避 Foundation(出于所有已知原因)的人,我发表一个简短的正面评论——这看起来是一种非常实用的方法。”

开发者还有一个常见型困惑,就是是新项目如何与 Apple 系统上的 Foundation 相关联,目前的状态是,好像模糊地存在一些分别。

Parker对此解释说:“Darwin Foundation(我们称其为‘Foundation framework’以区别于它)将是该包的超集,因为它将包括所有我们无法删除或重构的实现,作为这项工作的一部分(使用 Objective-C 或出于某种原因,我们决定将其从包中省略),”他还表示,“现有的 swift-corelibs-foundation 存储库将继续存在”,以便开发者应对兼容时之需。

在之后,开发者在为 Apple 系统编译时,可以选择使用 Swift 或 Darwin 两种版本。

“Darwin”是 macOS、iOS 和其它 Apple 操作系统的基础。例如,最新 macOS Ventura 上的 uname 命令返回“Darwin Kernel Version 22.2.0”。

Foundation 的本地 Swift 实现将非常有利于这门语言,但目前仍主要用于 Apple 的移动端系统开发。

Swift 在 Redmonk 编程语言排名中排在第 11 位,它目前已经超过的 Objective-C ,但目前暂没有其它上升之迹象。

图片

Redmook编程语言排行榜

Redmonk 排行榜的分析师 Stephen O'Grady 表示:“如果Apple 像 IBM 和其他公司强力推动,让Swift成为服务器端语言,那么它的上限几乎是无限的,”,但是可惜的是目前这种情况并没有发生。

一位开发者这样评价 Swift 语言:

“Swift 已经是一门非常强大的语言,尽管它与 Apple 的生态系统关系过于密切。若连同为 Swift 6(和 C++ 互操作)制定的所有权宣言,应该会让它更容易在任何地方使用。”

一些开发者也表示严重同意,Swift 语言在安全性和性能方面与 Rust 语言有很多共同之处,但比Rust更加易于使用。

人们有一种直觉,Swift 在业界仍有未实现的潜力,它除了用于编写 Apple 应用程序之外,能否再做一些开心和改变,这是一个悬而未决的问题。

作者:场长

评论