作为一名后台开发( iOS 开发小白),「 SwiftUI 能两周内入门到精通?」显然是不能的(是的,我标题党了。。。
不过,我确实只用了大约两周时间,从 0 开始学习到开发了一款简单的 iOS 应用并上架了(传送门),xdm 可以体验下,欢迎交流。
1 、先把苹果的官方教程过了一遍,在这一步,只是让我对 SwiftUI 有了一个基本的概念。
2 、把斯坦福的一门网课过了一遍(传送门),这一步系统学习了 SwiftUI & Combine 框架。
3 、在开发过程中大量的 Google 。。。(这里说一句,对于 iOS Newbie 来说,SwiftUI = 「 BugUI 」
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 的落地实践,这里的介绍会更专业、全面些(传送门),很值得学习参考。
1
dorentus 2020-07-27 23:50:38 +08:00 via iPhone
精通?
|
2
PDX 2020-07-27 23:53:33 +08:00
我自己试了几天就放弃了,bug 太多了。。。
|
5
aydd2004 2020-07-28 00:26:26 +08:00
我老了 只能 C# 拖拖控件满足自己了
|
6
qq316107934 2020-07-28 02:46:04 +08:00
惊了,SwiftUI 是 MVVM ?
|
7
reus 2020-07-28 08:14:13 +08:00
熟悉前端 mvvm 框架的都不难上手,概念是相通的
但确实是 bug 太多了 |
8
junbaor 2020-07-28 08:43:02 +08:00
iOS 14 打开滑动几下闪退
|
9
MakHoCheung 2020-07-28 09:07:57 +08:00 via iPhone
开发者账号贵
|
10
Leonard 2020-07-28 09:14:04 +08:00
@MakHoCheung 只开发不上架也不需要买开发者账号吧
|
11
dk7952638 2020-07-28 09:45:48 +08:00
英语不行,能给推荐个中文教程么
|
12
IsaacYoung 2020-07-28 09:56:26 +08:00 via iPhone
从入门到放弃
|
13
From313 2020-07-28 13:41:15 +08:00 1
@dk7952638 斯坦福大学的那个课程 YouTube 有字幕,虽然机翻的一般,但是多看几次还差不多。b 站也有人搬运。您可以搜下看看
|
14
jaylee4869 2020-07-28 14:50:20 +08:00
服务端也是自己写的吗,还是只是第三方接口?
|
15
DJQTDJ 2020-07-28 14:53:43 +08:00
我两天研究出来如何把 iphone 当 pos 机用,然后老婆被我盗刷 1500 人民币。(她以为是自己被盗了)
现在她还不知道咋丢的呢。 |
16
HeapOverflow 2020-07-28 14:55:18 +08:00
我选择 rxswift
|
17
devceo 2020-07-28 18:20:33 +08:00
正在学,写 UI 效率是真高
|
18
bigxianyu 2020-07-28 19:10:16 +08:00 via Android
android 也可以做到吗
|
19
viktor123 OP @qq316107934 ( OC/UIKit 技术栈也可以用 MVVM 设计模式...)之前有接触过一点点 OC,就我的认知来看,声明式的 UI 构建、事件处理、以及状态维护( Combine )带来的开发效率提升确实很大的。
|
20
viktor123 OP @jaylee4869 自己做的,不过这个应用里面涉及的服务端功能很少(主要是爬虫服务)。
|
21
viktor123 OP |
22
viktor123 OP @bigxianyu SwiftUI 目前不支持兼容 android 端开发(以我的认知),不过有个 web 端项目: https://github.com/SwiftWebUI/SwiftWebUI,但是只是试验性质的,不建议投入到生产环境使用。
android 端的话,可以关注下 Flutter ( Google ),最近在在国内慢慢有些声音了。 |
23
viktor123 OP @junbaor xd iOS 14 还在 beta 阶段,可能会有些不稳定(我暂时先不考虑。。
不过我在 iOS 14 beta 2 上( iPhone8 )跑过,没有遇到崩溃的问题。。 |
24
daimubai 2020-07-28 20:28:21 +08:00 via iPhone
可以,最近也打算
|
25
rming 2020-07-28 20:32:38 +08:00 via iPhone
|
26
crayygy 2020-07-28 21:31:27 +08:00 via Android
其实 Android 也有用 Kotlin DSL 做的一个类似于 SwiftUI 的 lib,叫什么不太记得了,大概就是这样的 UI 布局方式。
个人不是很喜欢,看 Flutter 很吃力也是因为这个,换个角度想想,如果用 Swift UI 或者 Kotlin 来做的话,还不如直接用 Flutter,跨平台都省了 |
27
PlainTech 2020-07-28 23:05:48 +08:00
@crayygy Android 这边也在开发这种声明式 UI 框架,`Jetpack Compose` https://developer.android.com/jetpack/compose
|
28
anUglyDog 2020-07-28 23:33:07 +08:00
没有中文文档代表这很小众。。
|
29
acumen 2020-07-28 23:34:24 +08:00
|
31
Bruce2077 2021-04-01 21:54:34 +08:00
精通是不可能的,毕竟 SwiftUI 自个儿都还没长大。。。
|
32
flyff1991 2021-04-10 11:28:43 +08:00
你这个两周是总共花多少有效小时学啊,总不能不用上班吧
|