导读:在WWDC0上,Apple宣布了SwiftUI的新迭代版本,这是它为iOS、iPadOS、macOS和watchOS构建UI的声明性框架。其中最重要的亮点是SwiftUI新的图表功能、精致的导航、新的控件等等。
Swift是Apple开发的一种编程语言,用于构建在其体系内的应用程序。自年WWDC大会上发布以来,这款开源语言已经经历了一系列的重大更新或功能迭代。
时至今日,Apple仍然没有任何放松,不遗余力的扩展Swift。除了应用程序市场仍然火热外,其它公司,比如微软等也在寻求成为应用程序开发的权威。
在0年的WWDC上,Apple发布了新的开发人员工具——它为Swift提供了更多更广泛的功能列表。
在Swift语言主题演讲中,Apple主任工程师BenCohen这样做开篇总结:
“在过去的一年里,Swift在并发性方面的改进、功能升级,以使Swift代码更易于阅读和编写、为客户工作流提供工具以及在语言引擎等改进。”
Swift版本的新功能本次Swift更新最重要一点是支持并发性。Apple主任工程师Cohen如此说:
“现在已经可以将带有SwiftConcurrency的代码部署到过去三年发布的所有mac操作系统中”
很多Apple开发者也能明显看到,苹果的开发团队付出了很多努力来简化读写并行运行的代码。
“代码其中很大一部分是Swift的Actor模型,Actor允许开发使用线程安全、并发执行的代码来隔离数据。Swift可以防止用户意外地在并行线程之间共享该状态,从而消除原来主要发生的Bug来源。”
Cohen补充说,Swift新的更新在“分布式Actor”方面更进了一步:
“分布式参与者可以跨多个进程或设备通信,‘分布式’关键字标记可以远程访问的这些工作和方法,无论是Mac上的单独进程、其它不同设备间点对点,还是从设备与服务器上使用Swift编写的后端通信。”
Cohen在WWDC会上宣布Apple发布Swift的新的源代码包,其中概述:
“为Swift现有的序列算法集带来了并发性。在Swift序列协议支持Zip算法,从组合到序列化的不同形式,异步算法带来了一个用于将两个异步序列压缩在一起的方法版本。”
Actors透过async/await经典方法进行通信。
SwiftUI自定义布局SwiftUI是Apple用于在其平台上构建用户界面的框架,此次升级的接收布局选项比过去的要强大,但也会稍微复杂一些。
其中,一个新的Grid(表格)容器功能可以帮助开发者构建多维和动态的布局。开发者还可以创建自己的容器,这些容器的行为将%完全可自定义。
新的图表构建工具以SwiftCharts的形式出现在SwiftUI中。SwiftCharts的功能包括在图表上反映应用程序的风格,提供纵向和横向视图的开发能力,以下是创建条形图和折线图的方法:
Chart(datapoints){datapointBarMark(x:.value("X-Axis-Label",datapoint.valueX),y:.value("Y-Axis-Label",datapoint.valueY))}Chart(datapoints){datapointLineMark(x:.value("X-Axis-Label",datapoint.valueX),y:.value("Y-Axis-Label",datapoint.valueY)).foregroundStyle(by:.value("Category",task.category))}
此外,还有预览数据结果以及其它可视化工具,从而使用户和开发者更加容易理解数据。
而如今数据是每个人最关心的问题,因此SwiftUI提供的能力可以帮助开发者更好的解决问题。
Swift更新还包含一个升级的字符串处理能力。
它的能力主要用于帮助开发者描述希望在字符串中的查找模式,查看特定信息的正则表达式正在不断得到增强。
Apple负责XCode的工程经理KenOrr提到说,新的正则表达式已经直接内置于语言中,Swift编译器会直接检查代码中正则表达式的正确性。
更多关于SwiftUI的新功能,各位同学可移动至苹果开发者频道: