我是如何用 GO 去实现一个可以在 window 和 mac 上运行的数据大屏项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Albacore
V2EX    程序员

我是如何用 GO 去实现一个可以在 window 和 mac 上运行的数据大屏项目

  •  1
     
  •   Albacore 2023-04-02 21:38:01 +08:00 2320 次点击
    这是一个创建于 924 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    提到数据大屏,通常大家的印象就是各种图表、表格的数据展示,然后不断地轮询后端接口。对于前端开发者来说,更多的关注点在于布局问题、图表的兼容性问题以及窗口变化后图表样式问题。对于后端来说,主要考虑的是如何在不断的请求中减轻服务器的压力。

    但实际上,数据大屏的需求还远不止于此:

    前端发布后应当可以作为应用直接运行,而不需要手动输入地址进行预览。 需要减轻服务器的压力,避免频繁的数据请求。 当前后端任何一方或双方都离线的情况下,数据仍能正常运行。 需要日志的存储,以便随时查看问题。 需要调用系统的能力和跨域调用 API ,以增加数据展示的灵活性。

    解决方案

    我采用了 GO 和 lorca 的方式来解决以上问题:

    • 打包体积轻量,仅 20MB 。
    • 使用无头浏览器 lorca ,可自定义 Chrome 和 Javascript 之间的交互。
    • 支持交叉编译到 Windows 和 Mac 系统。
    • 离线状态下也可以正常运行。
    • 可以运行本地服务,减轻服务器压力。
    • 编译速度快,运行性能优秀。

    整体方案和代码

    https://github.com/ICEPepsiCola/vizzy

    7 条回复    2023-04-03 15:54:12 +08:00
    gowk
        1
    gowk  
       2023-04-02 22:38:53 +08:00
    1 、Windows 下怎么运行 .sh 文件,只能再 Git Bash 下面运行是吗,start.sh build.sh 是不是最好提供 .bat 版本,直接可以运行的,或者 .ps1 脚本
    2 、Git Bash 下面运行有小问题,start cmd /c "xxx" 这句命令代码,xxx 没有出现并执行,只会弹出一个黑框
    3 、手工拷贝 frontend/dist 目录到 ../resources 下面,重新 build 成功,出现 app.exe 运行后,出现一个页面,标题是 数据计算服务屏,下面有几个闪烁的圆环,过几秒钟消失,看你代码有 page 1..5 ,感觉预期效果并未出现
    gowk
        2
    gowk  
       2023-04-02 22:43:25 +08:00
    Lorca is no longer under active development.
    Wails may be a better option, perhaps.

    https://github.com/wailsapp/wails
    Albacore
        3
    Albacore  
    OP
       2023-04-02 22:59:27 +08:00
    @gowk windows 问题提供一下系统环境信息,我看一下。lorca 其实够用啦,足够轻而且编译快,当然我也写 Wails 的版本,的确是更完整的工具和体验,但略重,后面会发出来
    Albacore
        4
    Albacore  
    OP
       2023-04-03 00:55:44 +08:00
    @gowk is ok! windows 用户可以到切换到 msys 分支
    gowk
        5
    gowk  
       2023-04-03 11:34:26 +08:00
    @Albacore ok, i'll check it out
    40EaE5uJO3Xt1VVa
        6
    40EaE5uJO3Xt1VVa  
       2023-04-03 11:50:10 +08:00
    无头浏览器 是什么意思
    yin1999
        7
    yin1999  
       2023-04-03 15:54:12 +08:00 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2849 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 13:51 PVG 21:51 LAX 06:51 JFK 09:51
    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