搜索
bottom↓
回复: 49

用前后端技术写桌面应用程序并打包

[复制链接]

出0入36汤圆

发表于 2023-8-25 16:20:42 | 显示全部楼层 |阅读模式
本帖最后由 redworlf007 于 2023-8-25 16:23 编辑

1、最近用前端web技术做了类似串口助手一样的测试小工具,并且用electron打包成exe文件。
2、后端服务程序用go写的webserver。
3、双击打开前端界面的时候,前端js代码用子进程的方式,启动后端go写的应用程序,前端关闭的时候,父进程退出,子进程同时退出,为了保险,又加了杀掉子进程的代码。
4、感受:前端这个玩意感觉坑太多,electron打包坑也很多,感觉要花大量的时间去熟悉这个东西,并且很多技术栈更新也很快,可能我是搞硬件的,对前端软件没有经验,玩不转。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出100入312汤圆

发表于 2023-8-25 16:24:20 | 显示全部楼层
lz大神,全栈,牛

出0入42汤圆

发表于 2023-8-25 16:32:49 | 显示全部楼层
体积好大, 这个是go-electron绑定吗?还是前后端分离的呢

出235入235汤圆

发表于 2023-8-25 16:35:32 | 显示全部楼层
还不如直接GO写个程序+浏览器。。
个人感觉,当然,作为学习还是很好的。

出0入8汤圆

发表于 2023-8-25 16:37:39 | 显示全部楼层
大神一个月能赚多少钱?技术这么牛,还这么潮。

出0入36汤圆

 楼主| 发表于 2023-8-25 16:52:14 | 显示全部楼层
albert_w 发表于 2023-8-25 16:32
体积好大, 这个是go-electron绑定吗?还是前后端分离的呢
(引用自3楼)

electron打包了个浏览器,前后端其实还是分离的,我也不知道咋样搞一起。。。

出0入36汤圆

 楼主| 发表于 2023-8-25 16:53:24 | 显示全部楼层
本帖最后由 redworlf007 于 2023-8-25 16:57 编辑
lyping1987 发表于 2023-8-25 16:35
还不如直接GO写个程序+浏览器。。
个人感觉,当然,作为学习还是很好的。 ...
(引用自4楼)


还有个办法是wails打包,直接go和js交互,我没有搞。

我已经误入了vue ts element。。。所以还没有尝试其他的。。。


其实我已经做到go写的程序用浏览器打开,我vue ts element搞好前端后,用vite打包,然后把打包出来的dist文件夹放到go的程序目录下面,然后用go的gin,把既做后端又做代理,然后启动go程序,然后浏览器打开就好了。

出160入67汤圆

发表于 2023-8-25 16:57:30 | 显示全部楼层
electron 体积太大了,感觉不适合做简单应用程序。貌似都在用 WebView2

出0入30汤圆

发表于 2023-8-25 16:59:26 | 显示全部楼层
前端各种名词术语,各种框架,技术更新很快吧。这种跨平台的技术,不管是上位机软件还是APP,是不是都是嵌入了一个浏览器,然后界面都是网页来实现的。

出235入235汤圆

发表于 2023-8-25 16:59:32 | 显示全部楼层
redworlf007 发表于 2023-8-25 16:53
还有个办法是wails打包,直接go和js交互,我没有搞。

我已经误入了vue ts element。。。所以还没有尝试 ...
(引用自7楼)

其实不需要非得弄到一起,前端也不涉及什么很机密的。

GO+WEB是很好的,管理系统基于网页也是常见做法。。这种有个好处,GO可以跑本地或者一个linux小盒子。自由扩展。

出0入90汤圆

发表于 2023-8-25 17:10:22 | 显示全部楼层
别学这个了,好好的搞嵌入式多好。
这个都是做互联网的那帮家伙弄出来的一些框架类的东西,更新起来真的是日新月异,你跟得上吗?
最后就算学会做成了,也没什么大不了的。因为人家做前端、后端的比你更专业,我花几千块让他们开发个东西比你更快更好。
当然,时间多,了解一下也是可以的

