请教下各位 swiftUI 的学习路线

2022-06-20 16:42:23 +08:00
 storyxc

花了几天把 swift 基础语法看完了(真的好费劲,特性和语法糖太多了),现在准备开始学习 swiftUI ,想问下怎么学习更加高效?直接敲大量 sample 项目还是先学习 swiftUI 的基础知识?目前已经把官网的 tutorial 快速过了一遍,感觉想直接上手项目还是挺困难的,很多控件还有控件修饰符都还记不清,更别说完全理解怎么用了,还有 @State @ObservedObject @EnvironmentObject @Environment 这些装饰器等等也都还是一知半解。。。 ps:并非想一口吃成胖子,就是想选个更平滑的学习路线,如果是要敲项目,有没有推荐的项目可以跟着学习?

2670 次点击
所在节点    Swift
10 条回复
CrossEntropy
2022-06-20 16:48:54 +08:00
直接跟斯坦福 CS193P Swift 开发教程吧
Lin0936
2022-06-20 16:53:15 +08:00
buried
2022-06-20 16:59:25 +08:00
蹲...
Leonard
2022-06-20 16:59:40 +08:00
cs193p
buried
2022-06-20 17:00:27 +08:00
@buried #3 我也在学习,cs193p 讲的挺好的,目前刚学完前 6 节课
Livid
2022-06-20 17:00:51 +08:00
我们目前就在做两个基于 SwiftUI 的开源项目:

https://cl.v2ex.pro/
https://planetable.xyz/
storyxc
2022-06-20 18:04:20 +08:00
@CrossEntropy #1
@Lin0936 #2
@Leonard #4
多谢

@Livid #6 感谢,刚 fork 了 planet ,学习一下
agagega
2022-06-21 01:01:40 +08:00
首先,Swift 的语法糖虽然多,也不一定要都看过了才能上手 SwiftUI 吧。和 SwiftUI 主要相关的语法糖就是 Function Builder 和属性装饰器:前者很像 React ,看起来是声明式结构,实际上是若干 buildXXX 的函数调用;后者是一个语法糖,让你写各种 State<XXX>的时候能方便一点。

然后关于几个属性装饰器的区别,看 /t/857084 应该能清楚些。

其实如果你有前端 MVVM 框架的经验的话,到这个阶段已经可以自己写小 App 了,遇到什么问题多用英文搜搜 StackOverflow. 虽然国内 SwiftUI 热度不高,但国外经过这几年,资料已经比较丰富了。有一点理解之后,看看去年 WWDC 的 Demystify SwiftUI 这个 session ( https://developer.apple.com/videos/play/wwdc2021/10022/).

SwiftUI 实现数据绑定的核心是 Combine 这个库,它的理念比较值得学习。再然后就是一些架构方面的东西(比如 TCA ?)其实和前端框架的学习路线挺像,但因为 Swift 语言本身要素很多,且原生平台 API 更丰富,所以能玩出更多花样

今年 WWDC 苹果有个 Sample App ,源码在这里: https://github.com/apple/sample-food-truck
storyxc
2022-06-21 10:12:57 +08:00
@agagega #8 非常感谢!
qfdk
2022-09-25 22:56:30 +08:00
今天为了促进学习 续费了开发者账号

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX