V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
jackyin
V2EX  ›  分享创造

据说人手一个背单词 app,我也用 SwiftUI 做了一个背单词 app - 今日背单词 | 永久会员奉上

  •  
  •   jackyin · 2022-06-30 16:27:55 +08:00 · 17373 次点击
    这是一个创建于 871 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今日背单词

    今日背单词

    https://apps.apple.com/cn/app/%E4%BB%8A%E6%97%A5%E8%83%8C%E5%8D%95%E8%AF%8D/id1619751017

    为什么做这个背单词 app 呢

    被优化以后,边找工作边讨薪,顺便就学习了下 SwiftUI ,所谓在实践中学习嘛,立马做个 app 练练手,app 都做好了,工作也没找上,工资也还没要回来,谁能比我惨啊!

    由于自己一直在背单词,索性做个背单词 app 吧,所以这个 app 主要是以自己喜欢的方式做的,没有根据主流背单词 app 的形式来做。

    App 无任何形式的广告、引流或推送(除自己主动设置的背单词提醒,默认不开启),也没有任何提醒的小红点(我非常讨厌小红点),且除了 logo ,一张图片没用到(除打卡海报生成的图片),没有花里胡哨,就是安安静静的背个单词。

    首先,说下用到的技术吧

    SwiftUI ,这个是真的好用,用起来和 Vue 差不多,直接拉低了做 app 的门槛。缺点也很明显,差不多到 SwiftUI3.0 才好用点,也就是要从 ios14 或 15 开始,再以前系统就不能兼容了。

    Gin ,用来写接口,真的是比 php 好用,本人主业是做 php 的,业余喜欢用 Golang 。

    Realm ,这是个前端数据库,我觉得很好用,至少比 CoreData 好用,是 MongoDB 这家公司做的,比较靠谱。功能很强大,本身实现了本地库的多终端自动同步,相当于实现了苹果的 CoreData+CloudKit 的自动同步,但人家 Realm 还支持 Android 等其它平台呢啊。

    当然了,同步这种高级功能我是不用的,在国内太慢了。我模仿 Git 简单实现个数据同步功能,用来增量同步学习数据,主要流程就是:

    1. 拉取服务端最新版本号数据;
    2. 与本地数据合并;
    3. 推送经过合并的本地数据到服务端。

    今日背单词 app

    app 的名字就叫今日背单词,提醒自己今日背单词,哈哈。

    将单词加入学习计划后,会自动安排学习计划,参考 anki 那样,但我只加了认识和忘记 2 个按钮,没有加模糊按钮,也是个人喜好吧,加了模糊按钮我用了一阵子,有时会让我在模糊和忘记之间纠结选哪个,不如去掉模糊按钮。

    背单词采用白板的形式,没有释义或图片选项供选择,以前用选项这种方式背过,给选项能选上,单独拎出来不一定认识。

    有学习小组功能,可以和好友一起组队背单词,哈哈。

    还有个简单的倒数日功能,用来显示一个目标,在首页顶部放一个考研倒数日,很方便。

    一直在 app 里背单词也比较累,所以加了将单词导出为 pdf 文件的功能,打印出来放床头随便看看。

    中英模式下有个语音识别单词功能,可检验发音。本来还做了个语音拼写检查的,但系统对单字母发音识别不太准,体验不好,想找个单字母发音分类器模型的,一直没找到,有这个资料的小伙伴帮助提供下线索,哈哈。

    还有个学习回顾和预习功能,复习和预习的确很重要。

    主要功能一个月多前就做好上架了,我自己下载下来用了一个多月,感觉还可以,优化了一些地方,比如自己用着用着总需要手动添加单词到学习计划真的很麻烦,但一次性添加太多单词又会让我觉得计划太多会影响学习的积极性,于是我就加了个选择单词书的功能,选好需要背的单词书,然后在学习计划不足的时候根据指定的学习顺序少量少量的自动添加。

    词库

    词库主要用的 WordNet ,单词页面会显示同义词、反义词、词态变化、英文释义、英文例句。

    永久会员奉上

    app 是有内购的,主要用来购买单词上限,但考虑到背单词的主要还是学生群体,也不容易,所以在购买页面增加了个在校学生免费领取 3600 个单词上限的按钮,每天签到、满一周、满一月签到都可获得单词上限,基本是不用花钱的。

    感兴趣的小伙伴可以在注册账号后留下数字 id ,或者到群里发下数字 id (文章末尾附上群二维码),永久会员奉上(可邮箱、手机注册,或者用苹果账号直接登录,也可游客使用)。

    求支持一下

    第一次做 app ,做的不好,请大佬们给给建议,打个分,给个评论,支持一下,多谢啦~(如果有工作介绍,那就更好啦,深圳,主做 php ,golang 也可以,原支付公司工作,技术对接各支付渠道,熟悉银联网联加密机国密改造对账啥的,学历大专 T.T )

    再闲着,我另一个 app 都快做好了,救救我吧 T.T

    今日背单词

    今日背单词

    今日背单词

    今日背单词

    今日背单词

    今日背单词

    https://apps.apple.com/cn/app/%E4%BB%8A%E6%97%A5%E8%83%8C%E5%8D%95%E8%AF%8D/id1619751017

    微信群

    欢迎喜欢背单词的小伙伴们进来一起交个朋友哈,也可以交流交流 SwifUI 或其它 app 开发问题~

    今日背单词

    今日背单词

    https://apps.apple.com/cn/app/%E4%BB%8A%E6%97%A5%E8%83%8C%E5%8D%95%E8%AF%8D/id1619751017

    诸事顺遂,贵体康泰。

    第 1 条附言  ·  2022-07-07 10:20:51 +08:00

    非常感谢小伙伴们的反馈与建议,已上线新版本,将一些容易处理的问题先处理了一下,比较不好处理的问题将在今后解决哈~

    1. 修复登录时确认网络授权后仍提示1次无网络权限的问题(由于没有提前获取网络权限所导致);
    2. 修复学习小组名显示重复的问题;
    3. 增加显示会员单词上限数;
    4. 月签到日历固定为6行,防止切换月份时页面高度变化;
    5. 修复某些情况下不能关闭我的单词书选择页面;
    6. 可设置静音模式下播放单词语音;
    7. 选词页面可设置隐藏中文;
    8. 快捷导航增加小箭头;
    9. 优化在校学生领取单词上限的提示信息;
    10. 增大学习按钮;
    11. 增大部分字体;
    12. loading文本增加背景色,使其显示更加清晰;
    13. sheet弹出页面增加关闭按钮;
    14. 修复填写每日学习量不可删除再重新填写的问题;
    15. 从单词书选择单词后自动将其设置为我的单词书;
    16. 增加可设置页面常亮;
    17. 优化倒数日进度条;
    18. 略微提高默认单词播放语速,并增加可设置单词播放语速;
    19. 每次学习完成后可重复签到。
    第 2 条附言  ·  2022-07-08 18:22:37 +08:00

    群二维码已失败,追加新的群二维码。

    今日背单词

    531 条回复    2022-09-28 16:14:54 +08:00
    1  2  3  4  5  6  
    Z1106264957
        1
    Z1106264957  
       2022-06-30 16:42:17 +08:00
    没有安卓端嘛
    sxiaojian
        2
    sxiaojian  
       2022-06-30 16:46:37 +08:00
    这完成度,完全不像个人开发者能完成的。楼主还是很厉害的
    XGF
        3
    XGF  
       2022-06-30 17:04:27 +08:00
    100033
    startisan
        4
    startisan  
       2022-06-30 17:11:27 +08:00
    100035
    jackyin
        5
    jackyin  
    OP
       2022-06-30 17:33:27 +08:00
    @Z1106264957 有时间的话,后面会用 Jetpack Compose 开发个安卓版的,当时选择使用 Realm 而没使用 CoreData ,就是想把 Android 版本也做了。
    jackyin
        6
    jackyin  
    OP
       2022-06-30 17:34:08 +08:00
    @XGF 已奉上。
    jackyin
        7
    jackyin  
    OP
       2022-06-30 17:34:24 +08:00
    @startisan 已奉上。
    jackyin
        8
    jackyin  
    OP
       2022-06-30 17:35:44 +08:00
    @sxiaojian 非常感谢,也还在学习,哈哈~
    jwh199588
        9
    jwh199588  
       2022-06-30 17:50:23 +08:00
    我一个 apple 的开发账号弄了一个星期,都还没有弄好
    Tassel
        10
    Tassel  
       2022-06-30 17:52:01 +08:00
    100036
    DingJZ
        11
    DingJZ  
       2022-06-30 17:54:04 +08:00
    100037
    很完整的产品👍
    jokechat
        12
    jokechat  
       2022-06-30 17:56:36 +08:00
    100038
    moeit
        13
    moeit  
       2022-06-30 17:59:47 +08:00
    100039
    Louis423Lee
        14
    Louis423Lee  
       2022-06-30 18:06:33 +08:00
    需要 iOS15.0 以上劝退
    someonedeng
        15
    someonedeng  
       2022-06-30 18:11:06 +08:00
    背单词软件我只服 词根词缀字典 这个 app
    jiezhi
        16
    jiezhi  
       2022-06-30 18:17:34 +08:00
    100042 支持下
    peakCa
        17
    peakCa  
       2022-06-30 18:18:14 +08:00
    100041 大佬,顶一个
    atone
        18
    atone  
       2022-06-30 18:20:34 +08:00 via iPhone
    10044 ,支持一下
    AilF
        19
    AilF  
       2022-06-30 18:22:36 +08:00
    100045 支持下 OP
    jiezhi
        20
    jiezhi  
       2022-06-30 18:22:54 +08:00
    1. 进入词库只能手动选择单词么,可以参考下墨墨
    2. 选词界面中文最好隐藏吧
    3. 快捷导航下面一些按钮实在很难看出来可点击
    4. 在校学生免费领取可以一直点一直弹
    akio
        21
    akio  
       2022-06-30 18:23:52 +08:00 via iPhone
    100046
    eternaljust
        22
    eternaljust  
       2022-06-30 18:29:59 +08:00
    10047 支持下
    atone
        23
    atone  
       2022-06-30 18:31:34 +08:00 via iPhone
    @atone #18 是 100044 ,刚刚少输入了一个 0
    canxin
        24
    canxin  
       2022-06-30 18:32:03 +08:00 via iPhone
    100048 ,谢谢
    jackyin
        25
    jackyin  
    OP
       2022-06-30 18:33:20 +08:00
    @jwh199588 可以交流哈,app 从开发到上架,还有申请小开发者优惠的流程我都走完了,有不懂的可以问我,哈哈~
    zdt3476
        26
    zdt3476  
       2022-06-30 18:34:46 +08:00
    100049; 话说感觉 app 字体有点偏小,然后登录的时候'正在登录'几个字会和登录按钮重合,然后因为颜色一样基本看不请。
    jackyin
        27
    jackyin  
    OP
       2022-06-30 18:35:02 +08:00
    @Tassel 已奉上。
    jackyin
        28
    jackyin  
    OP
       2022-06-30 18:35:35 +08:00
    @DingJZ 已奉上。
    jackyin
        29
    jackyin  
    OP
       2022-06-30 18:35:54 +08:00
    @jokechat 已奉上。
    jackyin
        30
    jackyin  
    OP
       2022-06-30 18:36:42 +08:00
    @moeit 已奉上。
    jackyin
        31
    jackyin  
    OP
       2022-06-30 18:38:58 +08:00
    @Louis423Lee 木有办法,15.0 之前的系统对 SwiftUI 的支持太弱了,需要掺入大量的 uikit ,我是新学的 app 开发,很难搞定大量的 uikit 。
    jackyin
        32
    jackyin  
    OP
       2022-06-30 18:40:26 +08:00
    @someonedeng 感谢推荐,我这就下下来用用看哈~
    SAINTING4
        33
    SAINTING4  
       2022-06-30 18:49:41 +08:00 via Android
    100050 ,支持一下楼主
    Tassel
        34
    Tassel  
       2022-06-30 19:03:14 +08:00
    @jackyin 感谢楼主,显示了会员不限期,但是单词上限没有改变(显示 3600,是因为点过学生免费领取么)
    id3day
        35
    id3day  
       2022-06-30 19:07:01 +08:00 via iPhone
    100051 支持一下
    jackyin
        36
    jackyin  
    OP
       2022-06-30 19:10:09 +08:00
    @jiezhi 已奉上,感谢支持哈。
    jackyin
        37
    jackyin  
    OP
       2022-06-30 19:10:35 +08:00
    @peakCa 已奉上,感谢支持哈。
    sobercentury
        38
    sobercentury  
       2022-06-30 19:10:41 +08:00
    100052 ,谢谢楼主
    jackyin
        39
    jackyin  
    OP
       2022-06-30 19:10:57 +08:00
    @atone 已奉上,感谢支持哈。
    jackyin
        40
    jackyin  
    OP
       2022-06-30 19:11:54 +08:00
    @AilF 已奉上,感谢支持哈。
    theswow
        41
    theswow  
       2022-06-30 19:13:35 +08:00
    100053 支持一下
    zentst
        42
    zentst  
       2022-06-30 19:13:50 +08:00
    100054 支持楼主,以后会增加其余语种吗?
    Issacx
        43
    Issacx  
       2022-06-30 19:16:27 +08:00
    100028 ,支持!话说楼主打算 anki 的单词包吗?
    jackyin
        44
    jackyin  
    OP
       2022-06-30 19:19:21 +08:00
    @jiezhi
    1. 可以选择单词书,选择单词书后,就可以在单词不足时自动小批量的添加单词(可指定自动添加顺序)。
    2. 请问隐藏中文是因为担心显示中文时,在选择时不知道自己到底认不认识这个单词,不知道是否需要添加吗?
    3. 感谢建议,下个版本加上小箭头。
    4. 感谢建议,这个提示不好,下个版本优化这个提示,实际只能领取 1 次。
    jackyin
        45
    jackyin  
    OP
       2022-06-30 19:20:40 +08:00
    @akio 已奉上,感谢支持哈。
    jackyin
        46
    jackyin  
    OP
       2022-06-30 19:21:22 +08:00
    @eternaljust 已奉上,感谢支持哈。
    jackyin
        47
    jackyin  
    OP
       2022-06-30 19:21:47 +08:00
    @canxin 已奉上,感谢支持哈。
    jackyin
        48
    jackyin  
    OP
       2022-06-30 19:26:27 +08:00
    @zdt3476 感谢建议,可能因为我用的老手机比较小(非全面屏),没有注意到现在主流手机已经都是大屏幕了,下个版本会优化下字体,把一些偏小字段搞正常点。

    loading 文字没有加背景色导致看不清,下个版本优化下,给 loading 文字加个背景色。
    AilF
        49
    AilF  
       2022-06-30 19:33:54 +08:00
    @jackyin 感谢
    ansolidll
        50
    ansolidll  
       2022-06-30 19:33:56 +08:00
    100057 支持一下
    Ealrang
        51
    Ealrang  
       2022-06-30 19:34:38 +08:00
    游客试用直接闪退,后无法打开
    Verx0
        52
    Verx0  
       2022-06-30 19:46:45 +08:00 via Android
    10058 支持一下
    lockheart
        53
    lockheart  
       2022-06-30 20:02:45 +08:00
    100059 ,感谢开发者
    k2019
        54
    k2019  
       2022-06-30 20:09:08 +08:00
    建议爬虫收集下 IT 博客文档中的单词,这样更有针对性
    icebear0
        55
    icebear0  
       2022-06-30 20:24:39 +08:00
    100060 ,感谢开发者
    kuicc1987
        56
    kuicc1987  
       2022-06-30 20:36:48 +08:00
    100064 ,支持一下
    instalapple
        57
    instalapple  
       2022-06-30 20:40:00 +08:00
    100065, 谢谢作者
    chenxv
        58
    chenxv  
       2022-06-30 20:46:12 +08:00 via iPhone
    100066
    xiaozhoua
        59
    xiaozhoua  
       2022-06-30 20:51:50 +08:00 via iPhone
    100068
    xinh
        60
    xinh  
       2022-06-30 20:52:24 +08:00 via iPhone
    100067 又一个折腾小宝利器?
    Dancaw
        61
    Dancaw  
       2022-06-30 20:55:37 +08:00 via iPhone
    100069 ,谢谢🙏
    willdonner
        62
    willdonner  
       2022-06-30 20:57:05 +08:00
    100070 感谢
    zhangfeiwudi
        63
    zhangfeiwudi  
       2022-06-30 21:14:13 +08:00
    100074 谢谢
    me221
        64
    me221  
       2022-06-30 21:17:01 +08:00
    100075 谢谢
    Echoleung
        65
    Echoleung  
       2022-06-30 21:18:49 +08:00
    10076 ,感谢
    Echoleung
        66
    Echoleung  
       2022-06-30 21:19:09 +08:00
    100076 ,少打一个 0
    chenoa
        67
    chenoa  
       2022-06-30 21:21:10 +08:00 via iPhone
    100077 谢谢👍🏻
    ivvi
        68
    ivvi  
       2022-06-30 21:24:02 +08:00 via iPhone
    100078 支持下
    DeWjjj
        69
    DeWjjj  
       2022-06-30 21:26:42 +08:00
    @someonedeng 那是因为你背的量不够大,你还没法反推音标。
    ChellFong
        70
    ChellFong  
       2022-06-30 21:30:34 +08:00 via iPhone
    100080 谢谢
    SenLief
        71
    SenLief  
       2022-06-30 21:38:54 +08:00
    100081 谢谢
    jackyin
        72
    jackyin  
    OP
       2022-06-30 21:43:53 +08:00
    @SAINTING4 感谢支持,已奉上哈。
    jackyin
        73
    jackyin  
    OP
       2022-06-30 21:46:10 +08:00
    @Tassel 开通会员后上限数目显示是不会变的,会员使用中不会受 3600 限制哈。
    xtinput
        74
    xtinput  
       2022-06-30 21:46:10 +08:00
    op 词库哪里来的?刚好想深入学习 flutter
    jackyin
        75
    jackyin  
    OP
       2022-06-30 21:47:07 +08:00
    @id3day 感谢支持,已奉上哈。
    willgyw
        76
    willgyw  
       2022-06-30 21:48:19 +08:00
    100086 感谢楼主
    顺便说下,感觉登录界面 UI 字体有点小,期待下个版本的改进,其它功能先体验一下再看,感谢~
    WeweHave
        77
    WeweHave  
       2022-06-30 21:56:11 +08:00 via iPhone
    100087 感谢
    lesir
        78
    lesir  
       2022-06-30 21:57:11 +08:00 via Android
    10089 ,感谢 dev
    xratzh
        79
    xratzh  
       2022-06-30 22:06:11 +08:00
    等着安卓版本
    jqsl2012
        80
    jqsl2012  
       2022-06-30 22:11:35 +08:00
    你跟楼下是啥关系?
    PeekabooCAT
        81
    PeekabooCAT  
       2022-06-30 22:14:46 +08:00 via iPhone
    100093 太感谢了😀
    rechtsstaat
        82
    rechtsstaat  
       2022-06-30 22:25:16 +08:00
    100097 感谢楼主
    lesir
        83
    lesir  
       2022-06-30 22:26:36 +08:00 via Android
    @lesir 100089 ,不好意思少打了一个 0
    9Tpsaajk9rdBKH2U
        84
    9Tpsaajk9rdBKH2U  
       2022-06-30 22:29:07 +08:00 via iPhone
    10098 白嫖的来了,厉害👍
    yasumi
        85
    yasumi  
       2022-06-30 22:30:25 +08:00 via iPhone
    100099 ,感谢,ID 也很好
    9Tpsaajk9rdBKH2U
        86
    9Tpsaajk9rdBKH2U  
       2022-06-30 22:31:12 +08:00 via iPhone
    设置地区能自动关闭吗?或关闭按钮,需要返回麻烦
    DeliMG
        87
    DeliMG  
       2022-06-30 22:32:04 +08:00 via iPhone
    100102
    谢谢 dev
    skyfrere
        88
    skyfrere  
       2022-06-30 22:32:28 +08:00
    100101 谢谢 op ,支持一下!
    brust
        89
    brust  
       2022-06-30 22:33:39 +08:00
    10010
    感谢
    brust
        90
    brust  
       2022-06-30 22:33:54 +08:00
    @brust #89
    100100
    感谢
    Ghrhrrv146
        91
    Ghrhrrv146  
       2022-06-30 22:53:41 +08:00 via iPhone
    100106 ,已好评
    yangmacbob
        92
    yangmacbob  
       2022-06-30 22:57:41 +08:00 via iPhone
    100107 ,感谢 dev
    Ghrhrrv146
        93
    Ghrhrrv146  
       2022-06-30 23:00:28 +08:00 via iPhone
    另外,可以自定义单词书吗
    jackyin
        94
    jackyin  
    OP
       2022-06-30 23:01:33 +08:00
    @sobercentury 已奉上,感谢支持哈。
    jackyin
        95
    jackyin  
    OP
       2022-06-30 23:02:07 +08:00
    @sh7ning 已奉上,感谢支持哈。
    Junaaq
        96
    Junaaq  
       2022-06-30 23:03:21 +08:00 via Android
    100108,感谢 OP
    jackyin
        97
    jackyin  
    OP
       2022-06-30 23:03:52 +08:00
    @zentst 已奉上,感谢支持哈。

    其它语种我不会哎,如果有人可以整理词库合作的话,加上其它语种倒是不难。
    jackyin
        98
    jackyin  
    OP
       2022-06-30 23:04:49 +08:00
    @Issacx 已奉上,感谢支持哈。

    是指将我的词库导出为 anki 单词包吗?
    vincent87
        99
    vincent87  
       2022-06-30 23:06:09 +08:00 via iPhone
    100108 ,谢谢
    jackyin
        100
    jackyin  
    OP
       2022-06-30 23:06:09 +08:00
    @ansolidll 已奉上,感谢支持哈。
    1  2  3  4  5  6  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1214 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 17:49 · PVG 01:49 · LAX 09:49 · JFK 12:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.