出0入0汤圆

发表于 2023-8-25 17:41:19 | 显示全部楼层
lz是做加油机设备及通信行业?

出0入42汤圆

发表于 2023-8-25 17:45:56 | 显示全部楼层
honami520 发表于 2023-8-25 17:10
别学这个了,好好的搞嵌入式多好。
这个都是做互联网的那帮家伙弄出来的一些框架类的东西,更新起来真的是 ...
(引用自11楼)

有时候需要快速验证, 有界面很方便的.  很多验证工作, 太麻烦大家就不愿意搞了.

出0入42汤圆

发表于 2023-8-25 17:49:37 | 显示全部楼层
redworlf007 发表于 2023-8-25 16:52
electron打包了个浏览器,前后端其实还是分离的,我也不知道咋样搞一起。。。 ...
(引用自6楼)

简单粗暴挺好的.
go里面貌似可以直接启动浏览器, 后台启动浏览器跟着起来.  再搞个websocket双向交互倒也是妥妥的.   
go挺好的是它内置http服务器, 可以一边开web服务一边搞tcp自定义连接, 搞串口什么的都非常好交互.

出0入36汤圆

 楼主| 发表于 2023-8-25 18:13:40 | 显示全部楼层
mndsoft2012 发表于 2023-8-25 16:57
electron 体积太大了,感觉不适合做简单应用程序。貌似都在用 WebView2
(引用自8楼)

我去了解下看看是啥。

出0入36汤圆

 楼主| 发表于 2023-8-25 18:14:09 | 显示全部楼层
lovelywwei 发表于 2023-8-25 16:59
前端各种名词术语,各种框架,技术更新很快吧。这种跨平台的技术,不管是上位机软件还是APP,是不是都是嵌 ...
(引用自9楼)

现在流行把网页给打包了。

出0入36汤圆

 楼主| 发表于 2023-8-25 18:17:50 | 显示全部楼层
honami520 发表于 2023-8-25 17:10
别学这个了,好好的搞嵌入式多好。
这个都是做互联网的那帮家伙弄出来的一些框架类的东西,更新起来真的是 ...
(引用自11楼)

闲着也是闲着,想看看他们是咋玩,简单的东西可以自己搞,找人搞也行,但是特定行业,沟通麻烦。
学了不一定要自己搞,知道这些玩意是咋整的,和别人合作搞东西,容易和别人沟通。

出0入36汤圆

 楼主| 发表于 2023-8-25 18:18:03 | 显示全部楼层
ffbiao 发表于 2023-8-25 17:41
lz是做加油机设备及通信行业?
(引用自12楼)

监管。。。。

出0入36汤圆

 楼主| 发表于 2023-8-25 18:19:22 | 显示全部楼层
albert_w 发表于 2023-8-25 17:49
简单粗暴挺好的.
go里面貌似可以直接启动浏览器, 后台启动浏览器跟着起来.  再搞个websocket双向交互倒也 ...
(引用自14楼)

我也不打算搞前端,我最多用go搞搞后端,然后前端给别人去做,前端花样太多,玩的费事。

出0入224汤圆

发表于 2023-8-25 19:42:01 | 显示全部楼层
我刚好相反,原来用C#搞windows软件,现在也用C#搞后端。

出0入0汤圆

发表于 2023-8-25 20:57:07 | 显示全部楼层
yyts 发表于 2023-8-25 19:42
我刚好相反,原来用C#搞windows软件,现在也用C#搞后端。
(引用自20楼)

具体搞些什么?

出0入224汤圆

发表于 2023-8-25 21:26:18 | 显示全部楼层
留声而过 发表于 2023-8-25 20:57
具体搞些什么?
(引用自21楼)

