SwiftUI 学习曲线
Posted 知识小集
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI 学习曲线相关的知识,希望对你有一定的参考价值。
今年,ios 开发领域发生了巨大变化。我们有了一个新的 SwiftUI 框架。SwiftUI 是为 Apple 生态系统构建应用程序的全新的声明式方式。在这里让我们来构建一个 SwiftUI 学习曲线。我想与您分享学习 SwiftUI 所需的所有的文章列表。
基本
苹果今年整理了一份 SwiftUI 教程1,这是一项出色的工作。我建议从这些教程开始学习 SwiftUI 的基础知识。
属性包装器是用于支持 SwiftUI 框架的 Swift 语言新功能之一。要了解最重要的属性包装器,例如 @State,@Binding,@ObservedObject,@EnvironmentObject 和 @Environment,请阅读我的 Understanding Property Wrappers in SwiftUI2 一文。
我写的另一篇有关 SwiftUI 机制的文章是 You have to change mindset to use SwiftUI3 。它应该可以帮助您了解 SwiftUI 的工作原理。
[1]https://developer.apple.com/tutorials/swiftui/
[2]https://swiftwithmajid.com/2019/06/12/understanding-property-wrappers-in-swiftui/
[3]https://swiftwithmajid.com/2019/11/19/you-have-to-change-mindset-to-use-swiftui/
布局系统
SwiftUI 也有一个全新的布局系统,它比 AutoLayout 拥有更多的乐趣。新的布局系统非常强大且直接。我强烈建议您阅读这些文章,以了解新的布局系统及其好处。
• SwiftUI Layout System5
• Inspecting the View Tree – Part 1: PreferenceKey6
• Inspecting the View Tree – Part 2: AnchorPreferences7
• Inspecting the View Tree – Part 3: Nested Views8
[5]https://kean.github.io/post/swiftui-layout-system
[6]https://swiftui-lab.com/communicating-with-the-view-tree-part-1/
[7]https://swiftui-lab.com/communicating-with-the-view-tree-part-2/
[8]https://swiftui-lab.com/communicating-with-the-view-tree-part-3/
框架
SwiftUI 与 React 框架有很多相似之处,为 iOS 开发带来了许多新概念。我使用这些想法构建了一些应用程序,并且非常喜欢它的工作方式。以下是一些有用的文章列表。
• Introducing Container views in SwiftUI9
• Modeling app state using Store objects in SwiftUI10
• Redux-like state container in SwiftUI11
[9]https://swiftwithmajid.com/2019/07/31/introducing-container-views-in-swiftui/
[10]https://swiftwithmajid.com/2019/09/04/modeling-app-state-using-store-objects-in-swiftui/
[11]https://swiftwithmajid.com/2019/09/18/redux-like-state-container-in-swiftui/
SwiftUI 的声明式
SwiftUI 是一个声明式框架。这意味着您声明要实现的目标,然后框架会处理该问题并决定如何呈现您的视图。根据上下文,完全相同的视图可以具有另一种外观。我写了一些关于 SwiftUI 中声明式方法的文章。
• Building forms with SwiftUI11
• View composition in SwiftUI12
• Reusing SwiftUI views across Apple platforms13
• ViewModifiers in SwiftUI14
• Composable styling in SwiftUI16
[12]https://swiftwithmajid.com/2019/06/19/building-forms-with-swiftui/
[13]https://swiftwithmajid.com/2019/10/30/view-composition-in-swiftui/
[14]https://swiftwithmajid.com/2019/10/23/reusing-swiftui-views-across-apple-platforms/
[15]https://swiftwithmajid.com/2019/08/07/viewmodifiers-in-swiftui/
[16]https://swiftwithmajid.com/2019/08/28/composable-styling-in-swiftui/
动画和交互
SwiftUI 使用动画来为您处理所有状态更改。它使我们能够以一种非常直接且美观的方式来构建交互式视图。我在博客上多次讨论了这个主题。
• Animations in SwiftUI17
• Gestures in SwiftUI18
• Building Bottom sheet in SwiftUI19
• Building Pager view in SwiftUI20
[17]https://swiftwithmajid.com/2019/06/26/animations-in-swiftui/
[18]https://swiftwithmajid.com/2019/07/10/gestures-in-swiftui/
[19]https://swiftwithmajid.com/2019/12/11/building-bottom-sheet-in-swiftui/
[20]https://swiftwithmajid.com/2019/12/25/building-pager-view-in-swiftui/
我还想提提 Javier 关于 SwiftUI 中高级动画的出色系列文章。
• Advanced SwiftUI Animations – Part 1: Paths21
• Advanced SwiftUI Animations – Part 2: GeometryEffect22
• Advanced SwiftUI Animations – Part 3: AnimatableModifier23
[21]https://swiftui-lab.com/swiftui-animations-part1/
[22]https://swiftui-lab.com/swiftui-animations-part2/
[23]https://swiftui-lab.com/swiftui-animations-part3/
辅助功能
SwiftUI 采取了另一举措,使我们的应用程序默认可访问。它开箱即用,但是它也提供了一个非常好的 API 来自定义可访问性。要了解有关 SwiftUI 中可访问性的更多信息,建议阅读以下文章:
• Accessibility in SwiftUI24
• Dynamic Type in SwiftUI25
• Localization in SwiftUI26
[24]https://swiftwithmajid.com/2019/09/10/accessibility-in-swiftui/
[25]https://swiftwithmajid.com/2019/10/09/dynamic-type-in-swiftui/
[26]https://swiftwithmajid.com/2019/10/16/localization-in-swiftui/
绘制自定义视图
SwiftUI 提供了一个 Shape API,使我们能够快速构建自定义视图。我在其中一个应用程序中制作图表时了解了这一点。
• Building BarChart with Shape API in SwiftUI27
• Gradient in SwiftUI28
• GeometryReader to the Rescue29
[27]https://swiftwithmajid.com/2019/08/14/building-barchart-with-shape-api-in-swiftui/
[28]https://swiftwithmajid.com/2019/11/13/gradient-in-swiftui/
[29]https://swiftui-lab.com/geometryreader-to-the-rescue/
结论
2019 是非常重要的一年,我希望我们能在 WWDC 2020 期间获得具有许多新功能的 SwiftUI 2.0。在下一个 SwiftUI 版本发布之前,我们还有很多事情要学习。
•
•
•
•
•
以上是关于SwiftUI 学习曲线的主要内容,如果未能解决你的问题,请参考以下文章