对于在苹果生产的各种设备上实现用户界面来说,苹果在几年前推出SwiftUI是一个很大的进步。从一开始,我们就喜欢Combine提供的声明式的、以代码为中心的方法和反应式编程模型。但我们注意到,在苹果提供的XCUITest自动化框架下,仍需使用模型-视图-视图模型(MVVM)模式编写大量的视图测试,并不是非常合理。这个缺陷已经被ViewInspector所弥补。最后一个障碍是所需的最低操作系统版本。在发布时,只有最新版本的iOS和macOS可以运行用SwiftUI编写的应用程序,但由于苹果的定期更新,SwiftUI应用程序现在几乎可以在所有接受安全更新的macOS和iOS版本上运行。
苹果已在其新的 SwiftUI 框架上迈出了一大步,该框架用于在 macOS 和 iOS 平台上实现用户界面。我们很高兴 SwiftUI 跨越了 Interface Builder 和 XCode 之间略显混乱的关系,并采用了一致的、声明性的以及以代码为中心的方式。现在,你可以在 XCode 11 中并排查看代码和生成的可视化界面,从而获得更好的开发人员体验。 SwiftUI 框架还从近年来主导Web开发的 React.js 世界汲取了灵感,它利用视图模型的不可变值和异步更新机制,构成了统一的反应式编程模型。这为开发人员提供了一个完全原生的替代品,以替代类似 React Native 或 Flutter 这样的反应式框架。 SwiftUI 无疑代表了 Apple UI 开发的未来,尽管很新,但它已经显示出优势。它和它平缓的学习曲线给予我们非常棒的体验。值得注意的是,鉴于它不支持iOS 12以及更低版本,因此在使用SwiftUI之前,你应该首先了解客户的使用场景。
苹果在其新的SwiftUI框架上迈出了一大步,该框架用于在macOS和iOS平台上实现用户界面。我们很高兴SwiftUI跨越了Interface Builder和XCode之间略显混乱的关系,并采用了一致的、声明性的和以代码为中心的方式。现在,你可以在XCode 11中并排查看代码和生成的可视化界面,从而获得更好的开发人员体验。SwiftUI框架还从近年来主导Web开发的React.js的世界中汲取了灵感,它利用视图模型中的不可变值和异步更新机制,构成了统一的反应式编程模型。这为开发人员提供了一个完全原生的替代品,以替代类似React Native或Flutter之类的反应式框架。尽管SwiftUI确实代表了Apple UI开发的未来,但它是一个相当新的事物,还需要花费一些时间来打磨。我们期待改进的文档,和一个可以为测试与其他工程化问题建立一套实践的开发者社区。