windows软件就很多了,十来年了,串口的,usb,tcp,udp,http,mqtt都有。后端主要 做了显示屏集群信息发布系统,也是跨平台的,可以部署在windows和linux(x86和arm64,像树莓派,香橙派)平台,有些用户需要私有化部署,就可以给他们配一台嵌入式的,console应用也很多,包括x86,x64上运行的,也有在arm linux中运行的。

出20入25汤圆

发表于 2023-8-25 21:41:15 来自手机 | 显示全部楼层
yyts 发表于 2023-8-25 21:26
windows软件就很多了,十来年了,串口的,usb,tcp,udp,http,mqtt都有。后端主要 做了显示屏集群信息 ...
(引用自22楼)

C#运行在开发板上,效率如何

出0入0汤圆

发表于 2023-8-25 21:49:36 | 显示全部楼层
yyts 发表于 2023-8-25 21:26
windows软件就很多了,十来年了,串口的,usb,tcp,udp,http,mqtt都有。后端主要 做了显示屏集群信息 ...
(引用自22楼)

c#也能跨平台啊

出0入224汤圆

发表于 2023-8-25 22:27:36 | 显示全部楼层
本帖最后由 yyts 于 2023-8-25 22:31 编辑
chenchaoting 发表于 2023-8-25 21:41
C#运行在开发板上,效率如何
(引用自23楼)


没有详细测过,现在硬件大部分性能都比较强大,没碰到过什么性能问题,嵌入式上面,使用uart,SPI,gpio,iic这些也都很方便,各种网络相关的协议等,对比直接用c语言开发,简直太爽了。

出0入224汤圆

发表于 2023-8-25 22:28:52 | 显示全部楼层
留声而过 发表于 2023-8-25 21:49
c#也能跨平台啊
(引用自24楼)

可以的,Windows,macOS,linux。X86/64,arm32/arm64都可以。

出0入0汤圆

发表于 2023-8-25 22:49:30 | 显示全部楼层
yyts 发表于 2023-8-25 22:28
可以的,Windows,macOS,linux。X86/64,arm32/arm64都可以。
(引用自26楼)

需要学习什么新东西吗?或者安装什么软件才能跨平台?

出0入224汤圆

发表于 2023-8-25 23:08:21 | 显示全部楼层
留声而过 发表于 2023-8-25 22:49
需要学习什么新东西吗?或者安装什么软件才能跨平台?
(引用自27楼)

可以直接编译成跨平台的,但是要目标机器上安装.NET Core 运行库,也可以直接编译成指定平台运行的程序。

出0入36汤圆

 楼主| 发表于 2023-8-26 09:13:55 来自手机 | 显示全部楼层
yyts 发表于 2023-8-25 19:42
我刚好相反,原来用C#搞windows软件,现在也用C#搞后端。
(引用自20楼)

你的设备性能高,可以装上.net的环境,我用的arm9,根本跑不起来……用go做的后端……我现在不管性能高低,只要能跑的起Linux,统一用go  ,这样就搞一份代码就好了。

出0入228汤圆

发表于 2023-8-26 09:36:12 | 显示全部楼层
go还是挺方便的,
特别是布署,一个文件拷过去就行了。
PC, 安卓盒,安卓手机,路由器,linux开发板.....      全搞定

出0入115汤圆

发表于 2023-8-26 10:01:23 来自手机 | 显示全部楼层
c#跨平台除了界面没有windows那么方便外,搞后端真的非常舒服,现在硬件真心不值钱。

出0入0汤圆

发表于 2023-8-26 10:37:15 | 显示全部楼层
太复杂了,每个部分用不同的语言,不知道要学多少种,如果全部用C写多好啊

出0入224汤圆

发表于 2023-8-26 11:00:33 | 显示全部楼层
本帖最后由 yyts 于 2023-8-26 11:04 编辑
contonuncle 发表于 2023-8-26 10:37
太复杂了,每个部分用不同的语言,不知道要学多少种,如果全部用C写多好啊 ...
(引用自32楼)


