虽然工作开发语言已经转到了java,但平时仍会用netcore做一些小工具,提升工作效率,但是笔记本换成了Mac,小工具只能做成命令行形式,很是痛苦,迫切需要一个.net跨平台的桌面程序解决方案. 为什么选择Avalonia 据我所知目前有几个.net跨平台桌面解决方案,如 Electron.NET.Xamarin.Eto.Forms和Avalonia,并对这几个框架进行了一定的尝试. Electron.NET使用Electron作为前端展示,NetCore作为后台服务,前端可以把一些耗时操作提…
CPF(暂时命名)(Cross platform framework),模仿WPF的框架,支持NETCore的跨平台UI框架,暂时不够完善,只用于测试,暂时只支持Windows和Mac.支持数据绑定,CSS,动画... 可能有人会说,不是有个开源的Avalonia ,我试过,不过他的性能不行,启动速度慢,内存占用高,附带的dll一大堆,他的是Xaml来描述UI的,我的不提供Xaml,直接用C#来写,以后将出设计器直接生成C#代码. CpfObject相当于WPF里的DependencyObjec…
什么鬼,我的CPF快写好了,你居然也要搞跨平台UI框架?什么Maui? 之前怎么不早说要搞跨平台UI框架呢?看到谷歌搞flutter眼红了?明年年底发布?又搞这种追别人屁股的烂事情. 什么MVU模式?模仿Dart?用C#代码直接写UI的模式和我的CPF很像啊. 当初我考虑过XML,Json来描述UI,但是我感觉这些都是多余的累赘,而且还需要学习语法,感觉Xaml很啰嗦,如果有设计器的话,直接生成对应的UI代码不是更直接?而且用XML.Json需要多消耗解析UI代码的资源. 所以一开始我是模仿Wi…
介绍: 目前微软还没有跨平台桌面程序的开发框架.github上有一个团队开始自行研发跨平台桌面框架,其中一款叫avalonia.avalonia 采用 Xaml+C#,类似于wpf,可运行于.netframework,.netcore,是相对比较成熟的.net跨平台桌面应用技术.下面介绍如何创建 avalonia项目:如何在windows平台下,将程序打包成可在deepin 或 ubuntu 执行的.deb安装包,以及如何在deepin上安装(由于ubuntu 和 deepin都是基于debia…
背景 敝人经过多年开发,数百个项目“打磨(折磨)”,各种国内外框架平台都有涉及,没有一款称心顺手的,原因有三,一是设计反人类,二是不开源根本无法突破框架限制,三是即使开源也是阉割版,然后xms就开始萌芽了,初始阶段利用个人业余时间出了个版本,自己先拿了个实际项目练练,交付效果不错,诸多项目顺势就上了这个框架,以前是.net framework4.5,现在升级为.netcore 一.xms是什么 一款基于.netcore的现代化跨平台基础框架,包含众多常用模块,易上手.易扩展 二.能干什么 经过几…
上一章回顾:  .NET 跨平台框架Avalonia UI: 填坑指北(一):熟悉UI操作 本篇将要阐述 包括但不仅限于Avalonia及所有Windows到Linux跨平台开发 的一些注意事项: 一.路径问题 1.在平常的WPF(及windows应用软件)开发中,访问文件(懒一点的话)(比如我)通常就直接使用  字符串拼接 举个例子,我们访问软件目录下的\Data\xxx.txt文件: string path = AppDomain.CurrentDomain.BaseDirectory+"\…
最近一直在学习 Electron 开发桌面应用程序,在尝试了 java swing 和 FXjava 后,感叹还是 Electron 开发桌面应用上手最快.我会在这一篇文章中实现一个HelloWord的应用程序,记录学习过程中的坑. Electron是什么呢? Electron 可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用. 你可以把它看作一个 Node. js 的变体,它专注于桌面应用而不是 Web 服务器端. 这不意味着 Electron 是某个…
系列目录     [已更新最新开发文章,点击查看详细] .NET Core 实现了跨平台,支持在 Windwos.Linux.macOS上开发与部署,但是也仅限于Web应用程序.对于Windows桌面端应用程序,WinForm 与 WPF 技术是当前最成熟.应用最多的解决方案.因为它们的UI与Windwos操作系统的底层技术紧密关联,所以在Linux.macOS上无法实现相同的UI功能.目前对于跨平台的桌面端UI需求,.NET还没有统一完整的解决方案.期待.NET6中的MAUI能给大家带来惊喜.…
​​​原文地址 现在用 C# 来开发​跨平台应用已经有很成熟的方案,即共用非界面代码,而每个操作系统搭配特定的用户界面代码.这个方案的好处是可以直接使用操作系统原生的控件和第三方控件,还能够和操作系统深度集成. 这里的深度集成主要是指一些 Windows 专有的系统特性: Windows 托盘 Windows 跳转列表 Windows 系统主题 也包括一些移动平台的特性,例如 iOS 的原生滑动. ​由于操作系统上其他程序一般都使用原生控件,于是只有当你的程序采用同样技术时,它才能很好地保持一致…
现在用 C# 来开发跨平台应用已经有很成熟的方案,即共用非界面代码,而每个操作系统搭配特定的用户界面代码.这个方案的好处是可以直接使用操作系统原生的控件和第三方控件,还能够和操作系统深度集成. 这里的深度集成主要是指一些 Windows 专有的系统特性: Windows 托盘 Windows 跳转列表 Windows 系统主题 也包括一些移动平台的特性,例如 iOS 的原生滑动. 由于操作系统上其他程序一般都使用原生控件,于是只有当你的程序采用同样技术时,它才能很好地保持一致.这是一个大家一般遵…