V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gyinbj
V2EX  ›  程序员

桌面软件开发求助

  •  
  •   gyinbj · 293 天前 · 4195 次点击
    这是一个创建于 293 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

    https://github.com/tw93/Pake

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


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

    事实上, 麻烦事很多的

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