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

开始学习 iOS 开发,请问大家使用什么方案完成数据库的 CRUD 操作

  •  
  •   Breacher · 2023-05-16 07:21:05 +08:00 · 2961 次点击
    这是一个创建于 549 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学习的是 SwiftUI, 现在使用的是 CoreData, 感觉有点难用😅,于是去搜索了下有什么替代品,在 Reddit 上看到 GRDB 评价不错,有人用过吗?做 iOS 开发的各位,你们使用什么方案完成数据库的 CRUD 操作?

    第 1 条附言  ·  2023-05-16 11:29:00 +08:00
    上班摸鱼补充一下背景信息:我是工作了几年的后端开发,学 iOS 开发是为了开发能够给自己带来工作之外的收入的 App 。
    21 条回复    2023-05-16 16:22:02 +08:00
    cssk
        1
    cssk  
       2023-05-16 07:29:23 +08:00 via iPhone
    realm ,SQLite.swift
    iamqk
        2
    iamqk  
       2023-05-16 08:49:57 +08:00
    oc 用 FMDB
    middle2000
        3
    middle2000  
       2023-05-16 09:06:56 +08:00
    49 年入国军?
    Breacher
        4
    Breacher  
    OP
       2023-05-16 09:08:56 +08:00 via iPhone
    @middle2000 怎么说?我不应该学 iOS ,而是去学 Web3, AI 吗
    anonydmer
        5
    anonydmer  
       2023-05-16 09:13:59 +08:00
    多年前 OC 年代我用的 realm ,如今就不太清楚了。
    JasonEWNL
        6
    JasonEWNL  
       2023-05-16 09:15:30 +08:00   ❤️ 1
    GRDB 还是太多 try 了。(

    SwiftUI 上 Realm 还是很方便的(比如把 ObservedRealmObject 对象做到类似官方 ObservedObject ,代码相似而很多读写操作自动封装起来)。可看官方对比 https://realm.io/best-ios-database/ 或者直接跟着教程 https://www.kodeco.com/32960966-realm-with-swiftui-tutorial-getting-started 简单上手体验一下。要说不满意的,还是多态的支持不够完善。
    treizeor
        7
    treizeor  
       2023-05-16 09:19:06 +08:00
    网上都是在制造焦虑,实际上根本没那么严重,我初中,一年经验,广州面了 7 家,拿了 10 个 offer ,最高 250k ,最低 150k , 250k 是外包,还有个 180k 的自研可以考虑一下,不说了,明天还要两个面试,  寒冬年年有,年年都是计算机,结果计算机工资不是还是轻轻松松月入过 10w ,xdm ,有一说一,现在不学 iOS ,以后就没机会了,趁着现在的红利,狠狠的赚一笔😏
    viosonlee114
        8
    viosonlee114  
       2023-05-16 09:30:18 +08:00   ❤️ 2
    @treizeor 你这比制造焦虑还可怕😨
    AllenTsui
        9
    AllenTsui  
       2023-05-16 09:38:35 +08:00
    @middle2000 已经不是 49 年了,属实是建国后入国军了。
    Cloud9527
        10
    Cloud9527  
       2023-05-16 09:41:23 +08:00   ❤️ 1
    如果你还是学生,不建议学 IOS 了。IOS 是就业机会相对最差那一档。前端后端机会都要多很多。
    dj721xHiAvbL11n0
        11
    dj721xHiAvbL11n0  
       2023-05-16 10:01:07 +08:00
    坑位可能比较少,因为一般公司也搞不起一个 APP 的开发
    AscenZ
        12
    AscenZ  
       2023-05-16 10:33:19 +08:00   ❤️ 1
    6 年 iOS 路过。如果想要把 iOS 当作主职业,真不建议。如果是已经有其他技能,或者时间比较空闲就可以学。我现在都在搞 Flutter 了,近两年写的 Flutter ,uniapp ,vue 都比 iOS 多了。其实很喜欢 iOS 原生开发,真是唏嘘不已。
    gadore
        13
    gadore  
       2023-05-16 11:20:27 +08:00   ❤️ 1
    我看了很多业内 iOS 大佬这么多年摸爬滚打的经历,还是很触动的。初期,iOS 只能当作兴趣去坚持,等到孵化出来很多优秀的产品跟声量之后(这可能会持续两年、三年甚至更久),才能转换成自己的职业。又或者,你有自己的工作室,那是可以好好考虑短期变现的,例如:谜底时钟;又或者,你是非常优秀的开发者,git 日提交 10 次以上且坚持一年以上,我肯定你也可以成功的。我前年兴趣驱动开发了一个 App ,没有及时的和努力的去推广、去响应社区的话,你连开发者年费都很难赚回来。顺便一提,sqlite 呀~,跨平台,安卓和 iOS 都能用,使用也简单,文档也比较全,社区用的人也多。
    Breacher
        14
    Breacher  
    OP
       2023-05-16 12:36:49 +08:00 via iPhone
    @JasonEWNL Realm 评价不错,周末敲个 demo 体验体验
    gyt95
        15
    gyt95  
       2023-05-16 13:16:57 +08:00
    最美逆行者
    Breacher
        16
    Breacher  
    OP
       2023-05-16 13:17:17 +08:00 via iPhone
    已经身处后端开发大军,学 iOS 只是想开发😅
    Breacher
        17
    Breacher  
    OP
       2023-05-16 13:19:32 +08:00 via iPhone
    @AscenZ 这是副业,想开发出给自己带来的收入的产品🤨
    Breacher
        18
    Breacher  
    OP
       2023-05-16 13:21:18 +08:00 via iPhone
    @gyt95 不至于,不至于。这是副业,目标是开发出给自己带来工作之外的收入的产品🤨
    Breacher
        19
    Breacher  
    OP
       2023-05-16 13:44:23 +08:00   ❤️ 1
    @AscenZ 工作是后端开发。开始学移动端开发,也是面临选择跨平台和 Swift 的问题。后来基于以下考虑,就选了 Swift ,使用 SwiftUI 框架:
    - iOS 是个人开发者最有可能赚到钱的生态(苹果每年都说开发者的收入增长了很多),我希望给到未来的 App 用户原生的 UI 视觉和体验,个人看法是使用原生组件并照搬 iPhone 手机内置的 App 的设计,在没有设计师的参与的情况下,UI 也不至于很难看吧🤔️ Flutter 也有 Cupertino 的 widgets, 但我认为完备度应该没有原生的高,而且我碰到的 Flutter App 基本不是原生 UI ,所以没有选择 Flutter 。RN 我不太了解。
    - 我希望覆盖尽可能多的苹果平台,SwiftUI 貌似让这个变得更容易
    - 我要做的 App 只是工具 App ,但也是有竞争存在的。个人开发的产品,没有内容优势,没有底子跟用户说“爱用就用,不爱就滚”,使用原生也相对比较保险
    - 如果真的有幸需要扩展到 Android 平台和 Windows ,再学就是了 😂
    beimenjun
        20
    beimenjun  
       2023-05-16 14:13:11 +08:00
    GRDB 没啥问题。开发者维护的也勤快,除了名字一眼看不出和 SQLite 有啥关系外,没啥缺点。

    也算是久经考验的开源库了。

    另外乱抖机灵的 block 了。
    AscenZ
        21
    AscenZ  
       2023-05-16 16:22:02 +08:00
    @Breacher #19
    那这个选择没什么问题。没有一些原生基础做复杂一点 Flutter App 还是不太行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2810 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:27 · PVG 21:27 · LAX 05:27 · JFK 08:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.