.net 支持跨平台(桌面)系列技术汇总
1. 首先微软老大哥的.net core 。
.NET Core 是微软开发的一个跨平台、高性能的开源框架,用于构建云和互联网连接的新型应用。 它允许开发者在 Windows、macOS 和 Linux 上使用喜爱的开发工具进行开发,并支持部署到云或本地环境。 .NET Core 是对 .NET Framework 的重新设计,它更加精简和模块化,具有以下优点:
- 统一的场景生成 Web UI 和 Web API。
- 为可测试性而构建。
- Razor Pages 简化了基于页面的编码。
- Blazor 允许在浏览器中使用 C# 和 JavaScript,共享服务器端和客户端应用逻辑。
- 支持跨平台开发和运行。
- 开源和社区驱动。
- 集成现代客户端框架和开发工作流。
- 支持使用 gRPC 托管远程过程调用 (RPC)。
- 基于环境的云就绪配置系统。
- 内置依赖注入。
- 轻型高性能模块化 HTTP 请求管道。
- 能够托管于多种环境,如 Kestrel、IIS、HTTP.sys、Nginx 和 Docker。
- 并行版本控制。
- 简化新式 Web 开发的工具
2. 第二个可就是MAUI技术。
.NET MAUI(.NET Multi-Platform App UI)是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动和桌面应用。 它允许开发者从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 .NET MAUI 是 Xamarin.Forms 的进化版,它扩展了移动场景到桌面场景,并从头重新生成了 UI 控件,以提高性能和可扩展性。 使用 .NET MAUI,开发者可以使用单个项目创建多平台应用,同时也可以添加特定于平台的源代码和资源。 .NET MAUI 的主要目的之一是使开发者能够在单个代码库中实现尽可能多的应用逻辑和 UI 布局。
3. Photino.net技术跨平台。
Photino.NET 是一个轻量级的开源框架,用于使用 Web UI 技术构建本机跨平台桌面应用程序。 它允许开发者使用 C#、C++、Java 等快速、本地编译的语言,并支持使用 .NET 开发框架。 Photino 使用操作系统内置的基于 Chromium 或 WebKit 的浏览器控件,为 Windows、macOS 和 Linux 提供支持。 与 Electron 相比,Photino 应用更小、更轻量级,不需要捆绑 Chromium 引擎或 NodeJS 运行时。 Photino 的目标是使开发者能够在不同平台上使用 Web UI(HTML、JavaScript、CSS 等)构建原生应用程序,而不需要学习平台特定的 UI 技术。 Photino 还提供了对 .NET 的支持,允许开发者构建具有 .NET 后端和所选 Web 框架的桌面应用程序。
4. Avalonia
Avalonia 是一个开源的跨平台 UI 框架,允许开发者使用 .NET 创建跨平台应用程序。以下是对 Avalonia 的详细介绍:
-
跨平台支持:Avalonia 支持在多个操作系统上构建应用程序,包括 Windows、macOS、Linux、Android、iOS 和 WebAssembly。这意味着开发者可以共享 UI 代码,并在不同的目标平台上保持统一的外观和感觉。
-
开发体验:Avalonia 提供了类似于 WPF 的开发体验,允许开发者创建丰富、高性能的桌面应用程序。它支持从单个代码库创建适用于多个操作系统的应用。
-
嵌入式开发:Avalonia 支持 FBDev 和 DRM,可以在运行精简版 Linux 的嵌入式设备上提供高质量的用户体验,适合部署到低功耗设备。
-
浏览器部署:Avalonia 允许将应用程序直接部署到任何浏览器,无需更改代码,从而覆盖更广泛的用户群体。
-
移动应用开发:Avalonia 支持创建在 iOS 和 Android 上均能提供完美视觉效果和无缝性能的移动应用。
-
开发工具支持:Avalonia 与 Visual Studio 和 JetBrains Rider 兼容,提供 XAML IntelliSense 和内置的 XAML 预览器,使得在 Visual Studio 中开发跨平台应用变得简单。
-
编程语言:开发者可以使用 C#、F# 或 XAML 来构建 UI。Avalonia 提供了现代的 XAML 风味,也可以完全使用 C# 或 F# 构建 UI。
-
WPF 兼容性:Avalonia XPF 允许开发者轻松地将 WPF 应用程序带到新平台,几乎不需要更改代码,实现跨平台功能。
-
社区和企业支持:Avalonia 拥有一个强大的社区,并且被许多企业所信任和使用。它的流行度正在迅速增长,社区也在不断扩大。
-
架构:Avalonia 应用程序的架构类似于其他传统的跨平台应用程序,通常包括一个核心项目,其中包含共享代码,以及特定于平台的项目来使用这些共享代码。
-
UI 组件和布局:Avalonia 提供了各种 UI 组件、布局系统、定制样式和事件处理功能,允许开发者利用其绘制 UI 的能力,创建响应式和高性能的用户界面。
-
性能:与其他可能受限于有限 API 或性能较差的工具包不同,Avalonia 应用程序拥有访问平台能力的优势,并且由于组合式渲染器的存在,具备出色的性能。
Avalonia 是一个成熟的平台,用于构建桌面、嵌入式、移动和 Web 应用程序,提供了一个强大的工具集,使开发者能够创建具有各种功能和样式的跨平台应用程序。
相关文章:

