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

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

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

    现有技术栈:

    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++。
    weiqk
        54
    weiqk  
       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,直接嵌一个原生浏览器,用浏览器打开应该也可以,省去打包一个浏览器。
    andytao
        67
    andytao  
       2020-11-01 11:47:42 +08:00   ❤️ 2
    @MasterMonkey 推荐一个方案:
    GTK + Vala,写法上和 WPF + C# 类似,原生的,控件组合非常灵活,只要你充满想象力,都可以实现目标;

    Windows 的支持打包已实现:
    https://datatable.online/zh/blog/002-how-to-deploy-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   ·   实用小工具   ·   3087 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.