• 请不要在回答技术问题时复制粘贴 AI 生成的内容
gyinbj
V2EX  ›  程序员

桌面软件开发求助

  •  
  •   gyinbj · Feb 4, 2024 · 6435 views
    This topic created in 1003 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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

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

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

    https://github.com/tw93/Pake

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


    @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
    lujiaxing
    Feb 4, 2024
    42
    @lujiaxing 剩下的 WinForms / MFC / WPF 等都是只支持 Windows
    murmur
    murmur
    Feb 4, 2024
    43
    @xiaoliu926 flutter 上手曲线太陡了,那个写法不是一般人能接受的了的
    tianyige
    tianyige
    Feb 4, 2024
    44
    会走很多弯路,得不偿失,让老板外包出去比较好。
    Titzanyic
    Titzanyic
    Feb 4, 2024
    45
    Qt
    iorilu
    iorilu
    Feb 4, 2024
    46
    总之一点 , 不要以为套个 gui 简单

    事实上, 麻烦事很多的

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