• 请不要在回答技术问题时复制粘贴 AI 生成的内容
onice
V2EX  ›  程序员

因为 Clash 想入坑 Go

  •  
  •   onice · Nov 6, 2023 · 6441 views
    This topic created in 1093 days ago, the information mentioned may be changed or developed.
    介于 Clash 被删库,萌发了自己入坑 Go 写工具自用的想法。

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

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

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

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

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

    谢谢大家~
    dif
    dif
    Nov 6, 2023
    1
    typescript (以及前端那一套)就够了。flutter\electron 都可以。
    yazinnnn0
    yazinnnn0
    Nov 6, 2023
    2
    你的好感用错地方了

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

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

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

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

    当然, 如果是作为爱好, 学个 golang 挺好的. 艺多不压身嘛.
    sudoz
    sudoz
    Nov 6, 2023
    14
    @rowe 哈哈,是人是鬼都在秀,尤其是半瓶水的花架子
    RoccoShi
    RoccoShi
    Nov 6, 2023
    15
    你说 cfw 的话, 我记得是 v2 人人喊打的电子
    catsoul
    catsoul
    Nov 6, 2023
    16
    @RoccoShi 电子就离谱,想了半天 hhh
    hu8245
    hu8245
    Nov 6, 2023
    17
    你说用 electron 也行啊
    someday3
    someday3
    Nov 6, 2023
    18
    @sudoz
    学到了,半瓶水的花架子
    beixiao
    beixiao
    Nov 6, 2023 via iPhone
    19
    把我给整笑了😄
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Nov 6, 2023
    20
    语言只是工具,熟悉且顺手即可。 要说 GUI ,那流行的害得是 electron (容易找到人来 coding )
    lingling47
    lingling47
    Nov 6, 2023
    21
    clash 的 UI 是前端也就是 vue react 那套东西通过 api 和 go 通讯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5062 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 07:56 · PVG 15:56 · LAX 23:56 · JFK 02:56
    ♥ Do have faith in what you're doing.