跨平台桌面程序开发,我不是个大名鼎鼎了

发布时间:2021-04-28 来源: 万汇智联 浏览次数:

文章目录

前言

在过去的两天里,我一直在研究跨平台的桌面程序开发。我玩过的计划大致如下:

就个人而言,就桌面程序开发而言,对开发人员最友好的解决方案是Microsoft的winform开发。条目非常简单,每个人都应该知道。界面被拖动。按钮事件是通过直接双击生成的。 。

研究经验

WinForm + Wine:太麻烦了,该程序需要一个部署环境才能运行。通常,习惯于在Microsoft桌面下进行开发的人对Linux不太熟悉。如果允许他们部署Linux环境,则估计会发生肛裂。

Electron:程序发布时,程序包太大。另外,Electron官方不支持XP,但是Internet上也有大人物的修改版本。该框架已经成熟,文档和教程也非常实用,也有很多制造商在使用该框架,例如Microsoft的VS Code,GitHub的桌面程序等。但我不是前端。 。

QT:QT应该是著名的,但是它的进入壁垒相对较高。现在,大多数程序员都走了一半路,或者更多地接触了Java,C#和Python。就C ++而言,可以杀死一群程序员。还应考虑QT的编译环境,构建工具包,版本,头文件和库以及其他可能杀死一组程序员的问题。当然不是我我仍然可以使用C / C ++语言。哈哈。即使我去开发QT,我也认为与WPF相比,QT的界面设计基于XAML,它比QT开放得多,设计速度也更快。速度更快,最致命的一点是C#/ JAVA等高级语言具有语法糖,可以帮助开发人员快速编写代码。 。

JavaFX:这是JDK8的Oracle支持的一种新的GUI开发框架。当前,很少有相关的开发文档和博客文章。遇到的大多数问题都需要开发人员自己进行调查,但是在运行程序时,您必须具有JDK或JRE。在环境的支持下,如果将环境打包到可执行程序中,则发布程序将太大。

Java AWT Swing:古老的技术,学习Java,应该知道一点点,蓝色渐变背景按钮。 。 。我不会强迫的。 。 。每个人都能理解。

Avalonia:这是一个仅在最近几年才发布的新框架。它基于.Net Core,与WPF开发基本相同。编译后,可通过dotnet命令将其打包到每个平台的发行版中,可通过双击Linux系统程序直接将其打开。具体细节可以在官方网站上查看,这也是我今天主要谈论的框架。

发展准备

我总是使用最新版本的VS 2019。 。对Avalonia扩展的支持可能有点错误。 。

新的Avalonia项目

在这里插入图片描述

类似于新的WPF项目,但直接向我们提供了MVVM体系结构项目,并自动帮助我们在构建Avalonia.ReactiveUI软件包时再引入一个。我尚未研究引入此软件包的特定目的。当我以后知道它是什么时,我会回来修改博客。

具体项目结构差异如下图所示:

在这里插入图片描述

一件事,新项目,软件包不是最新的,您需要自己更新到0. 9. 10,当前是最新版本,已修复N个bug,您可以仔细查看官方网站版本发布日志,可以得到很多需要的东西! ! !

例如,DataGrid,我只有在检查官方网站时才发现,只有在0. 8之后才得到支持,并且引入了另一个软件包!

还有一点要注意,我不知道VS的所有版本是否都是这样,但是我的VS2019当前是这样的,它对Avalonia框架的设计者支持并不友好,并且会不断报告错误。 XAML解析,如下图所示。

在这里插入图片描述

开发简单的示例程序

首先,我使用了以下软件包,并进行了简要说明:

在这里插入图片描述

Chloe:数据库ORM框架

Spire:Office文件的操作,有钱人不能使用免费版本

MySql.Data:数据库连接驱动程序

Xfinium.Pdf.View.Wpf.NetCore:PDF读取控件

Avalonia.Controls.DataGrid:DataGrid控件

MessageBox

由于未提供MessageBox提示框c 的跨平台软件开发,因此需要在此处自行开发此控件

Windows运行效果演示

在这里插入图片描述

Linux运行效果生成Ubuntu 1 8. 04版本

在这里插入图片描述

运行效果

在这里插入图片描述

魔术错误

添加XAML文件时,将报告错误,并且无法选择新项目的类型。这可能是由于VS中的框架扩展异常所致。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后目录如下图所示。我当前的解决方案是在文件夹下手动创建页面文件,然后将自动识别项目目录:

在这里插入图片描述

摘要

1. Chloe数据库框架可以在跨平台下正常使用

2. DataGrid也可以正常使用,MVVM绑定数据也是可以的

3. Office和PDF等的后续测试c 的跨平台软件开发,如果没有控件支持,我个人认为Office和PDF可以使用Web,然后可以在程序中浏览Office和PDF CefSharp.Wpf控件来解决该问题。相信它,没有任何事情前端开发无法处理! ! !

跟进测试跨平台下ToupCam显微镜的连接和调用

在美国实体名单的封锁之下,国内的基于Linux的系统流行起来只是时间问题。 。

上一篇:C/C++语言进行编程所需的关键条件条件

下一篇:没有了

上一篇:C/C++语言进行编程所需的关键条件条件

下一篇:没有了