.net 支持跨平台(桌面)系列技术汇总
1. 首先微软老大哥的.net core 。 .NET Core 是微软开发的一个跨平台、高性能的开源框架,用于构建云和互联网连接的新型应用。 它允许开发者在 Windows、macOS 和 Linux 上使用喜爱的开发工具进行开发,并支持部署到云或本地环境。 .NET Core 是对 .NET …...

springboot 静态资源访问
最近在学习springboot,在学习中一个静态资源访问,难道了我三天,在网上找了很多的资料,又是配置,又是重写WebMvcConfigurationSupport,因为以前没有接触,本来很简单的事情走了很多弯路࿰…...

【linux学习指南】初识Linux进程信号与使用
文章目录 📝信号快速认识📶⽣活⻆度的信号📶 技术应⽤⻆度的信号🌉 前台进程(键盘)🌉⼀个系统函数 📶信号概念📶查看信号 🌠 信号处理🌉 忽略此信…...

L1G1000 书生大模型全链路开源开放体系笔记
关卡任务 观看本关卡视频后,写一篇关于书生大模型全链路开源开放体系的笔记。 视频链接:【书生浦语大模型全链路开源体系】 : 书生浦语大模型开源开放体系_哔哩哔哩_bilibili 书生大模型全链路开源开放体系笔记 在人工智能领域,大模型的…...

亚信安全与飞书达成深度合作
近日,亚信安全联合飞书举办的“走近先进”系列活动正式走进亚信。活动以“安全护航信息化 共筑数字未来路”为主题,吸引了众多数字化转型前沿企业的近百位领导参会。作为“走近先进”系列的第二场活动,本场活动更加深入挖掘了数字化转型的基础…...

深入讲解Spring Boot和Spring Cloud,外加图书管理系统实战!
很抱歉,我的疏忽,说了这么久还没有给大家详细讲解过Spring Boot和Spring Cloud,那今天给大家详细讲解一下。 大家可以和下面这三篇博客一起看: 1、Spring Boot 和 Spring Cloud 微服务开发实践详解https://blog.csdn.net/speaking_me/artic…...

【三维生成】Edify 3D:可扩展的高质量的3D资产生成(英伟达)
标题:Edify 3D: Scalable High-Quality 3D Asset Generation 项目:https://research.nvidia.com/labs/dir/edify-3d demo:https://build.nvidia.com/Shutterstock/edify-3d 文章目录 摘要一、前言二、多视图扩散模型2.1.消融研究 三、重建模型…...

Java求职招聘网站开发实践
一、项目介绍 本文将介绍如何使用Java技术栈开发一个求职招聘网站。该网站主要实现求职者和招聘方的双向选择功能,包含用户管理、职位发布、简历投递等核心功能。 二、技术选型 后端框架:Spring Boot 2.7.0数据库:MySQL 8.0前端框架&#…...

一文详细了解websocket应用以及连接断开的解决方案
文章目录 websocketvite 热启动探索websocket -心跳websocket 事件监听应用过程中问题总结 websocket Websocket简介 定义和工作原理 Websocket是一种在单个TCP连接上进行全双工通信的协议。与传统的HTTP请求 - 响应模式不同,它允许服务器主动向客户端推送数据。例…...

如何做含有identify抓信号的fpga版本(image或者Bit)
在数字的FPGA debug中除了ila就是identify了,identify是synopsys公司的RTL级的调试工具。要用起来idetify,第一步就是要做出含有identify的信号的FPGA版本,quartus的是image,Ximlinx的是Bit或者Bin文件。具体有以下几步࿱…...

AIGC实践-使用Amazon Bedrock的SDXL模型进行文生图
一、Bedrock 简介 Amazon Bedrock 是 Amazon Web Services (AWS) 提供的一种生成式 AI 服务。通过 Bedrock,用户可以方便地使用多种基础模型(Foundation Models),包括 OpenAI 的 GPT、Anthropic 的 Claude 等。这些模型可以用于各…...

【源码】Sharding-JDBC源码分析之SQL中分片键路由ShardingSQLRouter的原理
Sharding-JDBC系列 1、Sharding-JDBC分库分表的基本使用 2、Sharding-JDBC分库分表之SpringBoot分片策略 3、Sharding-JDBC分库分表之SpringBoot主从配置 4、SpringBoot集成Sharding-JDBC-5.3.0分库分表 5、SpringBoot集成Sharding-JDBC-5.3.0实现按月动态建表分表 6、【…...

初学 flutter 环境变量配置
一、jdk(jdk11) 1)配置环境变量 新增:JAVA_HOMEC:\Program Files\Java\jdk-11 //你的jdk目录 在path新增:%JAVA_HOME%\bin2)验证是否配置成功(cmd运行命令) java java -version …...

蓝牙 AVRCP 协议详解
前言 随着无线音频设备的普及,蓝牙已经成为智能设备间通信的主流方式之一。除了传输音频流的 A2DP 协议外,AVRCP(Audio/Video Remote Control Profile,音频/视频远程控制协议)为用户提供了对蓝牙音频设备的控制能力&am…...

在 Ubuntu 18.04 上安装 MySQL 5.7和MySQL 8
1.Ubuntu安装MySQL 5.72.Ubuntu安装MySQL 8 在 Ubuntu 18.04 上安装 MySQL 5.7,可以按照以下步骤操作: 1. 更新系统包列表 运行以下命令以确保系统包列表是最新的: sudo apt update2. 检查默认 MySQL 版本 Ubuntu 18.04 默认提供 MySQL 5.…...

第4章 Spring Boot自动配置
自动配置概述 SpringBoot的两大核心 Spring Boot 框架的两大核心特性可以概括为“启动器”(Starter)和“自动配置”(Auto-configuration)。 启动器(Starter): Spring Boot 提供了一系列的 Star…...

显存:存储,GPU:计算;Pipeline Parallelism(管道并行)
目录 显存:存储,GPU:计算 流水线切分策略:(数据并并,多头并行,单头MLP切片) 存储(显存)和计算(GPU)负载不均衡的问题 1,2,3,4,5指的计算任务(数据切分) 大方块代表GPU计算 黄色代表显存 解决办法:重计算和流水线切分策略 重计算策略: 流水线切分策略:…...

费曼路径积分简单示例
费曼路径积分简单示例 费曼路径积分是量子力学中的一种计算方法,它通过对所有可能路径的贡献进行积分,来计算粒子从一个点到另一个点的概率幅。与经典力学不同,经典力学中粒子沿着使作用量最小的路径运动,而在量子力学中…...

