当前位置: 首页 > news >正文

.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 的详细介绍:

  1. 跨平台支持:Avalonia 支持在多个操作系统上构建应用程序,包括 Windows、macOS、Linux、Android、iOS 和 WebAssembly。这意味着开发者可以共享 UI 代码,并在不同的目标平台上保持统一的外观和感觉。

  2. 开发体验:Avalonia 提供了类似于 WPF 的开发体验,允许开发者创建丰富、高性能的桌面应用程序。它支持从单个代码库创建适用于多个操作系统的应用。

  3. 嵌入式开发:Avalonia 支持 FBDev 和 DRM,可以在运行精简版 Linux 的嵌入式设备上提供高质量的用户体验,适合部署到低功耗设备。

  4. 浏览器部署:Avalonia 允许将应用程序直接部署到任何浏览器,无需更改代码,从而覆盖更广泛的用户群体。

  5. 移动应用开发:Avalonia 支持创建在 iOS 和 Android 上均能提供完美视觉效果和无缝性能的移动应用。

  6. 开发工具支持:Avalonia 与 Visual Studio 和 JetBrains Rider 兼容,提供 XAML IntelliSense 和内置的 XAML 预览器,使得在 Visual Studio 中开发跨平台应用变得简单。

  7. 编程语言:开发者可以使用 C#、F# 或 XAML 来构建 UI。Avalonia 提供了现代的 XAML 风味,也可以完全使用 C# 或 F# 构建 UI。

  8. WPF 兼容性:Avalonia XPF 允许开发者轻松地将 WPF 应用程序带到新平台,几乎不需要更改代码,实现跨平台功能。

  9. 社区和企业支持:Avalonia 拥有一个强大的社区,并且被许多企业所信任和使用。它的流行度正在迅速增长,社区也在不断扩大。

  10. 架构:Avalonia 应用程序的架构类似于其他传统的跨平台应用程序,通常包括一个核心项目,其中包含共享代码,以及特定于平台的项目来使用这些共享代码。

  11. UI 组件和布局:Avalonia 提供了各种 UI 组件、布局系统、定制样式和事件处理功能,允许开发者利用其绘制 UI 的能力,创建响应式和高性能的用户界面。

  12. 性能:与其他可能受限于有限 API 或性能较差的工具包不同,Avalonia 应用程序拥有访问平台能力的优势,并且由于组合式渲染器的存在,具备出色的性能。

Avalonia 是一个成熟的平台,用于构建桌面、嵌入式、移动和 Web 应用程序,提供了一个强大的工具集,使开发者能够创建具有各种功能和样式的跨平台应用程序。

相关文章:

.net 支持跨平台(桌面)系列技术汇总

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

springboot 静态资源访问

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

【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文件。具体有以下几步&#xff1…...

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计算 黄色代表显存 解决办法:重计算和流水线切分策略 重计算策略: 流水线切分策略:…...

费曼路径积分简单示例

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

40分钟学 Go 语言高并发:【实战】并发安全的配置管理器(功能扩展)

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

麒麟安全增强-kysec

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

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...