用 .Net 写了一个跨平台的桌面端软件,且原生编译,无需运行时,启动快内存少体积小

2023-06-29 10:07:55 +08:00
 nikenidage1
实验性的小东西,实时显示你今天赚了多少钱
采用了 .Net 的技术,可以跨平台,并且利用 Native AOT 进行原生编译,无需运行时,启动快内存少体积小
软件截图见 https://jihulab.com/nikenidage/DailyMoney/-/raw/main/screenshot_1.png

下载放在了国内的 gitlab 上。macos 暂时不支持 m1 ,两个原因,.Net8 才支持 m1 还没正式发布,github 的 action 也不支持 m1
https://jihulab.com/nikenidage/DailyMoney/-/releases
源代码在 github
https://github.com/nikenidage/DailyMoney

这个框架理论上 android 和 ios 也支持,暂时没有研究
7702 次点击
所在节点    程序员
53 条回复
nikenidage1
2023-06-29 19:08:15 +08:00
@wxf666 哈哈,内存的问题,可能是我技术不到位,又或者是这个 ui 框架的锅,真实情况可以参见这位大佬的文章,其中提到
“将自己的可视化通用旅行商问题解算器应用使用 NativeAOT 编译后得到了一个 40mb 大小的应用程序(无需运行时),可以瞬间启动且运行时内存占用不到 20mb”
“左侧是一个包含接近 70 万个节点的折线图,可以 60 fps 的体验(其实可以更高,但对于桌面 GUI 应用来说 60 fps 渲染是一个默认的设定)随意滑动、缩放和跟踪点,完全不带一点卡顿”

https://zhuanlan.zhihu.com/p/353853076
wxf666
2023-06-29 19:28:06 +08:00
@nikenidage1 #41 有可执行文件体验吗?

那个折线图是定制过的吗?

可以 70 万个子窗体、列表框子项之类的吗?
beginor
2023-06-30 08:36:55 +08:00
avalonia 确实不错,.net 跨平台开发利器, 自己做一些小东西还是不错的。

不过就是没有什么第三方资源, 比如控件库之类的,因为本身就是个第三方库。

支持 mac m1 , 著名的 ryujinx 模拟器就是 Ava 开发的界面。
itianjing
2023-06-30 08:48:50 +08:00
定睛一看,钱咋越走越少呢,惊出一身冷汗,原来我在付费打工。
再仔细一看,金额是负数,那就还算是往上涨的。
可是问题来了,打了十几分钟工为啥还赚了负数的钱呢。
nikenidage1
2023-06-30 10:20:42 +08:00
@itianjing 啊哈哈 可能有 bug ,这不重要
@wxf666 好像没有,大佬没提供
FakerLeung
2023-06-30 11:00:33 +08:00
摸鱼才叫赚钱。
上班那叫赔偿。

( doge
kingsword09
2023-07-01 09:24:07 +08:00
楼主,.net 新手,请问 Native AOT 编译有相关教程吗?是要求 .net 8 ,还是现在 .net 7 就可以开启了?
nikenidage1
2023-07-01 13:22:03 +08:00
flytsuki
2023-07-05 08:55:57 +08:00
我写.net 好几年一直不习惯 xaml ,写 Android 一直用的 flutter 。。。
iorilu
2023-07-07 16:11:27 +08:00
学习下, 跨平台桌面软件还是有潜力得
hez2010
2023-07-08 12:49:34 +08:00
@nikenidage1 Avalonia 11 的内存占用稍微大了一些其实是因为启用了新的 GPU 加速的合成渲染器,这个渲染器性能很好但是有一定的内存占用,虽然这部分内存占用其实不来自 Avalonia ,而是来自 ANGLE (一个 OpenGL ES 库)。
如果想要回归到原来的那种软件渲染可以在你的 Program.cs 的 BuildAvaloniaApp 函数里面加

```csharp
.With(new Win32PlatformOptions
{
RenderingMode = new[] { Win32RenderingMode.Software }
})
```

内存占用立即降到只有 30mb 左右。
nikenidage1
2023-07-08 17:46:11 +08:00
@hez2010 卧槽,厉害了大佬。请教这些知识哪里可以获得啊? avalonia 的官网似乎没看到?
hez2010
2023-07-08 23:22:38 +08:00
@nikenidage1 Avalonia 官网确实没写。我姑且算是 Avalonia 项目的代码贡献者之一所以有了解到这些东西。

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

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

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

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

© 2021 V2EX