像 electron 这样的的 web 转桌面开发框架,为什么不直接架 web 服务通过网络控制本地客户端操作实现程序功能

2017-08-14 17:21:42 +08:00
 qile1

如题,electron 桌面程序开发虽然类似 web 的开发,但是又和 web 开发不完全一样!

那为什么不直接在服务器上面建立 web 服务,通过网页来传输命令直接控制相应的客户端来进行操作,有没有这样的开发框架,请大家推荐。

比如简单的从服务器获取 doc 文件并在本地打开,建立 web 页面后,点击 web 打开按钮,服务器传输 doc 文件到本地客户端并执行 world 的打开命令。

这样的优势就是,web 界面完全是网页形式的,用各种 ie 浏览器都可以操作,而且可以使用 web 各种技术实现炫丽的界面。

有没有这样的框架请推荐一个?

7084 次点击
所在节点    Python
37 条回复
Kilerd
2017-08-14 17:26:19 +08:00
表示读了好几次都没读懂,建议组织语言再来一次。
plqws
2017-08-14 17:28:19 +08:00
本地搭个 web 服务器不就好了。。。
plqws
2017-08-14 17:29:09 +08:00
另外,web 迅雷可能是楼主这个想法的鼻祖
ipwx
2017-08-14 17:31:03 +08:00
楼主你说的是 Chrome OS 吗?

可是断网了就没法用了,比如我们国内就用不了。
enenaaa
2017-08-14 17:36:05 +08:00
如果在浏览器执行, 怎么操作本地文件,调用系统 API 呢?
如果在独立应用内执行, 那也先得有应用啊。
qile1
2017-08-14 17:41:42 +08:00
@Kilerd 我意思就是直接通过 web 来控制本地程序运行,主程序是 web 界面,每个客户端有后台服务程序,用于监听服务器发送的命令!
debuggerx
2017-08-14 17:49:38 +08:00
http://appstore.deepin.com/
CEF -> Chromium Embedded Framework
Lucups
2017-08-14 17:49:50 +08:00
浏览器本来就是特殊的客户端。

electron 可以操作本地文件啊。如果我能操作你本地的文件,楼主你敢打开我给你的网址吗?
qile1
2017-08-14 17:50:07 +08:00
@plqws 本地搭服务器有些应用是无法使用浏览器直接实现的,尤其是本地文件的操作及其他 exe 的远程执行,比如通过浏览器控制用一个串口程序打开 xml 文件显示波形图。

@enenaaa 本地安装后台服务程序,监听服务器发来的命令!

@ipwx 不是 Chrome OS,这个属于一个操作系统,内部网络程序或者简单的互联网程序。

我只是有这么个想法,其实安装浏览器控件就就不需要安装本地后台服务程序了
usedname
2017-08-14 17:55:47 +08:00
首先楼主搞清了客户端和服务端开发了吗
qw7692336
2017-08-14 17:56:13 +08:00
你是说要我每打开一个目录,都得把打开目录的指令传到服务器,然后服务器原样传回来客户端再打开,然后客户端把文件列表传到服务器,服务器再把文件列表传回浏览器显示吗?
那我还不如把服务器跑在本地运行。
whileFalse
2017-08-14 17:59:11 +08:00
nodejs
KeepPro
2017-08-14 18:00:05 +08:00
楼主说的这个,我之前在一篇介绍 英雄联盟的客户端架构的文章中见过。就是起两个进程,一个 HTML 进程做显示,另一个进程做逻辑和服务器通信。这两个进程通过 PRC ?交换数据。
lrh3321
2017-08-14 18:00:07 +08:00
浏览器要保证你的系统安全,很多权限不直接给你,要你通过扩展去实现。 打开个网页就把我本地的文件都拷了一遍,换你你放心用。

另外,不是 localhost 的网页和本地通信算是跨域吧? yaaw 这个 chrome 扩展就是走 json-rpc 控制本地运行的 aria2
qw7692336
2017-08-14 18:00:53 +08:00
可能楼主想要的是一个同样的客户端,把系统的这么多 API 全都实现掉。然后他使用不同的应用,都只需要跟这个通用客户端打交道即可。所以楼主其实是想要浏览器提供更多的系统级 API。那么问题来了,我如何确保我打开的网页不是恶意网站,不会把银行存款转走呢?
qw7692336
2017-08-14 18:05:20 +08:00
续上👆15 楼,为了保证网页安全,需要一种类似于 OAuth 的机制来授权?甚至需要像 360 一样对各个权限进行授权?因为不安全的网页调用系统 API,这安全性可以想象。
qile1
2017-08-14 18:25:43 +08:00
@qw7692336
@lrh3321
其实是我有这么个需求想找个框架简单实现:

属于心电软件的通用控制,由于我无法画出和设备显示一样的心电图形,而设备附带的单机软件可以,我通过服务器传送命令控制本地客户端将服务器的 xml 心电数据文件拷贝到本地,然后控制安装在本地的客户程序打开另外一个心电软件进行显示数据!

患者的登记及报告诊断已经通过 web 实现。

@Lucups 其实到这种程度,就和你安装银行控件或者安装 qq 一样了。首先我信任这个软件,而我软件的界面和控制端变成的浏览器,你给我网址我敢打开。
liliang
2017-08-14 18:38:24 +08:00
浏览器不就是这样的?
maplerecall
2017-08-14 18:42:45 +08:00
electorn 只是让你方便用 web 开发的方式开发本地应用程序,是类似 wpf、qt、javafx 这种层面的存在,和 lz 说的不搭边吧_(:з」∠)_
notes
2017-08-14 18:46:18 +08:00
我好像懂楼主的意思了,楼主的意思是终端程序加个本地 web 界面

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

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

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

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

© 2021 V2EX