2022 年了,如果想开发 macOS 简单的工具 app 考虑用(学)什么技术? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pdog18
V2EX    macOS

2022 年了,如果想开发 macOS 简单的工具 app 考虑用(学)什么技术?

  •  
  •   pdog18 2022-02-01 00:12:14 +08:00 4730 次点击
    这是一个创建于 1374 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想自己弄点 macOS 工具玩玩,如果好用再给朋友们一起用,2022 年哪种技术最省事?

    24 条回复    2022-02-02 09:44:14 +08:00
    agagega
        1
    agagega  
       2022-02-01 00:14:05 +08:00 via iPhone
    SwiftUI
    不过要注意桌面平台和手机端逻辑还是有些不一样的,比如 macOS 其实没有真正的 NavigationView (
    gzlock
        2
    gzlock  
       2022-02-01 01:08:24 +08:00   2
    python 的 Tkinter 跨平台,小工具够用了
    einq7
        3
    einq7  
       2022-02-01 01:09:16 +08:00 via iPhone
    可以试试 electron
    foam
        4
    foam  
       2022-02-01 01:31:47 +08:00 via Android
    electron 跨平台,有 web 开发基础的话,上手很快,开发效率也高。
    原生 swiftUI ,会流畅那么一些,颜色和 UI 适配方案做得不错。遇到问题的话,解决方案没有 OC 那么多。但 swift 写起来比 OC 舒服。
    原生 OC ,毕竟这么多年了,该有的方案都有。但 OC 语法很别扭。
    yaoyaomoe
        5
    yaoyaomoe  
       2022-02-01 01:34:19 +08:00 via iPhone
    看什么类型的工具 朋友的技术能力如何
    最通用肯定还是 python 或者 electron
    swift 的话 需要考虑上手之后分发以及接受程度问题
    ETiV
        6
    ETiV  
       2022-02-01 02:20:35 +08:00 via iPhone
    什么样的工具
    有 UI 的还是没 UI 的
    新的 macOS 系统有 Shortcuts.app ,优先看下这个能不能满足需求?
    tr>
    Borden
        7
    Borden  
       2022-02-01 03:37:27 +08:00
    我不大懂,我就想问问难道 xcode 不是唯一选项么?为啥这里还要有选择?
    ChrisFreeMan
        8
    ChrisFreeMan  
       2022-02-01 10:05:33 +08:00 via iPhone
    不要用 tkinter ,太反人类了。brew 都将它默认和 python 剥离了。用 pygame_gui
    MakHoCheung
        9
    MakHoCheung  
       2022-02-01 10:38:43 +08:00
    熟悉 Java 用 JavaFX ,熟悉 Kotin 用 Compose for desktop ,熟悉 Swift 用 SwiftUI ,熟悉什么语言就用该语言的 GUI 技术就是最省事的
    mxalbert1996
        10
    mxalbert1996  
       2022-02-01 10:46:23 +08:00 via Android
    同意不要用 tkinter ,非要用 Python 的话 PyQt (PySide) 也比 tkinter 好一万倍
    flynaj
        11
    flynaj  
       2022-02-01 11:13:24 +08:00 via Android
    全平台工具 golang, 看看例子 https://syncthing.net/downloads/
    pengtdyd
        12
    pengtdyd  
       2022-02-01 11:29:39 +08:00
    flutter 拥抱未来!
    Livid
        13
    Livid  
    MOD
    PRO
       2022-02-01 11:36:06 +08:00 via iPhone   1
    我和 @Kai 最近用 SwiftUI 做了一个小工具:

    https://cl.v2ex.pro/
    holulu
        14
    holulu  
       2022-02-01 11:59:34 +08:00
    最近在看 macOS 的 GUI 开发文档。SwiftUI 在桌面端还不是很完善,现在还在用 Objetive-C 。
    7gugu
        15
    7gugu  
       2022-02-01 12:20:05 +08:00 via iPhone
    别急着上 swiftUI ,虽然是未来的方向,但是用起来多多少少还是会有点问题的
    Cbdy
        16
    Cbdy  
       2022-02-01 12:44:06 +08:00 via Android
    java swing
    code4you
        17
    code4you  
       2022-02-01 12:48:44 +08:00
    macOS App 开发 完全是面向苹果开发文档 API 开发 不会就去查文档和 GitHub 看人家的想法是如何实现的  ̄□ ̄||

    资料好少 而且文档看着也很晦涩

    至今就开发了个 Menubar App 复杂的 感觉不会

    可能自己实力太低 o(□)o
    Puteulanus
        18
    Puteulanus  
       2022-02-01 20:12:07 +08:00
    electron 吧,自己搞点小东西 JS 技术栈性价比高,换 Windows / 手机小程序也都能用
    zzlhr
        19
    zzlhr  
       2022-02-01 20:46:04 +08:00
    不跨平台 SwiftUI
    aydd2004
        20
    aydd2004  
       2022-02-01 21:21:47 +08:00
    @ChrisFreeMan 这玩意只能写控件数量<5 的东西

    我写了个日常用的小工具 业务逻辑没花多少时间 控件摸了好久
    shayuvpn0001
        21
    shayuvpn0001  
       2022-02-01 22:29:39 +08:00
    @mxalbert1996
    @ChrisFreeMan

    tkinter 有什么坑么?
    mxalbert1996
        22
    mxalbert1996  
       2022-02-02 00:19:23 +08:00 via Android
    cmdOptionKana
        23
    cmdOptionKana  
       2022-02-02 09:11:11 +08:00
    PyQt 要注意许可证的问题。
    loginv2
        24
    loginv2  
       2022-02-02 09:44:14 +08:00
    golang 写个 rpc ,UI 用网页。这样哪天觉得需要移植了,套个浏览器壳子就行了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     918 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:31 PVG 05:31 LAX 13:31 JFK 16:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86