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

2020-10-31 14:29:27 +08:00
 MasterMonkey

现有技术栈:

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 的发展,又担心微软天天折腾

各位老哥有什么建议?

11572 次点击
所在节点    程序员
112 条回复
MasterMonkey
2020-11-01 13:00:38 +08:00
@3dwelcome 我们这边一半一半
MasterMonkey
2020-11-01 13:25:30 +08:00
@andytao 去看了你的神作,确实不错
wangyzj
2020-11-01 13:54:31 +08:00
1
MasterMonkey
2020-11-01 14:05:27 +08:00
@wangyzj 看来 Web 人气是相当的高。现在的场景就是小马过河,看来我的自己试一试了
xuanbg
2020-11-01 14:23:00 +08:00
vue 什么的没搞过的话,估计还得踩踩坑。没有跨平台需求 wpf 不香吗?
jeffw
2020-11-01 15:42:34 +08:00
当然是继续.NET最多.NET Framework 换成.NET Core,不过最好原封不动,有时间干点别的他不香吗?
再说要做 Web 或小程序的话,用 ASP.NET Core 起个 WebAPI,之前的一些.NET 代码也可以复用,何乐而不为?
MasterMonkey
2020-11-01 16:00:10 +08:00
@jeffw 我基本也是这个想法,还是聚焦在.NET 上面。

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

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

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

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

可以用 js 或者 c++扩展
h82258652
2020-11-02 09:20:10 +08:00
@AndyAO #55
原来是我记错了,看了下 about,发现有 github 源码,还是 c++ 的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720460

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX