打算把公司系统做成客户端,各位帮忙看看有什么弊端吗?

2023-03-03 15:11:47 +08:00
 firhome
背景:

公司的内部系统,vue 写的,提供给公司内部业务同学使用。因为在系统开发的时候就想到业务人员都是公司的可控,直接喊他们下载 chrome 就行了( boss 是支持的)。
但是架不住业务同学很多都不知道 chrome 是什么,再加上人员流动,培训不到位,很多都用一些第三方浏览器。有时候导致网页打不开或者白屏。也没那个精力去针对第三方浏览器去做兼容什么的。这种事情不是时时有,一个季度总有那么 3-5 个。所以经常会在群里吐槽也挺糟心。

所以我在想干脆 通过 electron 把 网页打包成客户端算了,反正 electron 也自带浏览器,还稳定。这样让他们 pc 上下载客户端 直接客户端操作。

就是不知道有什么弊端。比如据说 electron 性能不好,卡什么的、 不知道我这个操作行不行。
3148 次点击
所在节点    程序员
25 条回复
throns
2023-03-03 15:15:08 +08:00
gimp
2023-03-03 15:17:30 +08:00
将 Chrome 安装包放到内网机器或云上,提供个文档截图说下怎么下载和安装就行了吧
tunggt
2023-03-03 15:20:19 +08:00
可以,没问题。我之前就是这么干的
firhome
2023-03-03 15:38:19 +08:00
@gimp
感谢回复,可以是可以的。

其实我的主要目的是想弱化系统是个“网页”概念。 因为遇到了就算是安装了 chrome 的 他们也会用其它第三方浏览器(原因就是自己保存了很多收藏夹阿之类的)。

我想让他们形成习惯想访问系统 就通过客户端打开。
zxCoder
2023-03-03 15:43:04 +08:00
感觉可以
bagel
2023-03-03 17:03:43 +08:00
检测 UA 是非 Chrome 浏览器直接弹窗提示换浏览器,跟变成客户端是一个效果,反正能把小白用户拦住了。还更简单。
rm0gang0rf
2023-03-03 17:08:45 +08:00
electron 不合适,要更新就麻烦了
@bagel 的方法可行
wheat0r
2023-03-03 17:12:51 +08:00
制度的问题,不要指望技术能解决
xyjincan
2023-03-03 17:21:00 +08:00
@bagel 并且给出下载完整安装包下载链接
clf
2023-03-03 17:23:26 +08:00
electron 可以的。

但是不需要把前端代码打包进去。main.js 里面代码功能就是打开你们现在的网站。

这样浏览器可以直接访问,客户端也可以直接访问。也不用管更新客户端的事情(除非兼容性问题大升级)。本质上就是一个默认首页的浏览器。
dengshen
2023-03-03 17:26:42 +08:00
@rm0gang0rf #7 electron 可以加载网页的, 不要把静态资源放进去. 就相当于只有一个壳, 网页更新后客户端的内容也是最新的
xxmaqzas
2023-03-03 17:29:48 +08:00
cefsharp
realpg
2023-03-03 17:40:53 +08:00
封装一个特殊版本绿色的 chrome ,带一个特殊 UA ,绿色 chrome
然后首页检测 ua 不是这个特殊版本的 chrome ,只显示一个下载界面,下载这个版本的 chrome

不需要任何解释
systemcall
2023-03-03 17:49:27 +08:00
自己做一个蒙哄浏览器,你只需要改一下默认 UA 、编译出来就行了,服务器那边检测 UA ,不是蒙哄浏览器就跳转到下载链接
这样还有一个好处,就是浏览器不会自己把自己升级到不能访问真正要用的东西。当然你可以用别的东西来打包网页,但是要考虑客户的系统。老版本的 chrome 是支持 win7 的,最新版好像不支持
baiy
2023-03-03 17:50:57 +08:00
1. 客户端打包
https://github.com/nativefier/nativefier 基于 electron 的打包功能
使用上面这个项目打包一下 不需要使用网页源码 使用网页地址即可


2. 业务版本更新
https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps
使用 PWA(渐进式 Web 应用)

以上都是前端技术

ps:
如果使用 vite 构建的话, 直接使用 https://www.npmjs.com/package/vite-plugin-pwa 插件 , 这样的话需要添加的代码不会超过 100 行, 时间要是熟悉 PWA 估计也就半个小时搞定
huangqihong
2023-03-03 17:57:58 +08:00
@systemcall 你这让我想到了在吾爱那边有个帖子分享华为 PC 浏览器,下面一堆人评论国产牛批,实际上是 85 版本的谷歌内核,只不过服务换成了华为自己的
sdrpsps
2023-03-03 17:58:36 +08:00
Electron loadURL 套壳即可
baiy
2023-03-03 18:01:53 +08:00
更正一下 15 楼的回复
第 2 点其实不是为了处理业务版本更新, 第 1 点就可以做到, 第 2 点主要是为了处理卡顿的问题, 在 Service workers 中缓存所有前端源码(vite-plugin-pwa 默认实现), 这样业务访问基本都是调用缓存资源了, 在卡顿就是代码的锅了
rookie4show
2023-03-03 19:12:00 +08:00
以前公司有个方法
压缩 chrome 为安装程序
替换图标
添加启动参数隐藏标签栏和固定主页
jones2000
2023-03-03 20:34:27 +08:00
套壳多麻烦,要维护好多版本,xp ,mac ,32 位机器,64 位机器 这些都需要单独维护一个版本吧, 有些视频插件还要单独编译,exe 上线要过 360 等杀毒软件吧。后续客户端升级,还要开发单独的升级程序吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX