刚好 .NET 6 发布大概看了下发布的东西,有大佬可以指教下吗
1
learnshare 2021-11-09 20:36:38 +08:00
桌面端 WinUI 是最新最好的吧,但一般都是 Electron 了,开发快
|
2
jlkm2010 2021-11-09 20:59:04 +08:00
compose for desktop 看起来也挺有意思
|
3
h82258652 2021-11-09 21:14:51 +08:00 1
1 、没有最佳,看你业务需求和团队,Electron 、Qt 都行。你说的这三个,UWP 已死,官方都推荐迁移到 WinUI 。MAUI 是 Xamarin 的进化版,没有跨平台需求用不上。
2 、asp.net core 。不用了解 ASP ,就像 Java 和 JavaScript 一样。 |
4
ysc3839 2021-11-09 21:20:35 +08:00 via Android
1. 看应用内容、需求选 GUI 框架,没有最好的选择。另外就算是用 WinUI 我个人也会选 C++。
2. 我会选择 Node.js 。 |
5
makelove 2021-11-09 21:47:09 +08:00
JavaScript 一把梭,前端 Electron + 后端 NodeJS
只有一个缺点是 electron 稍肥,但可以换系统 WebView 就瘦 不建议用 .net ,社区太小了没人用什么都要自己搞 |
6
INCerry 2021-11-09 22:10:50 +08:00 5
1. 现在写桌面端主要看你有没有跨平台的需求,如果没有,那么就用 WinUI ,在 windows 平台上最好的选择。如果需要跨平台那么 MAUI 、Avalonia 、Uno platform 都可以选择,比其它语言某些框架内存占用更低,性能也更好。但是讲真,现在工厂里面还是会用 winfrom 或者 wpf ,毕竟方便快捷。
2.后端使用 aspnetcore ,性能吊打其它语言一票的框架,另外那些黑.NET 和 C#的人,大可不必 https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext https://benchmarksgame-team.pages.debian.net/benchmarksgame/ |
7
longkas239 2021-11-10 01:45:01 +08:00
1 ) 用.net 写桌面就别看别人推荐的什么 electron ,用微软的 webview2 ,嵌套在 wpf 或者 winforms 里面,webview2 现在系统都是自带的,根本不需要像 electron 一样带一个几十 m 的包。
但是有缺点,.net 本身系统可不是自带的(系统自带的是.net framework 4.x ),.net 运行时安装方式可以选择共享方式,也就是应用程序不带运行时,也可以选择自包含运行时打包在一起。 两种方式都有缺点,不管你写桌面多么顺手,如果想做到用户安装体验好,安装包容量小,到打包发布这一环节绝对头疼。 2 )后端就根本不会考虑.net 了,用 java ,库是最多的,写什么都是有需求就立马调库写实现。 所以我才说为什么.net 6 是巧克力味的屎 |
8
Chad0000 2021-11-10 02:37:01 +08:00 via iPhone
@longkas239 Java 什么都有?有 entity framework 或者能匹敌的嘛?
|
11
hingbong 2021-11-10 07:57:18 +08:00 via Android
@Chad0000 我看了一下,好像框架上没什么,主要是语法限制了?其实我主要是 kotlin 后端,不过在后端领域上,我默认把 kotlin 算进 Java 里面了,Java 的语法是真的难受
|
12
Chad0000 2021-11-10 08:13:53 +08:00
@hingbong #11 Entity Framework 的产生依赖于 C#语言不断添加的特性:委托、泛型、扩展方法、Lambda 表达式、Linq 等等。我也只是使用而已,更深入地了解需要看其他人写的文章。
|
13
zjsxwc 2021-11-10 08:30:24 +08:00 via Android
@Chad0000
java 一般都是套 mybatis 一把梭, c#的 linq 类似于前端的 react ,而 mybatis 类似于前端的 vue ,也没见 react 压倒性的侵占 vue 的市场。 |
14
ragnaroks 2021-11-10 08:46:25 +08:00
只说当前
1:还是 WPF 占据绝对统治地位 2:传统 aspnet core ,服务端渲染 blazor ,不需要 |
15
yolee599 2021-11-10 08:50:01 +08:00 via Android
推荐 Electron 的都是主业是前端开发吧?用 Electron 开发的桌面软件非常吃配置,而且界面时不时卡顿一下,卡顿的时候整个界面感觉要崩了一样,错位了,过了一会又恢复正常了,用起来总是让人焦虑
|
16
rioshikelong121 2021-11-10 08:52:46 +08:00
@zjsxwc linq 为什么像前端的 react 呢。。真诚发问,
|
17
zjsxwc 2021-11-10 08:55:27 +08:00
|
18
wangxn 2021-11-10 09:00:25 +08:00 via Android
节能减排,助力碳中和,慎用 Electron
|
20
ly841000 2021-11-10 09:02:53 +08:00
WinUI 和 UWP 区别不大,只是运行时一个系统自带,一个要求自带
|
21
alexkkaa 2021-11-10 09:05:47 +08:00 via Android 3
说实话 现在些桌面要性能 qt 要开放速度用 electron wpf 及其衍生品 没有任何优势
后台的 asp.net core 就行 说生态差的 你是认真的吗 我只遇到过有的库 java 没有 dotnet 有 |
22
darknoll 2021-11-10 09:16:41 +08:00
不要用微软的东西
|
23
quan01994 2021-11-10 09:44:33 +08:00
可以用 WebView2 ,只要你装了 eDGE WEBVIEW2 RUNTIME .还是很好用的。
|
24
ligiggy 2021-11-10 10:30:28 +08:00 1
咱评论的时候,能不能陈述“事实”啊,上来就一顿结论的,看起来很懂似的,实际上都是瞎扯淡。
|
25
MakHoCheung OP @longkas239 系统不带 .NET? 应用要跟 Java 一样要自带 JRE ?为什么微软不把运行时绑定到系统呀。
|
26
yanjinhua 2021-11-10 10:36:00 +08:00
|
27
ysc3839 2021-11-10 10:38:52 +08:00
@MakHoCheung Windows 带 .NET Framework ,不过不同系统带的版本不一样。Win7 好像是 3.5 ,Win8-Win10 是 4.x 。
.NET Core 不自带,需要额外安装,或者打包成一个可执行文件。 |
28
MakHoCheung OP @ysc3839 这 .NET Core 不就跟 JVM 一样了吗。Swing 或者 JavaFX 应用都要自包含运行时感觉很大(虽然有了 JPMS 小了很多),我一直以为这方面 .NET 是优势,万万没想到 .NET 也要自带运行时,这样优势全没了呀(语法方面有 Kotlin )
|
29
qaz168000 2021-11-10 11:15:26 +08:00
|
30
Rwing 2021-11-10 12:18:20 +08:00 1
|
31
0o0o0o0 2021-11-10 12:37:01 +08:00
1.原始开发使用 WinUI 或者 WPF ,UWP 已经凉了,MAUI 刚发布一堆 bug ,只建议尝鲜,qt 也还行看需求,electron 、webview2 也不错就是没有原生的流畅,其实还有 flutter 现在也支持 win 桌面端了。
2.后端使用 asp.net core ,但是根据模型可以分为很多,比如 webfrom mvc webapi ,还有新的 blazor(包括 wasm 和 server)。 @MakHoCheung 不是必须,.net core (包括 .net5 6 )之后发布应用有两种方法,一种是打包运行时,直接使用即可,一种是在系统中安装运行时,那么打包时不需要打包运行时。不过 windows 发布版本(包括 windows11 )只会包含 .net framework ,而 .net core 之后的版本将会以系统更新的方式发布,或者用户自行安装。 至于为什么随系统发布,因为 .net core 之后好多版本不是向后兼容的,也就是说比如.netcore3 无法使用.net5 运行时,那么就需要安装所有的运行时,为什么不兼容呢,官方说是如果兼容就会回到.net framework 时代为了兼容牺牲而无法进步。 |
32
shuimugan 2021-11-10 12:45:05 +08:00
@MakHoCheung .net 跑官方 web api 模板项目,编译成单文件,压缩后也就 17MB ,应该不算大了。
|
34
sigl0p 2021-11-10 14:48:17 +08:00
WinUI3 之前好像不支持编译出 exe ,只能以 msix 打包发布,想做 portable 版就不行,不知道现在怎么样了。
|
35
chinvo 2021-11-10 15:02:11 +08:00 via iPhone
@MakHoCheung #28 不一样. 应用可以选自己打包所需组件进去. 也可以不打包, 用户运行时 Windows 会自动检查系统是否有, 没有会自动安装.
|
36
ian19znj 2021-11-10 15:05:47 +08:00
WinUI 只能跑在 Win10/11 上, 但很多 windows 用户还停留在 Win7, 所以 WPF 是更好的选择.
|
37
dawnh 2021-11-10 15:29:15 +08:00
|
39
liuser666 2021-11-10 17:02:28 +08:00
实话实话,微软每次都会给人希望,然后破灭。希望这次能统一一下。
|
40
sunhelter 2021-11-10 18:05:37 +08:00
|
41
TigerGod 2021-11-10 18:09:41 +08:00
|
43
encro 2021-11-10 22:01:00 +08:00
看你需要兼容的的目标机器:
win7 以下:winform win7 - win10 sdk 2019:wpf win10 sdk 2019+:winui 3 目前最佳应该还是 wpf |
44
MonoLogueChi 2021-11-11 01:56:32 +08:00 via Android
1. 提到的这仨玩意都是半残状态,要么是没开发完成,要么是已经快要被放弃的东西,现在只在 Windows 上用,wpf 挺好的
2. 后端技术栈主要是看服务类型,.net 下的框架不少,适合 api 服务器的 web api ,适合网页开发的 razor ,还有实时应用 blazor ,还有其他框架,能搞的很多。数据方面的话,我基本都用 efcore 搭配 postgresql ,轻量数据库就直接用 litedb ,顺便吹一下,linq 搭配兰姆达表达式真的爽 |
45
zachlhb 2021-11-11 08:22:36 +08:00 via iPhone
furion 框架了解下
|
46
forgottencoast 2021-11-11 09:50:13 +08:00
@dawnh
WinUI 3 supports C# (.NET 5) and C++ for desktop apps. WinUI 2 supports C# and Visual Basic (.NET Native), and C++ apps. https://docs.microsoft.com/en-us/windows/apps/winui/ |
47
dawnh 2021-11-12 15:03:55 +08:00
@forgottencoast 我认为这里的信息很误导,support 是说能用,但没说怎么用。你如果真写过的话就会发现所谓的 support 也不过是 PInvoke 调用 COM 的用法。官方的例子都这么写的: https://docs.microsoft.com/en-us/windows/apps/winui/winui3/desktop-winui3-app-with-basic-interop
所以还是等 MAUI 来包装吧。 |
48
royorange 2022-02-16 14:36:04 +08:00
.net 的话个人偏向跟着 winui3 走 毕竟微软花了大功夫主推
或者可以考虑谷歌的 flutter ,目前也正式发布了对 windows 的支持。主要 flutter 的社区生态也还不错 |
49
ration 2022-03-27 22:56:21 +08:00
目前大多数用 wpf
|
50
Aloento 2022-05-15 19:08:21 +08:00
WPF + WinUI3
.NET ASP Razor |