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

因为 Clash 想入坑 Go

  •  
  •   onice · 2023-11-06 10:54:03 +08:00 · 4114 次点击
    这是一个创建于 394 天前的主题,其中的信息可能已经有所发展或是发生改变。
    介于 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
    把我给整笑了😄
    GeekGao
        20
    GeekGao  
       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   ·   实用小工具   ·   1020 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:01 · PVG 05:01 · LAX 13:01 · JFK 16:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.