V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
viktor123
V2EX  ›  程序员

SwiftUI 两周内入门到精通?

  •  
  •   viktor123 · Jul 27, 2020 · 10163 views
    This topic created in 2099 days ago, the information mentioned may be changed or developed.

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

    32 replies    2021-04-10 11:28:43 +08:00
    dorentus
        1
    dorentus  
       Jul 27, 2020 via iPhone
    精通?
    PDX
        2
    PDX  
       Jul 27, 2020
    我自己试了几天就放弃了,bug 太多了。。。
    viktor123
        3
    viktor123  
    OP
       Jul 28, 2020 via iPhone   ❤️ 1
    @dorentus 从入门到“放弃”😂
    viktor123
        4
    viktor123  
    OP
       Jul 28, 2020 via iPhone
    @PDX 多 google,只能说不要怂就是干。。
    aydd2004
        5
    aydd2004  
       Jul 28, 2020
    我老了 只能 C# 拖拖控件满足自己了
    qq316107934
        6
    qq316107934  
       Jul 28, 2020
    惊了,SwiftUI 是 MVVM ?
    reus
        7
    reus  
       Jul 28, 2020
    熟悉前端 mvvm 框架的都不难上手,概念是相通的
    但确实是 bug 太多了
    junbaor
        8
    junbaor  
       Jul 28, 2020
    iOS 14 打开滑动几下闪退
    MakHoCheung
        9
    MakHoCheung  
       Jul 28, 2020 via iPhone
    开发者账号贵
    Leonard
        10
    Leonard  
       Jul 28, 2020
    @MakHoCheung 只开发不上架也不需要买开发者账号吧
    dk7952638
        11
    dk7952638  
       Jul 28, 2020
    英语不行,能给推荐个中文教程么
    IsaacYoung
        12
    IsaacYoung  
       Jul 28, 2020 via iPhone
    从入门到放弃
    From313
        13
    From313  
       Jul 28, 2020   ❤️ 1
    @dk7952638 斯坦福大学的那个课程 YouTube 有字幕,虽然机翻的一般,但是多看几次还差不多。b 站也有人搬运。您可以搜下看看
    lavvrence
        14
    lavvrence  
       Jul 28, 2020
    服务端也是自己写的吗,还是只是第三方接口?
    DJQTDJ
        15
    DJQTDJ  
       Jul 28, 2020
    我两天研究出来如何把 iphone 当 pos 机用,然后老婆被我盗刷 1500 人民币。(她以为是自己被盗了)
    现在她还不知道咋丢的呢。
    HeapOverflow
        16
    HeapOverflow  
       Jul 28, 2020
    我选择 rxswift
    devceo
        17
    devceo  
       Jul 28, 2020
    正在学,写 UI 效率是真高
    bigxianyu
        18
    bigxianyu  
       Jul 28, 2020 via Android
    android 也可以做到吗
    viktor123
        19
    viktor123  
    OP
       Jul 28, 2020   ❤️ 1
    @qq316107934 ( OC/UIKit 技术栈也可以用 MVVM 设计模式...)之前有接触过一点点 OC,就我的认知来看,声明式的 UI 构建、事件处理、以及状态维护( Combine )带来的开发效率提升确实很大的。
    viktor123
        20
    viktor123  
    OP
       Jul 28, 2020
    @jaylee4869 自己做的,不过这个应用里面涉及的服务端功能很少(主要是爬虫服务)。
    viktor123
        21
    viktor123  
    OP
       Jul 28, 2020   ❤️ 1
    @dk7952638 https://www.bilibili.com/video/BV1gf4y1m7fc?from=search&seid=7422291303563087128 这里有个博主在翻译,不过进度有点慢。。
    viktor123
        22
    viktor123  
    OP
       Jul 28, 2020
    @bigxianyu SwiftUI 目前不支持兼容 android 端开发(以我的认知),不过有个 web 端项目: https://github.com/SwiftWebUI/SwiftWebUI,但是只是试验性质的,不建议投入到生产环境使用。
    android 端的话,可以关注下 Flutter ( Google ),最近在在国内慢慢有些声音了。
    viktor123
        23
    viktor123  
    OP
       Jul 28, 2020
    @junbaor xd iOS 14 还在 beta 阶段,可能会有些不稳定(我暂时先不考虑。。
    不过我在 iOS 14 beta 2 上( iPhone8 )跑过,没有遇到崩溃的问题。。
    daimubai
        24
    daimubai  
       Jul 28, 2020 via iPhone
    可以,最近也打算
    rming
        25
    rming  
       Jul 28, 2020 via iPhone
    crayygy
        26
    crayygy  
       Jul 28, 2020 via Android
    其实 Android 也有用 Kotlin DSL 做的一个类似于 SwiftUI 的 lib,叫什么不太记得了,大概就是这样的 UI 布局方式。
    个人不是很喜欢,看 Flutter 很吃力也是因为这个,换个角度想想,如果用 Swift UI 或者 Kotlin 来做的话,还不如直接用 Flutter,跨平台都省了
    PlainTech
        27
    PlainTech  
       Jul 28, 2020
    @crayygy Android 这边也在开发这种声明式 UI 框架,`Jetpack Compose` https://developer.android.com/jetpack/compose
    anUglyDog
        28
    anUglyDog  
       Jul 28, 2020
    没有中文文档代表这很小众。。
    acumen
        29
    acumen  
       Jul 28, 2020
    最近也在尝试使用,写了一个 SwiftUI & CoreData 的 RSS 阅读器。等功能再完善一些也准备上架。

    https://github.com/acumen1005/rss
    viktor123
        30
    viktor123  
    OP
       Jul 29, 2020
    @acumen 👍
    Bruce2077
        31
    Bruce2077  
       Apr 1, 2021
    精通是不可能的,毕竟 SwiftUI 自个儿都还没长大。。。
    flyff1991
        32
    flyff1991  
       Apr 10, 2021
    你这个两周是总共花多少有效小时学啊,总不能不用上班吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   874 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 163ms · UTC 22:02 · PVG 06:02 · LAX 15:02 · JFK 18:02
    ♥ Do have faith in what you're doing.