V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
butanediol2d
V2EX  ›  奇思妙想

有没有可能,把 Electron 软件“反向代理”成网页?

  •  
  •   butanediol2d · 2023-04-09 02:45:36 +08:00 · 2995 次点击
    这是一个创建于 622 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这里是站在普通用户的角度说的,对于有能力的开发者当然可以选择直接“移植”。

    相当于把 Electron 软件变成可以 selfhost 的,前后端分离的软件。感觉像 Obsidian 、Icalingua++ 等这些软件可以受益很多。

    如果可行的话,能预料到部分应用或者功能会出问题,不过总体上能用就好。

    13 条回复    2023-04-11 12:29:12 +08:00
    ochatokori
        1
    ochatokori  
       2023-04-09 03:44:49 +08:00 via Android
    你要找的是不是网页版 vscode
    metalvest
        2
    metalvest  
       2023-04-09 11:28:26 +08:00
    站在普通用户的角度,最多到原开发者那里去提要求,提的人多了可能就会移植
    lower
        3
    lower  
       2023-04-09 11:29:19 +08:00
    这种功能(在浏览器访问原生应用)和实现技术已经很成熟了吧。。。
    最极致的都是网页端远程桌面功能

    不知道 op 是不是说的这种功能?
    hazardous
        4
    hazardous  
       2023-04-09 11:58:05 +08:00
    我觉得反了。最开始用 HTML 写本地软件界面应该就是这种,在本地起个服务然后与网页通过接口交互,界面分裂感太重,不懂技术的用户搞不懂是个软件还是个网页,很不正规的感觉。然后 electron 才把这俩合成一个,看起来是一个完整的软件了。
    oldshensheep
        5
    oldshensheep  
       2023-04-09 12:17:42 +08:00
    是一个不错的想法,比如 Icalingua++如果变成运行在浏览器中的应用,就相当于是 Web 版的 QQ 了,不用下载 Electron 这个破东西,而且打开浏览器就可以访问。
    如果更改源程序实现上述功能,技术上肯定是可行的,但是如果开发一个代理软件,可以无感知的代理 Electron 应用那就更方便了。

    代理程序把 Electron 应用代理成一个前后端分离的程序,类似于 vscode 。
    oldshensheep
        6
    oldshensheep  
       2023-04-09 12:23:07 +08:00
    @hazardous 但是这种应用可以部署到服务器上,然后通过自己的浏览器访问,甚至可以卖个服务。
    butanediol2d
        7
    butanediol2d  
    OP
       2023-04-09 19:44:19 +08:00
    @ochatokori #1 不是所有 Electron 软件都像 VS Code 这样有网页版可以自己部署,而且硬要说的话,VS Code 也不行,能部署的 Code Server 跟 VS Code 也不太一样。

    @lower #3 是这个意思,但是只是网页前端的话,远程桌面开销太大,如果能只传输网页内容,渲染也是在客户端完成,那体验就很好多了。

    @oldshensheep #5 是的,就是这个意思。我最开始的想法就是部署 Icalingua++,不仅可以多端访问,而且可以通过自己部署数据库把所有的聊天记录保存下来。
    kkocdko
        8
    kkocdko  
       2023-04-09 21:26:33 +08:00
    我目前就在本机上使用 vscode web server (官方的 code server ),很好用。但我也同意 4 楼的看法,很大一部分用户根本没有基础的计算机常识,用户会不断地反馈,不断地吵闹,并声称“网页很卡”。当你使用 electron 包一层之后,一切都清净了。我只想说这些用户值得他们所受的苦难。

    我也希望有楼主所说的这样的方案出现,看样子代理是一个不错的路径。之前大家想的是弄出一个共享 electron runtime ,但显然需要主动适配。要是有一个第三方的,无需适配的代理形式的方案,应该会很不错,但是技术难度也需要考虑一下。
    cond0r
        9
    cond0r  
       2023-04-10 09:39:58 +08:00
    感觉理论是可行,修改 electron 变成打开一个 webserver,然后重新封装所有的 api 用 websocket 之类的和后端进行通讯执行
    shakukansp
        10
    shakukansp  
       2023-04-10 10:36:54 +08:00
    想的有点多,反代怎么解决使用 fs 相关 api 的问题?
    butanediol2d
        11
    butanediol2d  
    OP
       2023-04-10 12:25:11 +08:00 via iPhone
    @shakukansp 主题正文有写,不期待所有功能都正常。
    ixixi
        12
    ixixi  
       2023-04-11 09:49:02 +08:00
    换个思路 如果用 类似于 手机投屏的方案呢 ?
    butanediol2d
        13
    butanediol2d  
    OP
       2023-04-11 12:29:12 +08:00
    @ixixi #12 传输视频流的开销太大了,无论是对服务端还是客户端,体验也远不如仅代理网页。如果用反向代理的方式,体验应该与直接浏览网页差别不大,但投屏、远程桌面这种差距就很大了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1536 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:54 · PVG 00:54 · LAX 08:54 · JFK 11:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.