zoukankan      html  css  js  c++  java
  • .NET Core/.NET5/.NET6 开源项目汇总9:客户端跨平台UI框架

    .NET Core 实现了跨平台,支持在 Windwos、Linux、macOS上开发与部署,但是也仅限于Web应用程序。对于Windows桌面端应用程序,WinForm 与 WPF 技术是当前最成熟、应用最多的解决方案。因为它们的UI与Windwos操作系统的底层技术紧密关联,所以在Linux、macOS上无法实现相同的UI功能。目前对于跨平台的桌面端UI需求,.NET还没有统一完整的解决方案。期待.NET6中的MAUI能给大家带来惊喜。下面整理了几款桌面端跨平台解决方案。

    1、.NET Multi-platform App UI (MAUI)

    .NET MAUI是.NET多平台应用程序UI,是一个用于构建跨移动、平板和桌面的本机设备应用程序的框架。

    产品特征

    • 提供支持多平台的原生UI
    • 跨移动和桌面部署到多个设备
    • 使用统一单一项目、单一代码库
    • 由Xamarin.Forms 演变进化而来
    • 作为.NET6的一个重要组件,将于2021年11月与.NET6一起正式发布

    开源地址:https://github.com/dotnet/maui

    2、Avalonia

    Avalonia 是一个基于 WPF XAML 的跨平台UI框架,并支持多种操作系统:Windows(.NET Framework,.NET Core),Linux(GTK),MacOS,Android和iOS。

    产品特征

    • 开源。永久开源、免费使用。
    • 跨平台。轻松部署到目标平台。移动支持正在公开预览中。

              

    • 支持 Visual Studio 扩展项目模板

    • 复用现有技能。利用现有的知识(WPF、XAML)、代码和包来开发、运行项目。
    • 技术支持。提供收费技术支持。

    官网:http://avaloniaui.net
    教程:http://avaloniaui.net/docs/quickstart

    GitHub: https://github.com/AvaloniaUI/Avalonia

    优秀示例项目

        AvalonEdit是SharpDevelop中使用的基于WPF的文本编辑器。此软件包中包含三个版本的AvaloneEdit:.NET 4.0、4.5和.NET Core 3.0。    

        使用AvalonEdit的项目

    3、UNO【终极跨平台解决方案】

    UNO是一款具有C#和WinUI的像素级多平台应用程序。它也是第一个也是唯一一个针对Windows、WebAssembly、iOS、macOS、Android和Linux的单一代码应用程序的跨平台UI框架。可以理解为终极跨平台解决方案。

    产品特征

    • 针对所有操作系统和浏览器    UNO是唯一用于创建真正的单一来源、多平台应用程序的开放源代码平台。跨本机移动、web和桌面重用99%的业务逻辑和UI层。

           

    • 像素无处不在    在开发特定于平台的应用程序或定制应用程序的外观和感觉时,保持像素对像素位置的完美控制。     

             

    • C#和XAML提高生产率    使用C#和XAML的熟悉性和丰富性,以及热重新加载、热重启、编辑和继续等方面的生产力提升开发效率。 

              

    • 强大的IDE支持。Visual Studio、Visual Studio Code、Visual Studio for Mac、Rider都可以开发。
    • 技术支持。社区和团队提供免费和有偿的支持。聊天、屏幕分享等方式。
    • 代码片段和示例应用程序。在实践中学习。请参阅工程师提供的代码示例。探索Uno平台打开的可能性。
    • 支持WebAssembly
    • 视屏教程
    • 真实客户    以下公司使用Uno平台开发其应用程序

             

    官网:https://platform.uno

    教程:https://gallery.platform.uno

    示例:https://platform.uno/code-samples

    开源地址:https://github.com/unoplatform/uno

    参考博客:https://mp.weixin.qq.com/s/xg_St9OHy3hfkk71NzFiPw

    4、Electron

    Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。通过将Chromium和Node.js嵌入其二进制文件,Electron允许您维护一个JavaScript代码库,并创建可在Windows、macOS和Linux上运行的跨平台应用程序,最主要的是开发者无需本地开发经验。

    如果你可以建一个网站,你就可以建一个桌面应用程序。 Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。

    产品特征

    • Web技术    Electron 基于 Chromium 和 Node.js, 让你可以使用 HTML, CSS 和 JavaScript 构建应用。
    • 开源    Electron 是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目。
    • 跨平台    Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。
    • 案例产品    数千个跨行业的组织使用 Electron 构建跨平台软件。

    官网:https://www.electronjs.org

    教程:https://www.electronjs.org/docs

    开源地址:https://github.com/electron

    5、CPF

    简洁、直观、强悍的netcore跨平台UI开发框架。框架理念和WPF类似,但是没有Xaml,直接用CSS和C#代码描述。

    官网:http://cpf.cskin.net
    入门教程:https://www.cnblogs.com/dskin/p/13490921.html
    参考项目:https://mp.weixin.qq.com/s/Psc69OUw6ceGPMlGi3t-eQ

    成在管理,败在经验;嬴在选择,输在不学!  贵在坚持!

    欢迎关注作者头条号 张传宁IT讲堂,获取更多IT文章、视频等优质内容。

       

     个人作品

       

        1、BIMFace.Community.SDK.NET

         开源地址:https://gitee.com/NAlps/BIMFace.SDK

         系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html

         系列视频:https://www.cnblogs.com/SavionZhang/p/14258393.html

       

        2、ZCN.NET.Common

         开源地址:https://gitee.com/NAlps/zcn.net.common

     技术栈

       

     1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python

     2、jQuery、Vue.js、Bootstrap

     3、数据库:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、达梦DM、人大金仓、 神通、南大通用 GBase、华为 GaussDB 、腾讯 TDSQL 、阿里 PolarDB、蚂蚁金服 OceanBase、东软 OpenBASE、浪潮云溪数据库 ZNBase

     4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分库分表、读写分离

     5、架构:领域驱动设计 DDD、ABP

     6、环境:跨平台、Windows、Linux(CentOS、麒麟、统信UOS、深度Linux)、maxOS、IIS、Nginx、Apach

     7、移动App:Android、IOS、HarmonyOS、微信、小程序、快应用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler

       

     云原生、微服务、Docker、CI/CD、DevOps、K8S;

     Dapr、RabbitMQ、Kafka、分布式、大数据、高并发、负载均衡、中间件、RPC、ELK;

     .NET + Docker + jenkins + Github + Harbor + K8S;

    出处:www.cnblogs.com/SavionZhang

    作者:张传宁   微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。

              专注于微软.NET技术(.NET Core、Web、MVC、WinForm、WPF)、通用权限管理系统、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。

              多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。

              熟悉中小企业软件开发过程:需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业快速化实现互联网技术全流程解决方案。

             


             

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    如有问题,可以通过邮件905442693@qq.com联系。共同交流、互相学习。

    如果您觉得文章对您有帮助,请点击文章右下角【推荐】。您的鼓励是作者持续创作的最大动力!

  • 相关阅读:
    UML学习笔记<1>
    安装和配置jBPM4,并举个hello.w
    Myeclipse--jBPM4.3插件
    今天讲座的感悟--java
    程序员必看的书
    SSH的整合
    一款Timer倒计时器
    一款jq的计时器
    Code Complete-13/7/29
    java-Timer类使用方法
  • 原文地址:https://www.cnblogs.com/SavionZhang/p/14863800.html
Copyright © 2011-2022 走看看