开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

苹果发布 Swift 6,改进了并发性、测试和跨平台支持

  • 2024-10-16
    北京
  • 本文字数:1294 字

    阅读完需:约 4 分钟

大小:603.85K时长:03:26
苹果发布 Swift 6,改进了并发性、测试和跨平台支持

苹果发布了 Swift 编程语言的 6.0 版,与 macOS 15 和 iOS/iPadOS 18 的正式版本同时推出。新版 Swift 带来了一系列改进,包括更安全的并发性、新的标准测试库以及跨 Linux、Windows 和苹果平台的更广泛的跨平台支持。

 

Swift 是一种编译语言,性能接近 C 或 C++,但对开发人员来说更安全、更易用。它的安全特性包括变量必须在使用前初始化、溢出检查适用于数组和整数、内存管理是自动的、默认情况下对象永远不会为 nil(相当于 null)等。

 

在 Swift 6 中有一种新的可选模式,可通过编译器检查将数据争用错误检测为错误,从而让并发编程更加安全。当两个或多个线程访问同一内存位置时就会发生数据争用,其结果不可预测。发布公告中将这一安全特性描述为“旅程的开始”和“积极开发的领域”。该模式之所以是可选而非默认,主要考虑到误报(假正)的风险,这会阻止正常代码的编译,还有可能遗漏一些错误。

 

另一个关键的新特性是引入了一个名为 Swift Testing 的标准测试框架。这意味着开发人员只需将“import Testing”添加到他们的测试代码中即可,无需添加进一步的依赖项。

 

通过支持更多 C++ 类型和一众虚拟方法,Swift 6 的 C++ 互操作性也得到了改进。这很重要,因为它简化了开发人员将现有代码库迁移到 Swift,并使用 Swift 编写新代码的过程。

 

其他新特性包括了 128 位整数类型、指定函数抛出的异常类型的能力、对泛型代码中不可复制类型的支持,以及嵌入式 Swift(适用于微控制器等目标)的版本预览。

 

苹果和开源 Swift 社区都在努力扩大该语言支持的平台数量,现在它的支持范围包括了苹果自己的 Mac 和系列设备平台、Windows 10 及更高版本(x86 和 Arm)、Ubuntu、CentOS 7、Amazon Linux 2、Red Hat 9、Debian 和 Fedora。目前它还不支持取代 Amazon Linux 2 的 Amazon Linux 2023。

 

由于添加了针对 Linux 的静态 SDK,用 Swift 6 编写 Linux 上的服务端应用程序更容易了——例如,开发目标是 Linux 的时候可以在 macOS 或 Windows 上编译代码。使用静态编译还可以消除大多数兼容性问题,但代价是更高的内存使用率和更大的可执行文件。

 

跨平台的另一个关键特性是,提供核心功能的 Foundation 库现在是用 Swift 编写的,并且在所有平台上都是相同的——这个 2022 年 12 月开始的项目宣告完成。

 

Swift 能否摆脱其仅限苹果平台的形象?

跨平台支持问题涉及到一个更广泛的问题,即 Swift 是否会完全摆脱其在苹果平台的局限而成为主流。原则上,它具有 Rust 等语言的一些优势——包括原生编译和内存安全——但更容易学习和使用。

 

到目前为止的证据表明,Swift 的市场依旧是个小圈子。例如,GitHub 存储库的语言统计数据表明,Swift 的使用率实际上有所下降——从 2016 年的 1.75% 下降到 2024 年的 1.08%——尽管这绝不是一个全面的使用指标。

 

推动跨平台支持可能会提高采用率。挑战在于,苹果对 Swift 的投资将一直优先考虑自家平台而非跨平台支持——而且编程社区大多尚未相信该语言的跨平台潜力。

 

原文链接:https://devclass.com/2024/09/19/apple-releases-swift-6-with-improved-concurrency-testing-cross-platform-support-enough-to-lift-it-out-of-its-niche/

2024-10-16 15:174304

评论

发布
暂无评论
发现更多内容

可重入锁ReentrantLock在性能测试常见用法

FunTester

语雀故障与反思,随便再领半年会员!

王磊

【iOS逆向与安全】原生程序与WebView交互

小陈

逆向 iOS逆向 ios安全 逆向分析 逆向技术

After Effects 2024 for Mac(视频特效制作软件) v24.0.1.2完整激活版

mac

苹果mac Windows软件 视频特效软件 After Effects 2024 AE2024

今年双十一,00后在直播间当“捧哏”,月入8000

自象限

国产芯片破晓时,信创行业正扬帆

脑极体

芯片

Redis ReHash原理

宁静知行者

redis Redis 核心技术与实战

安全攻防实战丨如何预防利用中间人攻击进行小程序刷分

华为云开发者联盟

网络安全 安全 华为云 系统安全 华为云开发者联盟

用Python发一个优雅的朋友圈,1行代码搞定

程序员晚枫

Python 微信 图片 朋友圈

3种方法,用Java找出两个List中的重复元素

华为云开发者联盟

Java 开发 华为云 华为云开发者联盟

自主可控,WorkPlus助力企业业务与生态的连接

BeeWorks

显卡又又又涨价了!那就用青椒云吧!

青椒云云电脑

青椒云

文心一言 VS 讯飞星火 VS chatgpt (120)-- 算法导论10.3 5题

福大大架构师每日一题

福大大架构师每日一题

Linux的命令基本格式

芯动大师

Vuepress 三分钟搭建一个精美的文档或博客

凌览

Vue 博客 vuepress

WorkPlus专注私有化部署,为企业安全打造超级沟通协作APP

BeeWorks

业务出海、高效传输、动态加速,尽在云栖大会「CDN与边缘计算」专场

阿里云CloudImagine

云计算 云栖大会 边缘云

产品研发团队协作神器!10款提效工具大盘点!

彭宏豪95

产品经理 团队协作 开发工具 产品研发 在线白板

借助文心大模型4.0轻松搞定统计报表

阿Q说代码

文心大模型 文心4.0 统计报表

Mac系统设置维护工具TinkerTool System最新激活版

mac大玩家j

系统维护 Mac软件 系统维护软件

故障解析丨Clone节点导致主从故障

GreatSQL

Mac电脑专业思维导图软件 ConceptDraw MINDMAP最新激活版

胖墩儿不胖y

Mac软件 思维导图软件

鲨海狂潮,存力崛起

白洞计划

存储

2023平台工程崭露头角,AI 带来新机遇与挑战

SEAL安全

AI 平台工程 企业号10月PK榜

18万奖金!开放原子开源大赛OpenCloudOS赛题征集开启

开放原子开源基金会

开源 大赛

不被大厂“卡脖子”,选择WorkPlus拥抱生态伙伴时代

BeeWorks

英伟达4090显卡全面下架,有哪些替代方案?

青椒云云电脑

青椒云

五矿期货:悦数图数据库在金融期货行业的应用与实践探索

悦数图数据库

数据库 图数据库

苹果发布 Swift 6,改进了并发性、测试和跨平台支持_Android/iOS_Tim Anderson_InfoQ精选文章