因为 Clash 想入坑 Go - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
onice
V2EX    程序员

因为 Clash 想入坑 Go

  •  
  •   onice 2023-11-06 10:54:03 +08:00 4950 次点击
    这是一个创建于 704 天前的主题,其中的信息可能已经有所发展或是发生改变。
    介于 Clash 被删库,萌发了自己入坑 Go 写工具自用的想法。

    大家知道 Clash 的 GUI 是什么写的吗?感觉还蛮漂亮的。

    Clash 是一款非常优秀的工具,对 Go 的好感度上升不少,

    也不知道入坑 Go 体验如何。

    其实我的要求也不高,能写桌面客户端工具,能写后端就差不多了。

    入坑 Go 是个好主意吗?大家有使用 Go 的,能分享下感受吗?

    谢谢大家~
    dif
        1
    dif  
       2023-11-06 10:58:22 +08:00
    typescript (以及前端那一套)就够了。flutter\electron 都可以。
    yazinnnn0
        2
    yazinnnn0  
       2023-11-06 11:10:11 +08:00
    你的好感用错地方了

    如果你觉得 gui 漂亮, 那跟 go 没啥关系

    拿 go 写 gui 的不说多稀有吧, 也算是挺罕见的
    LuffyGu
        3
    LuffyGu  
       2023-11-06 11:10:15 +08:00
    啊?我感觉 Go 用来写后端服务的比较多。
    cat
        4
    cat  
       2023-11-06 11:16:01 +08:00
    GUI 漂亮跟 go 有啥关系……
    onice
        5
    onice  
    OP
       2023-11-06 11:30:18 +08:00
    @yazinnnn0 @cat 我用过 Java 和 Python 。我理解中的 GUI 就是有专门的库。例如 Java 的 Swing ,Fx 库,还有 Python 的 tkinter ,pyqt 之类的。基于这个原因,我自然想到:既然 Clash 是用 Go 写的,那么也应该是用了 Go 语言对应的 GUI 库,由于不同 GUI 库的界面风格不同,我自然联想到 Go 的 GUI 库很美观好用的样子。

    但是不知道为何大家都说 gui 漂亮,跟 Go 没啥关系。gui 漂亮不应该是 go 对应的 gui 库界面风格漂亮,支持的主题多吗?能解释下吗?谢谢
    jabari
        6
    jabari  
       2023-11-06 11:36:42 +08:00   2
    go 主要写的是 clash core 部分负责底层通信相关的,这部分和 gui 没有啥关系,你使用的 gui 部分一般是指的包装了 clash 的客户端,一般来说和 go 没啥关系, PC Electron,tauri 之类或者根据平台原生语言开发的。
    AoEiuV020JP
        7
    AoEiuV020JP  
       2023-11-06 11:48:14 +08:00
    clash 核心是 go 写的命令行程序,没有 gui 的,
    你看到的 gui 都是其他人用其他技术框架封装 clash 写的 gui ,
    你应该截个图说出你在用的 gui 名字大家就知道是用什么写的了,
    road0001
        8
    road0001  
       2023-11-06 11:57:25 +08:00
    CFW 客户端是基于 Electron 开发的用户 UI ,脚本为 Javascript 或 TypeScript ,作者未开源俺也不知道,解包只能看到压缩后的 js 代码。客户端内集成编译好的 Clash 可执行程序,通过 Node 调用并发送相关规则的配置来实现功能。
    LZ 喜欢写客户端的话,可以入坑 Electron ,更简单的还有 nw.js (著名的 RPGMakerMV 、MZ 都是基于 nw.js 的),Electron 本质上还是浏览器,你开发的 UI 本质上还是网页,只不过它集成了和系统底层交互的 Node.js ,所以可以实现很多浏览器里网页无法实现的功能。
    deorth
        9
    deorth  
       2023-11-06 12:41:04 +08:00 via Android
    微内核
    rowe
        10
    rowe  
       2023-11-06 12:48:29 +08:00
    v2ex 上真都是人才
    wangxin13g
        11
    wangxin13g  
       2023-11-06 13:10:07 +08:00
    你这个约等于觉得 meta 和 ins 页面不错想去学 php XD
    knva
        12
    knva  
       2023-11-06 13:40:05 +08:00
    有意思。
    lujiaxing
        13
    lujiaxing  
       2023-11-06 13:49:39 +08:00
    额, 首先 Clash 的 GUI 是 Electron 开发的... 不是 golang. 核心的那个命令行工具才是 golang 开发的...

    其次 golang 现在就业情况非常窘迫. golang 学下来可以做的岗位基本上都是 DevOps 或者基于公司业务需要对 Kubernetes, Docker 之类的东西进行魔改. 而能上这些系统的基本都是大厂. 中小厂用 golang 做业务的不多, 基本上都是 Java. 基于各大厂对学历的严苛程度, 如果你学历不是特别好, 学 golang 找工作会非常费劲.

    当然, 如果是作为爱好, 学个 golang 挺好的. 艺多不压身嘛.
    sudoz
        14
    sudoz  
       2023-11-06 13:58:54 +08:00
    @rowe 哈哈,是人是鬼都在秀,尤其是半瓶水的花架子
    RoccoShi
        15
    RoccoShi  
       2023-11-06 14:20:43 +08:00
    你说 cfw 的话, 我记得是 v2 人人喊打的电子
    catsoul
        16
    catsoul  
       2023-11-06 14:42:53 +08:00
    @RoccoShi 电子就离谱,想了半天 hhh
    hu8245
        17
    hu8245  
       2023-11-06 14:50:56 +08:00
    你说用 electron 也行啊
    someday3
        18
    someday3  
       2023-11-06 14:56:35 +08:00
    @sudoz
    学到了,半瓶水的花架子
    beixiao
        19
    beixiao  
       2023-11-06 15:38:11 +08:00 via iPhone
    把我给整笑了
    R4rvZ6agNVWr56V0
        20
    R4rvZ6agNVWr56V0  
       2023-11-06 16:15:59 +08:00
    语言只是工具,熟悉且顺手即可。 要说 GUI ,那流行的害得是 electron (容易找到人来 coding )
    lingling47
        21
    lingling47  
       2023-11-06 17:06:08 +08:00
    clash 的 UI 是前端也就是 vue react 那套东西通过 api 和 go 通讯
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5796 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 06:15 PVG 14:15 LAX 23:15 JFK 02:15
    Do have faith in what you're doing.
    ubao 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