这么说的,我开始用的C写嵌入式程序,然后用C++builder,再到后面,C#写windows端软件,控台软件,都是直接就用的,没有买过或看过一本关于C++、C#的书(包括电子书)。

出0入224汤圆

发表于 2023-8-26 11:03:00 | 显示全部楼层
redworlf007 发表于 2023-8-26 09:13
你的设备性能高,可以装上.net的环境,我用的arm9,根本跑不起来……用go做的后端……我现在不管性能高低 ...
(引用自29楼)


嗯,主要是用习惯了,c#写windows上面带界面的软件,也非常方便,visual studio也基本上是最好用的IDE。嵌入式嘛,现在也有2,30块钱的芯片,就能跑得起来的。

出0入36汤圆

 楼主| 发表于 2023-8-26 11:03:33 来自手机 | 显示全部楼层
contonuncle 发表于 2023-8-26 10:37
太复杂了,每个部分用不同的语言,不知道要学多少种,如果全部用C写多好啊 ...
(引用自32楼)

html  css  ts  go ,面向搜索引擎、面向群友的编程,哈哈。

出0入0汤圆

发表于 2023-8-26 11:04:56 | 显示全部楼层
yyts 发表于 2023-8-26 11:00
这么说的,我开始用的C写嵌入式程序,后面用C#写windows端软件,控台软件,都是直接就用的,没有买过或看 ...
(引用自33楼)

C#我很久很久以前做過串口工具,當然是用微軟VS寫的,好巨大的開發軟件,現在也是用這個嗎?

出0入0汤圆

发表于 2023-8-26 11:06:18 | 显示全部楼层
redworlf007 发表于 2023-8-26 11:03
html  css  ts  go ,面向搜索引擎、面向群友的编程,哈哈。
(引用自35楼)

很恐怖,4門語言了

出0入224汤圆

发表于 2023-8-26 11:08:30 | 显示全部楼层
contonuncle 发表于 2023-8-26 11:04
C#我很久很久以前做過串口工具,當然是用微軟VS寫的,好巨大的開發軟件,現在也是用這個嗎? ...
(引用自36楼)

是,还好吧,毕竟里面可以包含的东西很多,用起来也非常流畅,大小嘛,哪怕是现在的C++builder也有几十G。

出0入0汤圆

发表于 2023-8-26 11:24:10 | 显示全部楼层
yyts 发表于 2023-8-26 11:08
是,还好吧,毕竟里面可以包含的东西很多,用起来也非常流畅,大小嘛,哪怕是现在的C++builder也有几十G ...
(引用自38楼)

我知道開發控制臺、界面可以在VS上面做(界面又很恐怖分了兩種方式)
跨平臺又是怎樣回事?VS上面直接開發linux東西?

出0入224汤圆

发表于 2023-8-26 11:28:59 | 显示全部楼层
contonuncle 发表于 2023-8-26 11:06
很恐怖,4門語言了
(引用自37楼)




其实自己写起来还好,像之前这套就是全部自己一个人写的,包括像上面这种自定义的组件,就是有些细节,不熟的话,太费时间,特别是一些界面的小调整之类的。所以后面的,我就直接找人开发前端,速度快很多,要什么细节也能随便提。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入224汤圆

发表于 2023-8-26 11:31:10 | 显示全部楼层
本帖最后由 yyts 于 2023-8-26 11:40 编辑
contonuncle 发表于 2023-8-26 11:24
我知道開發控制臺、界面可以在VS上面做(界面又很恐怖分了兩種方式)
跨平臺又是怎樣回事?VS上面直接開 ...
(引用自39楼)


我现在开发的linux,没有界面的,比如这种网页的后端软件,不需要界面,windows上开发,在windows上能可以跑,复制到linux上(不用重新编译),也能直接跑。

出0入228汤圆

发表于 2023-8-26 11:34:41 | 显示全部楼层
electron是做web前端的家伙也想挣桌面软件的钱折腾出来的玩意,当然也有了跨平台功能,本质是html+js

win桌面软件的话,还是专用软件合适
delphi,c#,都能干
哪怕用e语言也是方便的,
国内还有个叫aardio,更好。

我自己是:

单片机:C

服务类(不带界面):go  语言   ,X86 (win, linux,osx) , 其他硬件架构基本也都支持,比如在电脑 上调试好了一个程序 ,重新编译一下,就放进路由器里去跑了。或者放在树莓派上。

安卓: 这是不能不用的平台,很多项目,安卓才合适,便宜又好用几十块的电视盒就能上项目。我是用B4A 来开发
老外的软件,用vb语法开发安卓程序,编译出来的apk很小的,各种库。
特别是做些现场使用的调试软件 ,非常方便。不用抱着个电脑 跑来跑去的,一个手机搞定,现在手机都支持usb otg,一个usb串口就行了,或者通过蓝牙串口。
当然,go也能写安卓程序(后台服务),写个安卓apk,启动go程序 就好了。

WIN或linux上的偶尔的gui程序: 也用b4a同一家出产的  B4J ,相同的VB语法,只是要装个java运行包。  win,mac,linux 通吃。

哦,这家公司还有个软件B4i,用vb来开发ios程序 。我没玩过。
还有个B4R, 用VB写单片机,也没玩过。

出0入224汤圆

发表于 2023-8-26 11:39:13 | 显示全部楼层
contonuncle 发表于 2023-8-26 11:06
很恐怖,4門語言了
(引用自37楼)

这4个东西,其实可以直接在 VS 的一个项目里面开发。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出105入79汤圆

发表于 2023-8-27 17:01:31 | 显示全部楼层
你做了我最近一年想入手的gui框架,js要很熟悉,html5,css, vue 都要时间学习。

目前用的是pyqt5,pyqt6,一个人开发速度快好维护,但是界面比较简单,app打包也要30M,需要打包python环境。但是你这个要50M,后面对接opencv ffmpeg不太方便?

出0入42汤圆

发表于 2023-8-27 17:45:10 来自手机 | 显示全部楼层
contonuncle 发表于 2023-8-26 10:37
太复杂了,每个部分用不同的语言,不知道要学多少种,如果全部用C写多好啊 ...
(引用自32楼)

c写界面会想死,等徒手抽象出来发现它和c++也差不多了。
c写单片机都嫌麻烦了?

出0入22汤圆

发表于 2023-8-27 20:13:27 | 显示全部楼层
albert_w 发表于 2023-8-27 17:45
c写界面会想死,等徒手抽象出来发现它和c++也差不多了。
c写单片机都嫌麻烦了? ...
(引用自45楼)

写单片机用什么东东?

出0入115汤圆

发表于 2023-8-27 22:13:47 来自手机 | 显示全部楼层
写界面还是qt或者安卓舒服。

出0入0汤圆

发表于 2023-8-27 22:15:23 | 显示全部楼层
yyts 发表于 2023-8-26 11:31
我现在开发的linux,没有界面的,比如这种网页的后端软件,不需要界面,windows上开发,在windows上能可 ...
(引用自41楼)

是不是由於C#編譯出來是中間語言,然後去到LINUX運行就不用編譯?

出0入0汤圆

发表于 2023-8-27 22:18:35 | 显示全部楼层
yyts 发表于 2023-8-26 11:39
这4个东西,其实可以直接在 VS 的一个项目里面开发。
(引用自43楼)


不太瞭解vue是什麽東西?
我現在瞭解,JS有點像C或者C++,他和HTML搭配是開發網頁或者叫前端,好像微信也是JS+HTML這樣
後端(沒節目,命令行)的話可以C#/C++/PYTHON這些語言開發,似乎有界面的本地程序也是這些語言?

出100入312汤圆

发表于 2023-8-27 23:29:20 | 显示全部楼层
全栈大神很多
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-15 18:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表