苹果开源Swift系统并发布Swift 5.3





Apple已打开Swift系统库的源代码。它为系统调用和底层数据类型提供了一套惯用的编程接口。 Swift System最初仅在Apple平台上支持系统调用,但现在也已移植到Linux。雨燕的系统是用斯威夫特和公司分布在Apache 2.0授权。



Swift System之所以方便,是因为它提供了对所有系统接口的单点访问。此功能可在所有受支持的平台上使用,而无需在Swift程序中进行特定的C绑定。从积极的方面来看,Swift系统不会统一系统调用,但会为每个受支持的平台提供一个单独的API子集,同时考虑到其行为并准确反映低级OS接口。



该公司先前表示,Swift System的主要目标是使开发跨平台的库和应用程序(包括SwiftNIO和SwiftPM)更加容易。 Swift系统在引用低级基元时并没有消除对基于“ #if os()”的分支的需求,但是它简化了这项工作并使之更加安全。



另一个新闻是Swift 5.3发布。正式版本已为Linux(Ubuntu 16.04 / 18.04 / 20.04,CentOS 7/8),macOS(Xcode 12)和Windows 10等操作系统做好了准备。源代码根据Apache 2.0许可分发。



新版本增加了对Windows平台的初始支持,并提供了用于在Windows 10上构建和运行Swift应用程序的工具。开发人员继续改进该语言的功能。在其他新颖性中,值得注意的是String类型的初始化程序的出现,“ where”表达式的使用扩展,didSet语义的更改,支持在Catch表达式中指定多个模板,添加了Float16类型以及原子内存操作。



重要的一点是减小最终应用程序的大小。因此,如果在Swift 4中,已经完成的程序的大小比Objective-C中的模拟大小大2.3倍,那么现在这个差距已经缩小到1.5倍。新版本还利用从其他库导入的大量属性和功能来加速增量构建和代码构建。扩展了编译器中的诊断属性和显示的错误消息的质量。程序包管理器还实现了在运行时将额外资源包括在程序包中的功能。例如,图像。程序包管理器现在支持具有定义条件依赖关系的本地化组件。



Swift是一种现代语言,具有许多现代编程技术,包括闭包,泛型编程,lambda表达式,元组和字典类型,快速收集操作以及功能性编程元素。



Swift的实现涉及免费LLVM项目中技术的使用。为了确保高性能,Swift应用程序被编译为在Apple测试中运行的机器代码,比Objective-C代码快30%。例如,Swift使用对象引用计数代替垃圾收集器。



该软件包包括Swift软件包管理器,它提供了用于以Swift语言分发带有库和应用程序的模块和软件包,管理依赖关系,自动下载,构建和链接组件的工具。






All Articles