40分钟学 Go 语言高并发:【实战】并发安全的配置管理器(功能扩展)
【实战】并发安全的配置管理器(功能扩展) 一、扩展思考 分布式配置中心 实现配置的集中管理支持多节点配置同步实现配置的版本一致性 配置加密 敏感配置的加密存储配置的安全传输访问权限控制 配置格式支持 支持YAML、TOML等多种格式配置格式自动…...

麒麟安全增强-kysec
DAC: 自主访问控制是linux下默认的接入控制机制,通过对资源读、写、执行操作,保证系统安全 MAC:安全接入控制机制,由操作系统约束的访问控制,默认情况下,MAC不允许任何访问,用户可以自定义策略规则制定允许什么 ,从而避免很多攻击。 MAC强制访问控制常见的实现方式:…...

shell编程(8)
目录 一、until循环 示例 until 和 while 的区别 二、case语句 基本语法 示例 1. 简单的 case 语句 2. 使用通配符 3. 处理多个匹配 case 和 if 的比较 case 语句: if 语句: 三、基本函数 基本函数定义和调用 1. 定义一个简单的函数 2. …...

高级java每日一道面试题-2024年11月24日-JVM篇-说说对象分配规则?
如果有遗漏,评论区告诉我进行补充 面试官: 说说对象分配规则? 我回答: 在Java高级面试中,对象分配规则是一个核心考点,它涉及到JVM的内存管理、对象的创建和初始化等多个方面。以下是对Java对象分配规则的详细解释: 一、内存分配区域 J…...

进程间通信5:信号
引入 我们之前学习了信号量,信号量和信号可不是一个东西,不能混淆。 信号是什么以及一些基础概念 信号是一种让进程给其他进程发送异步消息的方式 信号是随时产生的,无法预测信号可以临时保存下来,之后再处理信号是异步发送的…...

性能测试及调优
一、性能测试介绍 1、什么叫做性能测试? (1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试 (2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指…...

实战基于LangChain和ChatGLM私有化部署聊天机器人
本文主要阐述了如何使用第二代6B模型进行对话训练,以及如何通过微调来提高大模型的性能。文中提到了在8501端口上启动第二代6B模型,并使用极简模板进行请求。与第一代模型相比,第二代6B模型具有更强的对话能力,并且可以通过微调来…...

利用adb工具安装卸载安卓平板(手机)软件
参考链接: 1、ADB 操作命令详解及用法大全 2、全面掌握Android调试工具箱:ADB与实用程序实战 平时使用小米手机没有感觉,miui系统做的确实好。最近买了个水货学习系统平板(主要看重硬件配置,性价比很高,但…...

基于docker进行任意项目灵活发布
引言 不管是java还是python程序等,使用docker发布的优势有以下几点: 易于维护。直接docker命令进行管理,如docker stop、docker start等,快速方便无需各种进程查询关闭。环境隔离。项目代码任何依赖或设置都可以基本独立&#x…...

Datatables:监听行内文本框,进行行内数据修改;计算行总和
一、监听行内文本框,进行行内数据修改 效果 修改数量、单价会自动计算金额(金额数量*单价) 实现 1、增加行的class 2、数据监听、修改数值 "initComplete": function() {// 监听数量和单价输入框的变化$(document).on(input, .…...

对于某些原型或UI软件的个人看法(2024/11)
由于我这几天,一边敲代码,一边进行页面布局设计与编码,发现可能就一个卡片,我都得调很久样式,觉得这样改很累也没效率,页面也不是很美观。所以我想到了ui设计,我可以先进行ui设计,然…...

嵌入式硬件实战提升篇(二)PCB高速板设计 FPGA核心板带DDR3 PCB设计DDR全面解析
引言:设计一款高速板,供读者学习,FPGA核心板,带一颗DDR3内存,FPGA型号:XC6SLX16-2FTG256C。 随着嵌入式硬件技术的快速发展,高速板设计逐渐成为嵌入式系统设计中的核心技术之一。高速板的设计要…...