小团队 Windows 桌面客户端程序用什么技术栈比较好?大家有什么建议 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
MasterMonkey
V2EX    程序员

小团队 Windows 桌面客户端程序用什么技术栈比较好?大家有什么建议

  •  2  
  •   MasterMonkey 2020-10-31 14:29:27 +08:00 12807 次点击
    这是一个创建于 1807 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现有技术栈:

    1. .NET+WPF(2010) 现有平台,非常老,公司主力 2. Python + Flask/Django 使用量很大,但是以自动化和脚本为主 

    备选技术栈:

    1.Nodejs+Electon 2.QT+PySide 3..Net Core+WPF 4..Net Core+Asp.NET Blazor, 给 Web 服务加壳 5..Net Core+Xamarin+Asp.NET Blazor, 混合程序,进程内复用 

    预期未来会持续迁移到 Web/Mobile/小程序,看好 Web 技术和未来.Net 5/6 的发展,又担心微软天天折腾

    各位老哥有什么建议?

    第 1 条附言    2020-11-01 16:03:37 +08:00
    谢谢各位,前端的世界果然是大。

    我总体的想法是,依然立足.NET, 特别是.NET 5 要发布了。

    但是引入点 Web 技术,特别是 Blazor 也是不错的,这样很多功能性的东西,后端的工程师也可以上手做下,估计 Team 的生产力会提升。

    小的功能就不要分前后端了。

    前面有点调查,今天正在 Goolge 和编码中,看看可不可以有个玩具做出来,晚上和大家分享。
    第 2 条附言    2020-11-01 17:38:50 +08:00
    我做了一个 demo,感觉还不错,自己觉得挺酷的, 大家给看看 https://github.com/congzhangzh/desktoploveblazorweb

    不得不说,前端的朋友真是多呀,但是感觉追微软技术的不多,而我呢,对微软还是爱得深沉,哈哈哈。

    有用微软技术的给看看,提点意见。

    我晚上看看能不能发布成 dotnet new 模板,方便需要的人使用。
    第 3 条附言    2020-11-02 13:53:14 +08:00
    顺便说下,部分朋友说的熟练什么用什么的问题,我这边情况比较复杂,公司除了主力的各种 WPF 平台程序外,还有历史遗留的老程序:

    1. 一些基于 MFC 的工具,功能不复杂,但是已经没人维护了,也没人愿意维护了
    2. 一些交互和状态比较复杂的命令行程序,需要升级带界面,提高用户友好性

    这些程序,用 asp.net blazor 交给后端程序员重写,生产力不知道高到哪里去了,准备先试水让这老古董下岗
    第 4 条附言    2020-11-13 18:11:31 +08:00
    .net 5 发布了,激动的不行,整合了 .NET 5&WPF&WebView2, 非常酷

    https://github.com/congzhangzh/desktoploveblazorweb/tree/wpf_wip
    第 5 条附言    2021-03-02 23:07:16 +08:00
    现在明白了,就是懒!
    还是用 Blazor 吧!
    第 6 条附言    2021-03-02 23:10:11 +08:00
    总体上而言,我觉得这个想法还是很赞的,而且方案本身应该非常稳定,毕竟程序边界是真的浏览器边界,互相不影响,不怕微软的 binding 乱折腾。https://github.com/congzhangzh/desktoploveblazorweb
    112 条回复    2020-11-04 21:22:46 +08:00
    1  2  
    MasterMonkey
        1
    MasterMonkey  
    OP
       2020-10-31 14:49:57 +08:00
    自己顶一下,现在是不是没人开发客户端软件了?
    renmu123
        2
    renmu123  
       2020-10-31 15:21:05 +08:00 via Android   1
    那就 Electon,多平台复用,也能直接上 web 。正好也为之后的小程序做技术积累
    annielong
        3
    annielong  
       2020-10-31 16:11:23 +08:00
    跨平台还是 Electon,不跨平台还是 net,
    JerryCha
        4
    JerryCha  
       2020-10-31 17:04:23 +08:00
    直接开发成 web 版,然后套个 Electron
    jorneyr
        5
    jorneyr  
       2020-10-31 17:47:01 +08:00
    Sciter 可以试试,JS 的,描述说打出来的包比 Electron 和 Qt 小很多。
    zhuangzhuang1988
        6
    zhuangzhuang1988  
       2020-10-31 18:21:54 +08:00 via Android   1
    熟悉哪个用哪个
    MasterMonkey
        7
    MasterMonkey  
    OP
       2020-10-31 19:54:35 +08:00 via iPhone
    最近.net 5 快发布了,加上 blazor 很火,心里痒痒。想迁移到到新的.net 5 平台,但是 blazor 好像没有官方的 UI 组件库,有点拿不定主意。
    MasterMonkey
        8
    MasterMonkey  
    OP
       2020-10-31 19:55:12 +08:00 via iPhone
    @jorneyr Sciter 更小众了吧?
    MasterMonkey
        9
    MasterMonkey  
    OP
       2020-10-31 20:05:37 +08:00 via iPhone
    @zhuangzhuang1988 团队技术 zhan 栈很老,想趁机升级下,有没有未来 5 年可延续的技术平台?
    MasterMonkey
        10
    MasterMonkey  
    OP
       2020-10-31 20:06:39 +08:00 via iPhone
    @JerryCha 也是这个意思
    MasterMonkey
        11
    MasterMonkey  
    OP
       2020-10-31 20:07:23 +08:00 via iPhone
    @renmu123 嗯,web 有前途
    MasterMonkey
        12
    MasterMonkey  
    OP
       2020-10-31 20:08:02 +08:00 via iPhone
    @annielong 现在.net 跨平台也行吧?
    beginor
        13
    beginor  
       2020-10-31 20:55:29 +08:00 via Android
    建议转 Web,客户端用 cefsharp 包装一下, 调用 Windows API 还是 csharp 方便
    ysc3839
        14
    ysc3839  
       2020-10-31 21:35:45 +08:00 via Android
    不考虑程序体积的话,还是用 Web 那一套吧,跨平台方便。
    ysc3839
        15
    ysc3839  
       2020-10-31 21:39:18 +08:00 via Android
    @MasterMonkey #8 Sciter 用的人少可能是因为商用要收费,在 Web 技术免费且生态丰富的情况下,优势并不明显。
    WangLiCha
        16
    WangLiCha  
       2020-10-31 21:39:29 +08:00
    桌面端跨平台的话我觉得意义不大,除非有明确的 macOS 和 Linux 的需求,纯桌面端怎么说都感觉是 WPF 最合适。当然 WPF 是严格限定在了纯 Windows 平台,.Net Core + WPF 最大的意义可能也就是复用一下 dll 。Xamarin 的话目前确实被 Google 的 Flutter 吊着打,之后又要被 MAUI 取代,至少不建议尝试 Xamarin 。
    hjc4869
        17
    hjc4869  
       2020-10-31 21:41:03 +08:00
    短期先快速迁移到 .NET 5 + WPF 然后苟着吧,后面会怎么样都不清楚。
    MasterMonkey
        18
    MasterMonkey  
    OP
       2020-10-31 21:54:44 +08:00
    @hjc4869 理解,这个暂时是行得通的。但是,忍不住想带点 Web 技术,Web 太强了
    JavaDeveloper
        19
    JavaDeveloper  
       2020-10-31 21:57:06 +08:00
    1
    MasterMonkey
        20
    MasterMonkey  
    OP
       2020-10-31 22:00:05 +08:00
    @WangLiCha 你说的对,Xamarin 感觉鸡肋的很,又要出 Maui 了,又是大重构,微软天天折腾。连个的控件库都没有,好歹提升下生产力。

    又要 Maui,又要搞 MVU,Xamarin 又是大升级,感觉微软是财大气粗,啥都想搞一下,结果呢,全是备胎技术。

    我还是盯住 Asp.Net Blazor 技术吧,然后加个浏览器壳,这个技术,微软应该不汇乱折腾吧。不想用 WPF 了,开发人员很难招,Web 人才更多点。
    MasterMonkey
        21
    MasterMonkey  
    OP
       2020-10-31 22:01:52 +08:00
    但是呢,Web 有点乱,我们是传统的团队,业务导向型的,太 Web 的话,我们又搞不来。
    wzzzx
        22
    wzzzx  
       2020-10-31 22:03:17 +08:00
    如果未来会逐渐迁移的话,建议还是 Electon 。
    MasterMonkey
        23
    MasterMonkey  
    OP
       2020-10-31 22:04:10 +08:00
    @beginor 嗯,Windows 和 C#一直用,但是我想用 webview_sharp, 挺轻量级的
    MasterMonkey
        24
    MasterMonkey  
    OP
       2020-10-31 22:06:46 +08:00
    @wzzzx 除了壳,另一个头疼的组件库,web 选择好多,选择恐惧症来了!
    beginor
        25
    beginor  
       2020-10-31 22:20:53 +08:00 via Android
    @MasterMonkey cef 就是嵌入的 chrome 呀,我们已经在用了, 前端三大框架选一个就行
    MasterMonkey
        26
    MasterMonkey  
    OP
       2020-10-31 22:28:51 +08:00
    @beginor 请教下这个和.net single file 发布模型兼容不?

    另外,我是想找一个轻量级的浏览器方案,直接用系统自带的,自己就不带了,太大。
    gainsurier
        27
    gainsurier  
       2020-10-31 22:29:18 +08:00 via iPhone
    还是 electron 吧,好招人,好迁移。。已经把 qt 和.Net 秒了
    MasterMonkey
        28
    MasterMonkey  
    OP
       2020-10-31 22:34:55 +08:00
    @gainsurier 理解,关键是公司里面 C#+WPF 大把工程师,换成纯 Web 的话,步子还是很大的。但是也明白,Web 绕不开,是终极解决方案。 所以微软 Blazor 这种 C#+HTML+CSS 的方案对我们还挺有吸引力的。
    FreeEx
        29
    FreeEx  
       2020-10-31 22:45:07 +08:00 via iPhone
    换个靠谱的 web 工程师很难的,现在很多也都仅仅只是会写页面而已
    missdeer
        30
    missdeer  
       2020-10-31 23:05:14 +08:00
    在大公司用 Qt,但仅限于 Windows 和 Linux,在 mac 上还是用 swift cocoa 写的
    jin7
        31
    jin7  
       2020-10-31 23:07:53 +08:00
    不是熟悉什么用什么么...
    edk24
        32
    edk24  
       2020-10-31 23:12:03 +08:00
    跨平台 electron, 不跨平台易语言 /滑稽
    MasterMonkey
        33
    MasterMonkey  
    OP
       2020-10-31 23:16:20 +08:00
    @edk24 易语言,没用过
    dhssingle
        34
    dhssingle  
       2020-10-31 23:40:54 +08:00
    新项目可以尝试下 Blazor 。
    MAUI 替代的是 Xamarin.Form,这两都是基于 Xamarin,Xamarin 应该会合并到 .NET 6.0 中。
    也可以看一下 Uno Platform,也是基于 Xamarin 开发的。
    IDAEngine
        35
    IDAEngine  
       2020-11-01 00:18:44 +08:00 via iPhone
    electron 足够了,没必要整太复杂
    lxilu
        36
    lxilu  
       2020-11-01 00:36:50 +08:00 via iPhone
    要用 electron 请考虑 miniblink 和 mini-electron, 10M 级
    cszchen
        37
    cszchen  
       2020-11-01 00:38:32 +08:00
    electron + quasar
    quasar 一套代码能打包多个平台,封装的还不错,配合 electron 很快出成果
    chengxiao
        38
    chengxiao  
       2020-11-01 00:45:43 +08:00
    既然有 Python 的技术栈,当然是 PyQt 喽,也可以跨平台
    wzhy
        39
    wzhy  
       2020-11-01 01:08:59 +08:00
    微软确实喜欢瞎折腾,不知道什么毛病……绑定在它的技术栈上,不一定是好的选择。
    xcstream
        40
    xcstream  
       2020-11-01 01:47:37 +08:00
    electron 最快乐
    jones2000
        41
    jones2000  
       2020-11-01 02:35:18 +08:00
    Windows 上用 C++ MFC, 所有 UI 可以使用 GDI,GDI +,openGL 等绘制.
    另外不能因为要多平台而使用一套代码,这样性能很差. 最好是采用代码移植的方法。
    charlie21
        42
    charlie21  
       2020-11-01 02:50:49 +08:00   1
    还是建议 WPF

    Electron 这种垃圾玩意五年之后还在不在都不一定了

    不要低估 node.js 那帮人的实力

    (即使 五年后 Electron 还在,它也不是 2020 年的 Electron 了。

    兼容性是什么?倒行逆施。反倒是 你一旦踏上 Electron 这种东西,你就得年年随着它的最新更新而推翻重写。这就是 js 界的阳谋,反正大家都不失业。年年重写嘛谁会失业,那肯定是不肯重写的要失业了

    本该用 2022 年的 Electron 了,你还在用 2020 年的 Electron,你肯定失业
    你 2018 年写的 Electron app 现在还能跑吗?

    不过也不怪 node.js 那帮人,node.js 那帮人就没有考虑兼容性的资格

    可是你 2010 年写的 WPF 软件在 2020 年还能跑.
    mattxlee
        43
    mattxlee  
       2020-11-01 02:57:57 +08:00   1
    只是 Windows 用.net 是最好的。
    charlie21
        44
    charlie21  
       2020-11-01 03:03:47 +08:00
    为什么没人担心自己会被替换掉呢?就是逐渐把你们替换掉:

    只要开始写 Electron 了,写 Electron 的人就是要逐渐把你们写 WPF 的给替换掉。到时候余下的你们不得不陪着 node.js 那帮人年年学新招式,陪他们内卷。这叫引狼入室( 彼时看公司人员构成,WPF 小团队已经被砍掉了,客户端都是写 Electron 的了 而且是年年追着最新版的 Electron )

    被替换的人 自然就担心,替换人的人 自然就不担心,那无知的孩子:她那时候还太年轻,不知道所有命运赠送的礼物,早已在暗中标好了价格。 你就是这价码的一部分,那分不清什么叫 优胜劣汰、引狼入室、良币驱逐劣币、劣币驱逐良币的人 就是这价码的一部分
    quan01994
        45
    quan01994  
       2020-11-01 06:46:14 +08:00
    maui
    应该可以
    t6attack
        46
    t6attack  
       2020-11-01 07:57:47 +08:00
    要么向底层+高效迈进,转 QT C++。要么保持 .NET WPF 不动 。如果 PC 客户端很重、略卡。那做客户端的意义又在哪?
    MasterMonkey
        47
    MasterMonkey  
    OP
       2020-11-01 09:13:22 +08:00 via iPhone
    @jones2000 MFC 做 UI 程序生产力太低了吧,这个不好
    MasterMonkey
        48
    MasterMonkey  
    OP
       2020-11-01 09:15:19 +08:00 via iPhone
    @charlie21 嗯,同感,上了 js 的道,就必须天天升级了。
    MasterMonkey
        49
    MasterMonkey  
    OP
       2020-11-01 09:18:07 +08:00 via iPhone
    @charlie21 啥,太深奥?
    MasterMonkey
        50
    MasterMonkey  
    OP
       2020-11-01 09:20:14 +08:00 via iPhone
    @quan01994 这个不太靠谱吧,还在实验,一块大饼!感觉会被坑
    MasterMonkey
        51
    MasterMonkey  
    OP
       2020-11-01 09:22:31 +08:00 via iPhone
    @t6attack 客户端是业务需求了,用什么技术的话,主要是考虑好开发、好维护、方便和设计团队合作
    AndyAO
        52
    AndyAO  
       2020-11-01 09:26:33 +08:00
    @MasterMonkey #47
    我也有这种感觉 MFC 是个老古董,没记错的话是直接调用 WinAPI 绘制控件之类的,UI 稍微复杂点就效率很低.
    h82258652
        53
    h82258652  
       2020-11-01 09:29:18 +08:00   1
    还是要看需求啊,你像 telegram 这种聊天的基本就是网络请求的,用 electron 就很适合。但要做那种工控的,一堆 native 调用的,用 WPF 就适合很多。如果是高性能要求的,例如实时视频直播的,WPF 都不行,只能上 C++。
    UFc8704I4Bv63gy2
        54
    UFc8704I4Bv63gy2  
       2020-11-01 09:38:29 +08:00 via Android
    我看了全部是回复,居然没有 delphi c++builder vb,我感到很神奇,认真做一套方案至少可以卖 30 年
    AndyAO
        55
    AndyAO  
       2020-11-01 10:13:56 +08:00   1
    @h82258652 #53
    telegram 的 Windows 客户端用的并非 Electron.
    alonehat
        56
    alonehat  
       2020-11-01 10:25:47 +08:00
    用 python 和 node 写桌面应用亏能真的做出来,不追求点开发速度-性能-稳定性的平衡嘛。electron 难用到爆,资源占用不说,开发起来坑就慢慢踩吧,上几个月做个工控没累死,最后砍了,用 wpf 重做。原生的多好不说,.netcore 基本是最前列的高级语言了,还考虑别的跨平台属实没必要
    hotsymbol
        57
    hotsymbol  
       2020-11-01 10:29:55 +08:00
    最简单的难道不是。全平台切换到 Linux 。这样就不需要再考虑垃圾的 DotNet 了
    cassyfar
        58
    cassyfar  
       2020-11-01 10:40:00 +08:00
    推荐这个 Nodejs+Electon

    你只需要招一个大佬把架子搭好,之后就是前端编程了,不愁招不到能干的人。
    IsaacYoung
        59
    IsaacYoung  
       2020-11-01 10:45:28 +08:00
    Electron 吧。。。虽然大
    nicevar
        60
    nicevar  
       2020-11-01 10:48:05 +08:00   1
    看需求,如果需求复杂又追求性能的用 Electron 就是往火坑里跳,你们都有资源为啥不选 WPF ?这不没事找虐么,至于你要迁移 Web/Mobile/小程序完全可以用其他方案,没必要把系统差异巨大的东西非要整成一套,结果做出个四不像。即使是 2020 了,那些大型长期使用的应用大多还是 C 、C++的,Electron 开发来的大多是辅助类的。
    MasterMonkey
        61
    MasterMonkey  
    OP
       2020-11-01 11:02:19 +08:00
    @weiqk 我以为现在没人用了呢
    MasterMonkey
        62
    MasterMonkey  
    OP
       2020-11-01 11:04:05 +08:00
    @alonehat WPF 这个完全赞同,公司用了 10 年了,非常好。现在 Web 火,公司在转型,想留点余地,慢慢引入一些 Web 技术
    MasterMonkey
        63
    MasterMonkey  
    OP
       2020-11-01 11:04:40 +08:00
    @alonehat

    >>.netcore 基本是最前列的高级语言了
    这个赞同
    MasterMonkey
        64
    MasterMonkey  
    OP
       2020-11-01 11:07:52 +08:00
    @cassyfar 我们 Team 还没有 Web 前端的氛围,后端工程师为主,需要一些对后端友好的方案,想试下 Blazor
    MasterMonkey
        65
    MasterMonkey  
    OP
       2020-11-01 11:09:04 +08:00
    @nicevar 有资源,但是不富裕。整体团队比较大,我们能使用的资源不多。
    MasterMonkey
        66
    MasterMonkey  
    OP
       2020-11-01 11:10:29 +08:00
    @IsaacYoung 如果程序是一个 Web,直接嵌一个原生浏览器,用浏览器打开应该也可以,省去打包一个浏览器。
    9dP06m83vIV00l72
        67
    9dP06m83vIV00l72  
       2020-11-01 11:47:42 +08:00   2
    @MasterMonkey 推荐一个方案:
    GTK + Vala,写法上和 WPF + C# 类似,原生的,控件组合非常灵活,只要你充满想象力,都可以实现目标;

    Windows 的支持打包已实现:
    https://datatable.online/zh/blog/002-how-to-depoy-gtk-app-on-windows.html

    MacOS 的支持和打包已实现:
    https://datatable.online/zh/blog/004-how-to-deploy-gtk-app-on-mac.html

    有成功经验,不用自己摸索,我用这套技术栈已实现数据库工具,项目网站在这里:
    https://datatable.online/zh/
    loginbygoogle
        68
    loginbygoogle  
       2020-11-01 11:52:16 +08:00
    如果有 win32 开发基础,当然 flutter,没有的话,什么都无所谓
    qdwang
        69
    qdwang  
       2020-11-01 12:06:16 +08:00   1
    马上.net 5 了,用 Blazor 就完事了,要注意的就是客户端 wasm 里跑的是解释方式运行的代码,性能拉跨,你可以测测看。

    等.net 6 里 blazor 支持 aot 了才能解决。

    如果对客户端性能要求不高,或者是能等到.net 6 发行,就没问题。
    ebony0319
        70
    ebony0319  
       2020-11-01 12:09:46 +08:00 via Android   1
    小团队建议考虑技术风险与成本。选择最成熟的。
    PopRain
        71
    PopRain  
       2020-11-01 12:13:31 +08:00
    我们一直用 C# winform ,后台逻辑 web 也可以复用; 下一步有些界面准备用 Edge WebView2 嵌套 web 试试
    tairan2006
        72
    tairan2006  
       2020-11-01 12:17:12 +08:00
    你这个技术栈 最好选 2
    namelosw
        73
    namelosw  
       2020-11-01 12:25:01 +08:00
    很显然 Electron 。

    然后有很多人用之后有钱了选啥都行,用别的效率都被吊打,小团队先出货。
    MasterMonkey
        74
    MasterMonkey  
    OP
       2020-11-01 12:49:42 +08:00 via iPhone
    @andytao gtk 太情怀了吧,哈哈
    MasterMonkey
        75
    MasterMonkey  
    OP
       2020-11-01 12:52:58 +08:00 via iPhone
    @qdwang 性能不是第一优先级,主要是要好上手,好迭代,好发布,好维护,后端友好
    MasterMonkey
        76
    MasterMonkey  
    OP
       2020-11-01 12:53:41 +08:00 via iPhone
    @ebony0319 有一定的风险容忍度
    MasterMonkey
        77
    MasterMonkey  
    OP
       2020-11-01 12:54:27 +08:00 via iPhone
    @PopRain 我也想这样干,我试一试
    MasterMonkey
        78
    MasterMonkey  
    OP
       2020-11-01 12:55:23 +08:00 via iPhone
    @tairan2006 python 写界面,感觉不是很有信心
    3dwelcome
        79
    3dwelcome  
       2020-11-01 12:55:27 +08:00 via Android
    看具体项目需求吧,用 web 界面,是为了写 ui 轻松一点。
    可有些传统客户端开发里,界面只占了很小一部分代码,大部分是功能性 cpp 代码,这就没必要迁移了。
    MasterMonkey
        80
    MasterMonkey  
    OP
       2020-11-01 12:59:52 +08:00 via iPhone
    @loginbygoogle 总感觉 flutter 会有一些不好解决的坑
    MasterMonkey
        81
    MasterMonkey  
    OP
       2020-11-01 13:00:38 +08:00 via iPhone
    @3dwelcome 我们这边一半一半
    MasterMonkey
        82
    MasterMonkey  
    OP
       2020-11-01 13:25:30 +08:00
    @andytao 去看了你的神作,确实不错
    wangyzj
        83
    wangyzj  
       2020-11-01 13:54:31 +08:00
    1
    MasterMonkey
        84
    MasterMonkey  
    OP
       2020-11-01 14:05:27 +08:00
    @wangyzj 看来 Web 人气是相当的高。现在的场景就是小马过河,看来我的自己试一试了
    xuanbg
        85
    xuanbg  
       2020-11-01 14:23:00 +08:00
    vue 什么的没搞过的话,估计还得踩踩坑。没有跨平台需求 wpf 不香吗?
    jeffw
        86
    jeffw  
       2020-11-01 15:42:34 +08:00   1
    当然是继续.NET最多.NET Framework 换成.NET Core,不过最好原封不动,有时间干点别的他不香吗?
    再说要做 Web 或小程序的话,用 ASP.NET Core 起个 WebAPI,之前的一些.NET 代码也可以复用,何乐而不为?
    MasterMonkey
        87
    MasterMonkey  
    OP
       2020-11-01 16:00:10 +08:00
    @jeffw 我基本也是这个想法,还是聚焦在.NET 上面。

    如果引入 Web,能提升下生产力的话也是不错的
    MasterMonkey
        88
    MasterMonkey  
    OP
       2020-11-01 16:00:34 +08:00
    @xuanbg 大概率将来会跨平台
    xxzs
        89
    xxzs  
       2020-11-01 17:29:57 +08:00 via Android
    Win32 我最喜欢的还是 WTL
    MasterMonkey
        90
    MasterMonkey  
    OP
       2020-11-01 17:33:16 +08:00
    @xxzs 那你肯定很老派,我只想搞定需求、搞定设计、搞定开发早点下班,哈哈哈。
    laminux29
        91
    laminux29  
       2020-11-01 17:47:06 +08:00
    项目技术选型,首先要根据需求来选。

    你需求都不说,上面那些老哥却一个劲地推荐各种方案,我也是看笑了。
    opentrade
        92
    opentrade  
       2020-11-01 18:25:24 +08:00
    桌面推荐 sciter,移动推荐 flutter,至少我的项目 https://github.com/rustdesk/rustdesk 选型是这样的
    ragnaroks
        93
    ragnaroks  
       2020-11-01 18:32:52 +08:00   1
    windows 第一选择是 dotnet(WPF/Avalon),第二选择是 c/c++(MFC/QT...)

    其他都是二的选择
    MasterMonkey
        94
    MasterMonkey  
    OP
       2020-11-01 18:57:12 +08:00 via iPhone
    @opentrade 你是又一个推荐 sciter,我去查查
    MasterMonkey
        95
    MasterMonkey  
    OP
       2020-11-01 19:08:16 +08:00 via iPhone
    @MasterMonkey 大概看了下,思路很好。照这个思路,在 dotnet 也行的,我们团队 dotnet 积累比较多
    crayygy
        96
    crayygy  
       2020-11-01 22:32:57 +08:00 via Android
    只有 Windows 个人比较推荐 .NET 平台,不是很推荐 QT,一方面上手难度大,另一个 QT 定制起来比较累,很多东西做起来并不方便。

    跨 Web 也许可以考虑 Flutter ?不负责任的推荐…现在 Flutter 应该是可以跨 Web Linux Windows 和 Mac 的,但很细节和具体的我了解不多,所以不做过多推荐
    MasterMonkey
        97
    MasterMonkey  
    OP
       2020-11-01 23:46:36 +08:00 via iPhone
    @crayygy 嗯,倾向.NET ,但是不想用 WPF 了,没啥生态。flutter 的话,我试了下,web 和桌面都支持,确实很酷,但是我感觉 flutter 在描述复杂界面时,易读性和可维护是个问题,类似用函数描述的方式整体描述界面。更喜欢 blazor 这种自由描述界面的方式。当然,新的技术,都是高度一体化,和设计团队的分工和协作再次成为问题。个人观点:)
    MasterMonkey
        98
    MasterMonkey  
    OP
       2020-11-01 23:51:11 +08:00 via iPhone
    @laminux29 兄台你的嘲讽我不完全赞同,技术和方案都会有一些时代特征的,也就是说免不了就那几个选择,一线的朋友提出几个比较好的来讲,说下自己的感受对我还是有帮助的。
    araraloren
        99
    araraloren  
       2020-11-02 09:11:54 +08:00
    QML 如何。。有一个专用的 platform Felgo

    可以用 js 或者 c++扩展
    h82258652
        100
    h82258652  
       2020-11-02 09:20:10 +08:00
    @AndyAO #55
    原来是我记错了,看了下 about,发现有 github 源码,还是 c++ 的。
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2801 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 00:27 PVG 08:27 LAX 17:27 JFK 20:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86