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 的落地实践,这里的介绍会更专业、全面些(传送门),很值得学习参考。

9363 次点击
所在节点    程序员
32 条回复
dorentus
2020-07-27 23:50:38 +08:00
精通?
PDX
2020-07-27 23:53:33 +08:00
我自己试了几天就放弃了,bug 太多了。。。
viktor123
2020-07-28 00:23:16 +08:00
@dorentus 从入门到“放弃”😂
viktor123
2020-07-28 00:25:38 +08:00
@PDX 多 google,只能说不要怂就是干。。
aydd2004
2020-07-28 00:26:26 +08:00
我老了 只能 C# 拖拖控件满足自己了
qq316107934
2020-07-28 02:46:04 +08:00
惊了,SwiftUI 是 MVVM ?
reus
2020-07-28 08:14:13 +08:00
熟悉前端 mvvm 框架的都不难上手,概念是相通的
但确实是 bug 太多了
junbaor
2020-07-28 08:43:02 +08:00
iOS 14 打开滑动几下闪退
MakHoCheung
2020-07-28 09:07:57 +08:00
开发者账号贵
Leonard
2020-07-28 09:14:04 +08:00
@MakHoCheung 只开发不上架也不需要买开发者账号吧
dk7952638
2020-07-28 09:45:48 +08:00
英语不行,能给推荐个中文教程么
IsaacYoung
2020-07-28 09:56:26 +08:00
从入门到放弃
From313
2020-07-28 13:41:15 +08:00
@dk7952638 斯坦福大学的那个课程 YouTube 有字幕,虽然机翻的一般,但是多看几次还差不多。b 站也有人搬运。您可以搜下看看
jaylee4869
2020-07-28 14:50:20 +08:00
服务端也是自己写的吗,还是只是第三方接口?
DJQTDJ
2020-07-28 14:53:43 +08:00
我两天研究出来如何把 iphone 当 pos 机用,然后老婆被我盗刷 1500 人民币。(她以为是自己被盗了)
现在她还不知道咋丢的呢。
HeapOverflow
2020-07-28 14:55:18 +08:00
我选择 rxswift
devceo
2020-07-28 18:20:33 +08:00
正在学,写 UI 效率是真高
bigxianyu
2020-07-28 19:10:16 +08:00
android 也可以做到吗
viktor123
2020-07-28 19:28:43 +08:00
@qq316107934 ( OC/UIKit 技术栈也可以用 MVVM 设计模式...)之前有接触过一点点 OC,就我的认知来看,声明式的 UI 构建、事件处理、以及状态维护( Combine )带来的开发效率提升确实很大的。
viktor123
2020-07-28 19:29:48 +08:00
@jaylee4869 自己做的,不过这个应用里面涉及的服务端功能很少(主要是爬虫服务)。

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

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

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

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

© 2021 V2EX