V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
djyde
V2EX  ›  程序员

完全无法通过 Apple Developer Documentation 学会 iOS / macOS 开发,是我的问题吗?

  •  
  •   djyde ·
    djyde · 2020-03-03 13:50:43 +08:00 · 5458 次点击
    这是一个创建于 1717 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经数不清第几次被 Apple Framework (注意不是 Swift) 的学习门槛劝退。

    例如,我无法通过官方文档学习一个 Button 是怎么用的:

    https://developer.apple.com/documentation/swiftui/button

    点进去,想看看如何监听一个点击事件,好不容易看出了大概是 init(action: () -> Void, label: () -> Label) 这条,再点进去,只有一个 Declaration 写着用法:

    init(action: @escaping () -> Void, @ViewBuilder label: () -> Label)
    

    我有点受到惊吓,因为我不知道 @escaping 和 @ViewBuilder 是什么,我心想也许是我的 Swift 基础还不行,所以看不懂。于是我就 Google swift ui button, 搜出了很多 tutorial, 发现这些 tutorial 讲得清楚得多。

    类似的例子还数不胜数,我的学习过程基本是靠 StackOverflow 的。

    现在我的感觉是,我写 App 的过程中,是否能写出我要的功能,完全是靠我的 Google 能力以及运气。这让我非常泄气。写过 Android, 前端, 后端各种平台的我是没有经历过像学 Apple Framework 这样累的。我只能靠大量非官方的 Tutorial 以及零散的 Blog post 拼凑成我的 App.

    我觉得看 Apple Developer Documentation 来学 Apple 开发就像看 w3c.org 来学前端...

    在这里请教一下各位 Apple 开发者,你们是如何学会写一个 iOS (尤其是能搜到相关 tutorial 更少的 macOS) 应用的?

    28 条回复    2020-03-22 01:04:53 +08:00
    finab
        1
    finab  
       2020-03-03 14:07:50 +08:00
    可以分享下我当初的经验
    我有后台开发经验,我了解编程语言的各种基础知识、面向对象的概念、数据结构等
    但对客户端开发一无所知

    第一步
    学习了 Objc 语言的语法,方法如何定义、如何调用等一些基础语法

    第二步
    找了一份 iOS UI 常用控件的实例教程学习
    跟着教程学习了常用 UI 控件的用途、用法
    例如 UIView、UIButton、UILabel、UIImageView 等
    一个一个控件,自己都实际操作一下

    第三步
    了解 iOS 的 APP 的生命周期,页面结构
    从一个 APP 开始启动,怎么加载出第一个页面,页面的生命周期接口,
    例如 AppDelegate, UINavigationController、UIViewController 等


    到这一步总共花了三四天吧,我基本能照葫芦画瓢开始开发 APP 了。
    学会了怎么么用,不知道为什么,但也算是入门了
    之后就是熟悉后深入学习,弄明白为什么了

    还有一个非常重要的地方,就是一定要自己上手写代码,仅看教程是没用的,看的一头雾水,不如定个小目标
    先从 hello world 开始,再到写出一个按钮开始,接着写出一个页面
    LiuJQ
        2
    LiuJQ  
       2020-03-03 14:14:06 +08:00
    同意一楼的过程,@finab,应该先从 oc 语法开始学起,swift 倒是不着急
    另外,我也在搞 iOS 入门,楼上可以发一下 iOS UI 实例教程吗?
    murmur
        3
    murmur  
       2020-03-03 14:15:18 +08:00
    https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/

    教程是有的,全归档了,苹果的开发者网站垃圾是没跑了,只能靠搜才能搜出官方的 hello world 教程
    ivyliner
        4
    ivyliner  
       2020-03-03 14:15:53 +08:00
    It's not your fault, Apple Developer Document sucks!
    zfish
        5
    zfish  
       2020-03-03 14:16:36 +08:00 via iPhone
    当时我是后端 java 工程师,学 iOS 是在 coursera 上找了个 swift 课程,一开始也看了 iOS 一些基础的 oc 知识,最后直接花了一个月时间学习,一个月弄了一个 iOS swift app 直接上架了,这篇文章有介绍: https://www.bmpi.dev/dev/zero-to-one/ 个人感觉要想学好能独立做,至少要系统看一门课程,然后直接上手做遇到问题 Google 记录,这样一个月时间应该也就熟悉了
    finab
        6
    finab  
       2020-03-03 14:22:56 +08:00
    @LiuJQ 非常久远了,找不到那个教程了,而且也不是很好
    现在我建议直接学 Swift + UIKit ( Objc 开发与 Swift 开发都差不多,但 swift 语法很好,很多写法会很舒适)
    楼主学的 SwiftUI 入门不是个好选择

    UIKit 找官方文档,然后看下控件列表。
    先了解用途,然后根据文档实际操作一下我觉得也是个不错的方法
    SingeeKing
        7
    SingeeKing  
       2020-03-03 14:25:15 +08:00
    @Lebus 有一个课还是不错的,建议看看
    zhoucan007
        8
    zhoucan007  
       2020-03-03 14:27:25 +08:00
    你这用的是最新的 SwiftUI 框架啊,第一步:学习 Swift 语言、第二步:参考官方的 Swift 教程、第三步:上网看看视频
    djyde
        9
    djyde  
    OP
       2020-03-03 14:31:03 +08:00
    @zhoucan007 #8 我前两步已经完成了,所以我这个帖子表达的就是是不是我完成了前两步,官方文档就完成他的任务了
    ytll21
        10
    ytll21  
       2020-03-03 14:34:04 +08:00
    没毛病,Apple Developer Document 就是一坨 xx
    zhengjian
        11
    zhengjian  
       2020-03-03 15:43:13 +08:00
    这个文档好像是自动生成的?
    dorentus
        12
    dorentus  
       2020-03-03 16:11:55 +08:00
    Swift UI 不能通过文档来学,大概可以通过 https://developer.apple.com/tutorials/swiftui/tutorials 入门
    最好有 Swift 基础
    dorentus
        13
    dorentus  
       2020-03-03 16:14:02 +08:00
    另外 Swift UI 和 Foundation & UIKit 完全是不同的东西。
    djyde
        14
    djyde  
    OP
       2020-03-03 16:20:05 +08:00
    @dorentus #13 然而我几年前学 UIKit 的时候和学 SwiftUI 是一样的体验,除了 SwiftUI 多了一个 tutorial
    WildCat
        15
    WildCat  
       2020-03-03 16:36:05 +08:00 via iPhone
    文档不好,我这样全职 iOS 开发,学 SwiftUI 都需要买书看…
    zyxk
        16
    zyxk  
       2020-03-03 16:45:20 +08:00
    @WildCat #15 SwiftUI 有什么书吗?推荐一下。macOS
    FindByMe
        17
    FindByMe  
       2020-03-03 16:47:25 +08:00 via iPhone
    斯坦福的 CS193P 推荐你,还有 Raywenderlich 这个网站,上面有很多视频和书。Document 是你上手了以后想细致了解 API 才去看的,不适合新手当教程阅读,Hello World 这方面的东西还是看看别人写的吧
    Majirefy
        18
    Majirefy  
       2020-03-03 16:57:55 +08:00
    换一个角度,文档好不好,可以直接看这个公司发明的语言对文档功能的各种支持如何。
    譬如看看微软.net 平台的各种语言,其注释都可以满足各种格式需求,自动生成的文档非常棒。
    Swift 继承了 OC 的注释风格,可玩性不是特别强,OC 更偏向于让代码本身就约等于注释了……

    总之,苹果文档,垃圾!

    BTW,可以看看 SwiftUI 的官方那个教程,那个 Landmark 的……非常不适合新手……
    cmdOptionKana
        19
    cmdOptionKana  
       2020-03-03 17:23:52 +08:00
    听你这么说倒是激起了我的兴趣想学学看😅
    cxknmsl
        20
    cxknmsl  
       2020-03-03 17:26:51 +08:00
    我以前就想问,为啥就没有个系统的完好的文档,搞得每次只能自己到处找资料查缺补漏
    superpeaser
        21
    superpeaser  
       2020-03-03 17:38:22 +08:00
    面向 Google 编程
    hstdt
        22
    hstdt  
       2020-03-03 17:43:11 +08:00 via iPhone
    去看 wwdc 的代码和 demo,或者看其他各种教程,学校也不会让你跟着字典学中文的。
    ruby109
        23
    ruby109  
       2020-03-03 17:57:00 +08:00
    一般人们都是看斯坦福的 CS193P
    ruby109
        24
    ruby109  
       2020-03-03 17:57:18 +08:00
    @ruby109 *入门
    secondwtq
        25
    secondwtq  
       2020-03-03 18:32:04 +08:00   ❤️ 2
    楼主看这个文档不能学会不是问题,去搜 Tutorial 也是正确的做法

    一般开发文档分两大块,Tutorial/Guide (教程)和 Reference (参考),楼主发的这个 Apple 文档链接属于 Reference。
    参考是给你在熟练之后日常开发找用法的,就像一门外语的字典。
    教程是你学的时候带你入门的,就像一门外语的教科书。

    每一个领域都有一套约定俗成的术语和模式,就像一门外语的语法、标音方式之类的。你在看参考之前,需要先看教程熟悉这些术语和模式。上来就翻字典是学不会一门外语的。

    楼主对“Apple Developer Documentation”和 w3c.org 两者的类比有一定道理,但是只在“Apple Developer Documentation”只包含 Reference 的情况下成立。我知道 Apple 之前有各种各样的 Guide,一般篇幅都非常的长,也不知道是啰嗦还是详细(很多都是有关 OS X 的(用 OS X 而不用 macOS 是为了暗示时间))。Swift 之类的新东西还有没有就不知道了。
    xiaotianhu
        26
    xiaotianhu  
       2020-03-03 18:40:01 +08:00
    我也是看官方文档看的怀疑人生了
    原来不是我的问题 安心了

    想买本书,发现 swift 更新的太快了啊.书都挺老的了...只能面向谷歌编程了
    jin5354
        27
    jin5354  
       2020-03-03 23:40:54 +08:00
    这几天在看 OC,看文档也看得我怀疑人生了
    lizhuoli
        28
    lizhuoli  
       2020-03-22 01:04:53 +08:00 via iPhone
    有专门的 100 Days SwiftUI 教程,去看那个 https://www.hackingwithswift.com/100/swiftui YouTube 每集 5 分钟,很快的。
    你要知道 API Documentation 就是说 API 的,不是 How to Do 。类似于是词典,不是教你怎么写文章的,完全不是一个东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:22 · PVG 10:22 · LAX 18:22 · JFK 21:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.