C#跨平台开发桌面程序(Avalonia)
文章目录
- 序
- 研究感受
- 开发准备
- 新建Avalonia工程
- 开发简单示例程序
- MessageBox
- Windows运行效果演示
- Linux运行效果
- 生成Ubuntu 18.04版本
- 运行效果
- 神奇的BUG
- 总结
序
这两天一直在研究跨平台桌面程序开发,我玩过的方案,大致有如下几个:
- WinForm + Wine
- Electron + Vue/Node/NW等等
- QT
- JavaFX
- Java AWT Swing(界面丑,古老技术,运行时需要JDK,发布程序时,包太大)
- Avalonia
个人感觉,单独就桌面程序开发而言,对开发者最友好的解决方案还得是微软的winform开发,其入门何其简单,想必大家应该都是知道的,界面拉拉拽拽,按钮事件直接双击生成。。。
研究感受
WinForm + Wine
:太麻烦,程序运行需要部署环境。一般对于在微软桌面下开发习惯的人来说,对于Linux都不是太熟悉,再让其部署Linux环境,估计会肛裂
。
Electron
:发布程序时,包太大,另外Electron官方对XP不支持,但是网上也有大佬魔改版本。其框架成熟,文档和教程也很程序,也有大厂在使用该框架,例如微软的VS Code,GitHub的桌面端程序等。
C#跨平台开发桌面程序(Avalonia)相关推荐
- 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...
- [转载] flutter开发桌面程序_在开始使用Flutter开发应用程序之前要了解的5条提示
参考链接: Python中的桌面通知程序 flutter开发桌面程序 1.始终取消您的流订阅: (1. Always cancel your stream subscription:) When I ...
- Electron前端开发桌面程序--入门篇
前言 前端开发桌面程序这个概念已经出现有一段时间了,这项技术也已经走向成熟,Github上nw和光electron的star就差不多有10w颗星了,github也衍生出了很多开源的桌面项目俨然成了一个 ...
- 适合开发桌面程序的软件工厂流水线组织结构和流程设计
开发桌面程序的软件工厂通常需要有一个良好的组织结构和流程设计,以确保项目能够高效地完成并满足质量标准.以下是适合开发桌面程序的软件工厂流水线组织结构和流程设计的建议: 1. 组织结构 软件工厂的组织结 ...
- 使用Qt5开发桌面程序
Qt开发信息管理客户端 一.Qt的简介 二.Qt中的重要概念 1.信号与槽机制 信号(signal) 槽(slot) 2.Lambda表达式 三.使用Qt设计师快速开发 1. 环境搭建 (1)连接My ...
- Eclipse RCP开发桌面程序
所谓RCP,就是Rich Client Platform的缩写,即富客户平台,是Eclipse进化的产物(自3.0版以后出现),是Eclipse组织向用户提供的强大的开放性开发平台,能 够使用户方便地 ...
- 小满Vue3第三十九章(Vue开发桌面程序Electron)
建议视频教程小满Vue3(第三十九章 electron桌面程序)_哔哩哔哩_bilibili Electron官网Electron | Build cross-platform desktop app ...
- 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 创建 Qt 桌面程序 | 构建并运行 Qt 桌面程序 )
文章目录 一.创建 Qt 桌面程序 二.构建并运行 Qt 桌面程序 一.创建 Qt 桌面程序 首先要安装 Qt 开发环境 , 参考 [Qt]Qt 开发环境安装 ( Qt 版本 5.14.2 | Qt ...
- java 控件内布局_Java开发桌面程序学习(二)————fxml布局与控件学习
JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample ...
最新文章
- maven 更改项目名称
- 超微服务器开机启动项目怎么设置,超微服务器启动项设置
- Yolov5身份证检测——C++ OpenCV DNN推理
- Android 优秀博客汇总
- 未来5年,中国会有多少企业营收能达到1000亿美元以上?
- 学习笔记(37):Python实战编程-yield实现生成器
- 织梦服务器系统win10,WIN服务器爆破DEDECMS后台目录
- [iOS]利用Appicon and Launchimage Maker生成并配置iOSApp的图标和启动页
- 电脑速度太慢 重装系统不如换个帐户
- 面向对象基础——static关键字和代码块的使用
- Confluence 6 上传文件
- Atitit Cookie安全法 目录 1. cookie分为 会话cookie 和 持久cookie ,	1 1.1. 安全措施	1 1.2. 3. cookie的同源策略	2 1.3. 安全类库
- 算法:间隔重排序链表Reorder List
- Mapx 具体使用方法
- 如何在NVivo中获得最佳质量的音频和最佳的转录准确性
- 芭蕉树上第二十一根芭蕉-- matlab2017b安装的出现问题
- ASP.NET Core 运行原理解剖[2]-Hosting补充之配置介绍
- javase(8)_集合框架_List、Set、Map
- 举个栗子!Tableau 技巧(105):用 四象限图 对数据进行分类分析
- office2013多次输入激活码的问题