Redian新闻
>
苹果宣布使用Swift全面重写Foundation框架

苹果宣布使用Swift全面重写Foundation框架

公众号新闻

作者 | Sergio De Simone
译者 | 明知山
策划 | 丁晓昀

Swift 团队已经开始 Foundation 框架的一个新的开源实现。新的实现完全采用 Swift 编写,旨在通过消除 Objective-C 和 Swift 之间的转换成本来提升性能,并对其进行模块化和清理。

因为采用了原生的 Swift 实现,Foundation 框架不再需要在 C 和 Swift 之间进行转换,从而获得更高的性能。

正如苹果工程师 Tony Parker 在 Swift 论坛上所解释的那样,性能方面带来的好处是非常显著的:

使用 Swift 重新实现的日历应用的速度是 C 的 1.5 到 18 倍(在创建、日期计算等各种测试基准中调用 Swift)。

Foundation 框架是大多数 macOS 和 iOS 应用程序的基石,提供了大量的抽象,包括 NSObject、NSString、NSArray 和 NSDictionary 等等。

Foundation 最初是用 Objective-C 编写的,很大程度上利用了它的动态特性,由于 Swift 与 Objective-C 运行时的互操作性,Foundation 目前可以用于运行苹果操作系统上的 Swift 应用程序。不过,对于其他支持 Swift 但只有原始 GNUstep Objective-C 运行时的平台(如 Linux)来说就不是这样了。为了规避这一限制,苹果在开源 Swift 时推出了 swift-corelibs-foundation,一个 Core Foundation 的 Swift 包装器,一个位于 Foundation 核心的底层 C API,并提供了映射到 Foundation 的“桥接”抽象,包括 CFString、CFDictionary 等。

如前所述,使用 Swift 重写将是一个重构 Foundation 框架的机会。目前,有五个不同的包进行了重新设计,包括 FoundationEssentials、FoundationInternationalization、FoundationNetworking、FoundationXML 和 FoundationObjCCompatibility。开发者可以只引入特定应用程序实际需要的依赖项。例如,一个从头开始开发应用程序并且想要切断与 Darwin Foundation 层所有联系的开发者,可以完全跳过 Obj-C 兼容层。

在做出重写 Foundation 决定的同时,苹果正在调整 C、Objective-C 和 Swift 层之间的顺序,并让 Swift 层成为 Foundation 的基础。这将有机会删除一些目前可以直接由 Swift 语言和标准库提供的特性,如 NSCoding 和 NSKeyedArchiver,取而代之的是 Codable,或者 Lock、OperationQueue,以及其他被 Swift 结构化并发取代的并发原语。不过,这些特性将由 Darwin 平台上的一个单独包提供,以确保与现有代码兼容。

这一声明在 Swift 论坛上引发了许多评论,其中大多数都暗示重新考虑现有的几个 API 的便利性,确保 Swift 类型(如 Codable)或结构化并发足够强大,以便在核心基础层完全取代 Obj-C 类型。

可以预见的是,Foundation 重写是一项中期的努力,目前还没有宣布具体的时间表,苹果正在邀请 Swift 社区加入讨论,一起定义它的未来。

原文链接:

https://www.infoq.com/news/2022/12/apple-swift-foundation-rewrite/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

覆盖数万研发人员,字节跳动首次公开效能度量核心技术!

通信行程卡正式下线,三大运营商将删除用户数据;网易放假1天让员工看世界杯决赛;字节跳动:持续“去肥增瘦”人员调整|Q资讯

Twitter快没家了?拖欠租金、变卖家产,马斯克为了省钱用尽奇招

远程协作、降本增效正成为过去,新的三年正在到来

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
使用Somalytics的睡眠面罩 以全新方式追踪睡眠华罗庚 并不如意的人生中西文明的交流与撞击高德曼促布碌仑大桥头翻新 社区人士:柏路未全面重开、影响有限中国全面重开,澳旅游业阴霾难散!入境新规恐成最大阻碍,华女:缺乏科学依据跨境游全面重启!新马签证环比增长100%,有游客已下单2024年海外酒店中国全面重开,每天6趟航班飞抵澳洲!专家:航班数量短期内难以恢复NVIDIA尝试使用SPARK语言取代C语言中国全面重开,大批华人来澳过年!春节庆祝活动规模或创历史之最解决 Linux 中的 “Bash: Command Not Found” 报错 | Linux 中国Methuselah Foundation:布局20年的长寿科技投资基金BB鸭 | 特斯拉最高降价3.7万元;​iPhone 15顶配或升级钛金属外壳;苹果宣布App Store将投放更多广告苹果宣布使用 Swift 全面重写 Foundation 框架爆了!瑞信正式官宣全面重组15家英国签证中心全面重新开放[电脑] 众里寻她千百度 Fractal Ridge: 3090 Ti Founder Edition 最佳归宿Out with the old, in with the new. JuniorCoach is here for you说走咱就走,风风火火闯美洲呀!中国全面重开,大批华人来澳过年!悉尼春节庆祝活动规模或创历史之最[评测]NVIDIA GeForce RTX 4080 Founders Edition 评测FastTrack Universität 2023莱比锡大学公立语言项目招生简章以后面试官问你 为啥不建议使用Select *,请你大声回答他!Ousted Luckin Founder Charts Comeback With New Coffee BusinessTwitter端到端加密将使用Signal开源协议使用Svelte来构建Web Component (超简单方便)其名“三立” :三次倒下,三次站立【AHA2022速递】FOURIER和FOURIER-OLE研究二次分析:低一点好一点——LDL-C水平越低,远期心血管结局越好Logitech Z506 Surround Sound Home Theater Speaker System苹果宣布这些服务涨价,还正式允许iOS程序发行NFT!Yuan Foundation 2022年度颁奖典礼小记太火爆!Taylor Swift 南加巡演 Eras Tour增加三场!11/18开票拼手速硅谷全面重启实习生+全职招聘! 从项目助理到数据, 开启留美新篇章!苹果宣布AppStore内购全新定价机制,韩国开发者不再强缴增值税苹果将对 Foundation 框架用 Swift 重写并开源,网友:iOS/macOS 应用程序用吗?【万圣节】暖场 《可念不可说》+故事和字谜
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。