小团队 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 11:02:19 +08:00
@weiqk 我以为现在没人用了呢
MasterMonkey
2020-11-01 11:04:05 +08:00
@alonehat WPF 这个完全赞同,公司用了 10 年了,非常好。现在 Web 火,公司在转型,想留点余地,慢慢引入一些 Web 技术
MasterMonkey
2020-11-01 11:04:40 +08:00
@alonehat

>>.netcore 基本是最前列的高级语言了
这个赞同
MasterMonkey
2020-11-01 11:07:52 +08:00
@cassyfar 我们 Team 还没有 Web 前端的氛围,后端工程师为主,需要一些对后端友好的方案,想试下 Blazor
MasterMonkey
2020-11-01 11:09:04 +08:00
@nicevar 有资源,但是不富裕。整体团队比较大,我们能使用的资源不多。
MasterMonkey
2020-11-01 11:10:29 +08:00
@IsaacYoung 如果程序是一个 Web,直接嵌一个原生浏览器,用浏览器打开应该也可以,省去打包一个浏览器。
andytao
2020-11-01 11:47:42 +08:00
@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
2020-11-01 11:52:16 +08:00
如果有 win32 开发基础,当然 flutter,没有的话,什么都无所谓
qdwang
2020-11-01 12:06:16 +08:00
马上.net 5 了,用 Blazor 就完事了,要注意的就是客户端 wasm 里跑的是解释方式运行的代码,性能拉跨,你可以测测看。

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

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

然后有很多人用之后有钱了选啥都行,用别的效率都被吊打,小团队先出货。
MasterMonkey
2020-11-01 12:49:42 +08:00
@andytao gtk 太情怀了吧,哈哈
MasterMonkey
2020-11-01 12:52:58 +08:00
@qdwang 性能不是第一优先级,主要是要好上手,好迭代,好发布,好维护,后端友好
MasterMonkey
2020-11-01 12:53:41 +08:00
@ebony0319 有一定的风险容忍度
MasterMonkey
2020-11-01 12:54:27 +08:00
@PopRain 我也想这样干,我试一试
MasterMonkey
2020-11-01 12:55:23 +08:00
@tairan2006 python 写界面,感觉不是很有信心
3dwelcome
2020-11-01 12:55:27 +08:00
看具体项目需求吧,用 web 界面,是为了写 ui 轻松一点。
可有些传统客户端开发里,界面只占了很小一部分代码,大部分是功能性 cpp 代码,这就没必要迁移了。
MasterMonkey
2020-11-01 12:59:52 +08:00
@loginbygoogle 总感觉 flutter 会有一些不好解决的坑

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

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

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

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

© 2021 V2EX