V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gyinbj
V2EX  ›  程序员

桌面软件开发求助

  •  
  •   gyinbj · 2024-02-04 11:15:07 +08:00 · 4341 次点击
    这是一个创建于 365 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司要开发一个桌面软件,主要是参考现有网页版进销存重新开发一套一模一样的。

    本人无 c# py 等语言基础。

    如果能同时实现 mac 和 win 双平台安装应用最好。

    不考虑框架壳子载入网页。

    目前不知道应用什么语言,比较好。因为之前没做过桌面端软件,不太了解这方面 不想走选择语言、框架错误的弯路

    主要需求就是 上手易用,资料好找,能做出东西就行。学习能力尚可。

    62 条回复    2024-02-05 10:07:55 +08:00
    jstony
        1
    jstony  
       2024-02-04 11:16:30 +08:00
    op 不妨说一下自己熟悉哪些环境。
    sampeng
        2
    sampeng  
       2024-02-04 11:17:29 +08:00   ❤️ 1
    其实 gpt 基本能协助完成这个工作。。为啥不考虑框架壳子载入网页呢?网页只做业务交互动作。其实没啥问题。。
    electron.。。。先交付。再优化呗。。
    Donahue
        3
    Donahue  
       2024-02-04 11:17:53 +08:00
    不知道为什么不考虑框架壳子载入网页,感觉这是最省时省力的方案了~
    跨平台做得好的貌似就 qt, 复杂的不行
    stinkytofu
        4
    stinkytofu  
       2024-02-04 11:18:03 +08:00
    会 java 的话推荐 openjfx (javafx), 上手快,跨平台。缺点无非就是 java 占内存之类的, 但是相比开发速度和顺手程度来说, 都不是问题。
    sampeng
        5
    sampeng  
       2024-02-04 11:19:01 +08:00
    没有什么语言、框架错误的弯路。只有自己熟悉和去解决各种问题的能力。所谓弯路,都是和公司资源部匹配,和自己能力不匹配的。比如选 electron 的,结果公司就招不到会 electron 的或者说非常靠谱的前端。选 c#一样,你要招聘环境和公司环境里就没这样的人。。你啥都别想干
    jeepc
        6
    jeepc  
       2024-02-04 11:19:19 +08:00
    eletron
    tool2d
        7
    tool2d  
       2024-02-04 11:19:35 +08:00
    网页版挺好的啊,想从头开发的纯桌面成本很高的,肯定比你们领导预想的要高。

    框架壳子可以把网页主要资源都离线到本地,速度完全能接受的。
    jeepc
        8
    jeepc  
       2024-02-04 11:19:41 +08:00
    @jeepc electron
    zhwguest
        9
    zhwguest  
       2024-02-04 11:20:06 +08:00
    似乎这正是框架壳子载入网页的最合适应用场景之一啊
    murmur
        10
    murmur  
       2024-02-04 11:22:30 +08:00
    不考虑框架壳子载入网页,那最简单、复用性最强的方法第一个就被你排除了,你这是纯偏见啊
    XIVN1987
        11
    XIVN1987  
       2024-02-04 11:24:27 +08:00
    你现在会什么??一点都不提,,这怎么提建议

    难不成是啥都不会??
    gyinbj
        12
    gyinbj  
    OP
       2024-02-04 11:25:22 +08:00
    @jstony 什么都不熟悉 , 所以需要找一个 资料好找一些的, 学!
    gyinbj
        13
    gyinbj  
    OP
       2024-02-04 11:25:38 +08:00
    @XIVN1987 啥都不会 从头学
    sampeng
        14
    sampeng  
       2024-02-04 11:26:54 +08:00
    啥都不会?那毫无疑问是 electorn 啊。。。学习成本最低。当然要是会 rust 就是 tauri 。
    ming159
        15
    ming159  
       2024-02-04 11:30:10 +08:00
    供你们自行评估吧:
    QT :
    微软的桌面软件应该是最强的了. 但主要 C# 开发.
    WinForm: 最古老,最简单.但不好看.
    WPF. 也不难.好看
    avaloniaui: https://avaloniaui.net/
    gyinbj
        16
    gyinbj  
    OP
       2024-02-04 11:31:36 +08:00
    @ming159 winf 我到是看了, 好不好看不重要 都是自己人在用, 主要是能用! 我这边还是 sqlserver 库, 还适合我
    yh7gdiaYW
        17
    yh7gdiaYW  
       2024-02-04 11:34:53 +08:00
    啥都不会无脑 electorn ,这就是最流行的方案,别信什么网上大神的鬼话非要折腾原生应用
    0xHubNet
        18
    0xHubNet  
       2024-02-04 11:39:22 +08:00
    @gyinbj 直接 winform ,上手又快,
    iamherrylok1
        19
    iamherrylok1  
       2024-02-04 11:58:50 +08:00
    avalonia
    BD8NCF
        20
    BD8NCF  
       2024-02-04 12:38:06 +08:00
    如果不想网页套壳,那就是想原生桌面咯。要支持 mac ,C#就被否定了。
    基本上就是以下选择:
    C++ & QT
    Delphi 最版本似乎支持 mac ,不太确定

    但是工作量会比较大吧
    isnullstring
        21
    isnullstring  
       2024-02-04 13:10:23 +08:00
    不能套网页 ,跨平台 上手没那么容易了
    gbw1992
        22
    gbw1992  
       2024-02-04 13:23:07 +08:00
    要是 windows 出活快无脑 c# winform 就可以
    但是你需要跨 mac 平台
    avaloniaui 可以,但是新版本 11+,不知道有没有小坑
    需要自己去 github 去翻资料
    xiaoliu926
        23
    xiaoliu926  
       2024-02-04 13:48:58 +08:00
    居然没人推荐 flutter 。满足了 op 的所有需求
    QlanQ
        24
    QlanQ  
       2024-02-04 13:53:52 +08:00
    electron
    QlanQ
        25
    QlanQ  
       2024-02-04 13:54:08 +08:00
    tauri
    QlanQ
        26
    QlanQ  
       2024-02-04 13:54:37 +08:00
    github 找那种 web 打包成桌面运用的,一大堆,你这个就不要想重新开发了吧
    janus77
        27
    janus77  
       2024-02-04 14:02:43 +08:00
    当然 electron 了
    Zchary
        28
    Zchary  
       2024-02-04 14:14:35 +08:00
    这种活还是怎么方便怎么来吧, 你熟悉 Web 那当然选 electron, 现成的开源库在桌面端也肯定是最多的
    s127
        29
    s127  
       2024-02-04 14:34:01 +08:00
    既然是 phper ,那还是用 electron 吧。
    SayHelloHi
        30
    SayHelloHi  
       2024-02-04 14:40:43 +08:00
    利用 Rust 轻松构建轻量级多端桌面应用

    https://github.com/tw93/Pake

    看看这个行不行
    whj929159021
        31
    whj929159021  
       2024-02-04 14:43:06 +08:00
    推荐 flutter
    ccc008
        32
    ccc008  
       2024-02-04 14:46:29 +08:00
    不少公司是考虑把桌面版的 erp 、进销存替换成网页版,你们却反向操作。老板是怎么考虑的呢 有遇到特别不能容忍的问题吗
    lidayl
        33
    lidayl  
       2024-02-04 14:47:47 +08:00
    推荐 flutter 或者 compose desktop
    gyinbj
        34
    gyinbj  
    OP
       2024-02-04 15:08:00 +08:00
    @ccc008 网页版操作的时候问题很多 因为还需要库房配货、售后以及一些地方无法连接外网的环境 最终是网页+客户端都需要有 部分功能基于实际使用情况 只能用桌面软件。
    jones2000
        35
    jones2000  
       2024-02-04 15:13:35 +08:00
    关键是看预算,钱给足什么都可以搞。 不用网页, 正常的 c++前端 4-5W/年。
    0x723b
        36
    0x723b  
       2024-02-04 15:36:17 +08:00
    https://nativephp.com/
    虽然也是 electron
    duan602728596
        37
    duan602728596  
       2024-02-04 15:38:17 +08:00
    推荐 Electron 。理由如下:
    1. 你需要 mac 和 win 双平台。Electron 可以直接在 mac 平台下编译 mac 、win 、linux 的多个平台的版本。
    2. 各个平台上的 UI 效果一致,而且有丰富的组件库。如果你选择其他框架,你可能会遇到各个平台 UI 不一致,表单控件只有基础的系统组件,不支持复杂的表格,绘制图表,多路由页面不好实现等等问题。
    3. 文档:用其他的会遇到找不到文档或者啃英文文档的问题。
    4. 自带本地数据库,存储数据更方便。
    FriedRice
        38
    FriedRice  
       2024-02-04 15:39:30 +08:00
    @jones2000 你是不是少个 0
    saturn7
        39
    saturn7  
       2024-02-04 15:41:10 +08:00
    Electron 最佳选择。
    lujiaxing
        40
    lujiaxing  
       2024-02-04 15:55:04 +08:00
    @duan602728596 人家说的多清楚. 不考虑套壳子浏览器.
    lujiaxing
        41
    lujiaxing  
       2024-02-04 16:01:14 +08:00
    我发现好多人好像根本不看内容只看标题就回答了?
    ---------------------------------------------------------------------


    @gyinbj 如果是这样的话,那基本上就只有 QT 跟 Avalonia 符合你的要求了.
    Electron 理论上最合适但是被你针对性的排除了.
    Flutter 桌面端目前还处于半成品阶段.
    JavaFX 做界面非常丑, 而且缺少组件支持.
    ...
    ...
    ...
    剩下的 WinForms / MFC / WPF 等都是

    1. 跨平台, Mac / Win 都能用
    2. 一次编写, 到处使用.
    3. 免费开源.

    但是如果论易上手, 那可以直接排除 QT 了. QT 是基于 C++ 的. 如果你没有 C++ 基础, QT 就是难于登天.
    那就只剩下 Avalonia 可以选了啊...

    C# + AXAML.
    C# 相对比较好学, axaml 如果你做过前端的话是很好理解的. 原理上跟 css + html 没啥区别. 只是写起来比 CSS + html + mvvm 更复杂一点.
    lujiaxing
        42
    lujiaxing  
       2024-02-04 16:03:06 +08:00
    @lujiaxing 剩下的 WinForms / MFC / WPF 等都是只支持 Windows
    murmur
        43
    murmur  
       2024-02-04 16:06:15 +08:00
    @xiaoliu926 flutter 上手曲线太陡了,那个写法不是一般人能接受的了的
    tianyige
        44
    tianyige  
       2024-02-04 17:00:37 +08:00
    会走很多弯路,得不偿失,让老板外包出去比较好。
    Titzanyic
        45
    Titzanyic  
       2024-02-04 17:02:11 +08:00
    Qt
    iorilu
        46
    iorilu  
       2024-02-04 17:03:04 +08:00
    总之一点 , 不要以为套个 gui 简单

    事实上, 麻烦事很多的

    公司要真没一个懂得, 建议找个懂得人
    zggsong
        47
    zggsong  
       2024-02-04 17:07:43 +08:00
    啥都不会,那就 avalonia ,C#的上手快
    musi
        48
    musi  
       2024-02-04 17:22:40 +08:00
    已经有网页版了,还要一模一样的,建议 electron
    sloknyyz
        49
    sloknyyz  
       2024-02-04 17:31:30 +08:00
    说说你不考虑网页套壳的原因,可能你以为的并不是你以为的
    windstyle2
        50
    windstyle2  
       2024-02-04 17:31:53 +08:00
    flutter 上手快~
    knives
        51
    knives  
       2024-02-04 17:39:17 +08:00
    从目前的信息来看,还是建议用 Electron 。无法连接外网不意味着不能用 Electron ,Electron 是可以开发单机程序的。
    wpzz
        52
    wpzz  
       2024-02-04 17:45:51 +08:00
    @windstyle2 flutter 跨 mac&win 没有 electron 好开发,主要是社区不太够打。
    aecra
        53
    aecra  
       2024-02-04 17:50:02 +08:00 via Android
    这是个 AB 类问题吧,我的方案是直接套壳 electron ,服务器在本地起,有服务器连服务器没服务器连本地,哪用得着给自己找这么大的麻烦,干一年都不一定能干出来
    Ritr
        54
    Ritr  
       2024-02-04 17:50:09 +08:00
    winform 最简单,但是不支持 MAC
    iceloop
        55
    iceloop  
       2024-02-04 17:51:35 +08:00
    Electron 完美契合你的诉求
    djkloop
        56
    djkloop  
       2024-02-04 17:53:36 +08:00
    就看各大 pc 端客户端来说 electron 是最优解。 强如 qq 要跨端要保持界面一致性也是用的 electron 啊。更不用说飞书,钉钉这样的产品了。只能说 如果你啥都不会,在看你需求来说,这个就是最优解。js 就是最快的,学点 html 直接 vue 库库上手。
    bobguo
        57
    bobguo  
       2024-02-04 18:01:07 +08:00
    @gyinbj 这一句就暴露了你根本不了解 electron 的架构,你可以试一下断网后是不是就不能用 vscode 写代码了。
    jones2000
        58
    jones2000  
       2024-02-05 01:31:34 +08:00
    @FriedRice 哦对,是 4-5w/月, 如果即懂 win32 c++, 又会 Objective-C, 估计要翻倍了。
    darcyC
        59
    darcyC  
       2024-02-05 02:30:34 +08:00
    仔细看了很久问题,包括 OP 后续的回复和大家的回复。正常来说,如果已经有了一个前端网页的话,自然 electron 是很好的,但是我仔细揣摩了一下 OP 的回复,好像 OP 根本不会前端(根本不会 css/js/html 等)?也就是说这个前端不是 OP 控制的。你要这么说的话,我说句实在话,你还不如那种拖拖拽拽系列的经典框架更适合 OP 呢。不过不管 OP 怎么选,最终还是像其他老哥说的那样,看自己悟性和解决问题的能力。
    Fixedsys
        60
    Fixedsys  
       2024-02-05 04:24:43 +08:00
    C# + avalonia 吧,可以跨平台,包括手机,C#很好学的,还有最强 IDE Visual Studio 加持。
    Rorysky
        61
    Rorysky  
       364 天前
    网页套壳
    Crawping
        62
    Crawping  
       364 天前
    满足不套壳+跨平台
    C# avalonia
    Dart Flutter
    C++ QT
    难度逐级增加
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:07 · PVG 06:07 · LAX 14:07 · JFK 17:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.