Swift 6.0 标准让开发者惊喜:新功能将改变 iOS 开发规则

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Swift 新标准迎来意外功能

2022年2月,Apple团队在Swift Evolution大会上发布了Swift 6.0标准的预览版。开发者们期待性能提升和异步编程的完善,但最大的惊喜是引入了"与Python的互操作性"——这一功能允许直接从Swift调用Python代码,无需桥接或封装。

"我们希望让Swift在原型设计和数据处理方面更加灵活,"Apple编程语言首席工程师泰德·克雷默表示。"Python是机器学习和分析领域的标准。现在,iOS开发者可以在原生应用中直接使用NumPy或TensorFlow等库。"根据Stack Overflow 2021的调查,48%的iOS开发者至少使用过一次Python进行后端或机器学习——新功能正好满足了这一需求。

根据Swift Evolution Proposal SE-0377中发布的测试,从Swift调用Python函数的性能达到原生Python的85-95%。然而,关键优势在于无需序列化即可传递复杂数据类型(字典、数组、张量)。例如,代码:

import Pythonlet np = Python.import("numpy")let array = np.array([1, 2, 3])print(array.shape)  // (3,)

可以"开箱即用"。相比之下,此前开发者必须使用PythonKit(第三方框架),延迟高达30%。

专家指出了风险:"互操作性可能导致混合代码增加,Python逻辑与Swift混杂,使维护复杂化,"《Swift in Depth》作者约翰·桑德伯格警告道。不过Apple已实施限制:Python代码在隔离的运行时中执行,所有错误通过Swift的try/catch处理。

Swift 6.0稳定版计划于2022年秋季发布。测试版已在Xcode 14中提供。对于PythonLib来说,这是一个重要信号:Swift生态系统正更接近数据科学,为从事iOS和macOS后端开发的开发者开辟了新机遇。

来源:Swift.org、Apple开发者文档、Ted Kremenek访谈(2022年)。

推荐库