SwiftUI 两周内入门到精通?

2020-07-27 22:07:07 +08:00
 viktor123

作为一名后台开发( iOS 开发小白),「 SwiftUI 能两周内入门到精通?」显然是不能的(是的,我标题党了。。。

不过,我确实只用了大约两周时间,从 0 开始学习到开发了一款简单的 iOS 应用并上架了(传送门),xdm 可以体验下,欢迎交流。

学习路径

1 、先把苹果的官方教程过了一遍,在这一步,只是让我对 SwiftUI 有了一个基本的概念。

2 、把斯坦福的一门网课过了一遍(传送门),这一步系统学习了 SwiftUI & Combine 框架。

3 、在开发过程中大量的 Google 。。。(这里说一句,对于 iOS Newbie 来说,SwiftUI = 「 BugUI 」

使用 SwiftUI 开发的感受

SwiftUI 上手特别快,而且使用 VStack 、HStack 、ZStack 等来布局页面的时候,真的有种在搭乐高的感觉。。配合 Xcode 的 preview 功能,开发体验是特别顺滑的。

但是, UIKit (xxKit) 上的很多组件在 SwiftUI ( iOS13 )上都没实现,好在可以用 UIViewRepresentable / UIViewControllerRepresentable 包装 xxKit 上已有的组件。不过后面 SwiftUI 的组件肯定会越来越丰富的,前段时间 WWDC 2020 提到的 iOS14,就给 SwiftUI 带来了不少新特性,这里有个视频可以看看。值得一提的是,iOS14 的「主屏幕小组件」只能用 SwiftUI 开发,这算是官方的一些强推吧。。

一些组件会有一些功能的局限性,此时就需要 google 各种 workaround 。就像我前面说的一样,对于 iOS Newbie 来说,SwiftUI = 「 BugUI 」。

另外 SwiftUI 无法对 iOS13 以下的系统兼容,不过如果是个人项目的话,应该是可以接受的,毕竟 iOS13 的覆盖率已经超过 90% 了。


最后淘宝前端技术团队有一篇 SwiftUI 的落地实践,这里的介绍会更专业、全面些(传送门),很值得学习参考。

9097 次点击
所在节点    程序员
32 条回复
viktor123
2020-07-28 19:32:05 +08:00
@dk7952638 https://www.bilibili.com/video/BV1gf4y1m7fc?from=search&seid=7422291303563087128 这里有个博主在翻译,不过进度有点慢。。
viktor123
2020-07-28 19:35:33 +08:00
@bigxianyu SwiftUI 目前不支持兼容 android 端开发(以我的认知),不过有个 web 端项目: https://github.com/SwiftWebUI/SwiftWebUI,但是只是试验性质的,不建议投入到生产环境使用。
android 端的话,可以关注下 Flutter ( Google ),最近在在国内慢慢有些声音了。
viktor123
2020-07-28 20:09:12 +08:00
@junbaor xd iOS 14 还在 beta 阶段,可能会有些不稳定(我暂时先不考虑。。
不过我在 iOS 14 beta 2 上( iPhone8 )跑过,没有遇到崩溃的问题。。
daimubai
2020-07-28 20:28:21 +08:00
可以,最近也打算
rming
2020-07-28 20:32:38 +08:00
crayygy
2020-07-28 21:31:27 +08:00
其实 Android 也有用 Kotlin DSL 做的一个类似于 SwiftUI 的 lib,叫什么不太记得了,大概就是这样的 UI 布局方式。
个人不是很喜欢,看 Flutter 很吃力也是因为这个,换个角度想想,如果用 Swift UI 或者 Kotlin 来做的话,还不如直接用 Flutter,跨平台都省了
PlainTech
2020-07-28 23:05:48 +08:00
@crayygy Android 这边也在开发这种声明式 UI 框架,`Jetpack Compose` https://developer.android.com/jetpack/compose
anUglyDog
2020-07-28 23:33:07 +08:00
没有中文文档代表这很小众。。
acumen
2020-07-28 23:34:24 +08:00
最近也在尝试使用,写了一个 SwiftUI & CoreData 的 RSS 阅读器。等功能再完善一些也准备上架。

https://github.com/acumen1005/rss
viktor123
2020-07-29 12:45:56 +08:00
@acumen 👍
Bruce2077
2021-04-01 21:54:34 +08:00
精通是不可能的,毕竟 SwiftUI 自个儿都还没长大。。。
flyff1991
2021-04-10 11:28:43 +08:00
你这个两周是总共花多少有效小时学啊,总不能不用上班吧

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

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

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

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

© 2021 V2EX