原来.NET写的Linux桌面这么好看?

这篇具有很好参考价值的文章主要介绍了原来.NET写的Linux桌面这么好看?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如何使用Blazor在Linux平台下运行Desktop程序

本文将讲解如何使用Blazor运行跨平台应用,应用到的技术有以下几点

  • Blazor
  • Masa Blazor
  • Photino.Blazor
  • Ubuntu

用于验证跨平台性,并且是否提高开发效率,Blazor和Photino一块使用的技术称为Blazor Hybrid

Blazor的优点

Blazor是一种使用.NET和C#构建客户端Web应用程序的新兴技术。它允许开发者在浏览器中直接运行.NET代码,而无需依赖JavaScript。Blazor的技术优点主要表现在以下几个方面:

  1. 单一语言栈:Blazor允许开发者使用C#和.NET进行全栈开发。一种语言用于前端和后端可以大大简化开发过程,减少错误并提高效率。不再需要在JavaScript和C#之间来回切换,这减少了上下文切换的复杂性和出错的可能性。相比之下,传统的Web开发需要使用JavaScript、HTML、CSS等多种语言,而且JavaScript并不具备强类型特性,因此更容易出错。

  2. 运行在WebAssembly:Blazor利用WebAssembly(Wasm)技术,在浏览器中运行.NET代码。WebAssembly是一种在现代浏览器中运行的低级语言,它比JavaScript更接近机器语言,所以运行速度更快。而且,WebAssembly在浏览器中的执行环境是沙盒化的,这意味着它可以在不影响其他系统资源的情况下安全地执行。

  3. 强类型检查:Blazor使用C#,这是一种强类型语言。相比于JavaScript,强类型语言可以在编译时捕获更多的错误,降低运行时出错的可能性。同时,强类型语言可以提供更好的自动完成、重构和智能提示功能,这些都可以大大提高开发效率。

  4. 复用代码和库:由于Blazor使用.NET,你可以在前端和后端共享相同的数据模型和业务逻辑代码,避免了因为同步前后端代码而产生的大量重复工作。此外,.NET的库生态系统非常丰富,这意味着你可以在Blazor应用中直接使用大量现有的库和框架,无需对其进行修改。

  5. 组件化架构:Blazor采用了组件化的设计模式,这使得你可以创建可复用的UI组件,提高代码的可读性和可维护性。组件化架构也使得测试变得更加容易,因为每个组件都是独立的,可以单独进行测试。

  6. 与现有技术的兼容性:Blazor并不排斥其他Web技术。你可以在Blazor应用中使用JavaScript和JavaScript库,也可以将Blazor组件嵌入到现有的MVC或Razor Pages应用中。这种兼容性使得Blazor更加灵活,可以适应各种复杂的需求。

  7. 现代化的开发体验:Blazor支持热重载,这使得你可以在保存代码更改后立即在浏览器中看到效果,无需手动刷新页面。这大大提高了开发效率,让开发者可以快速迭代和调试。此外,Blazor还支持使用SignalR实现实时通信,使得创建实时Web应用变得更加简单。

  8. Microsoft的支持:Blazor作为Microsoft推出的一项技术,得到了强大的技术支持。Microsoft为Blazor提供了完善的文档,使得开发者可以快速学习和掌握这项技术。此外,Microsoft还定期发布更新,以增强Blazor的功能、改进性能和修复问题。强大的社区支持也是Blazor的一大优势,开发者可以在社区中寻求帮助、分享经验或参与到项目的贡献中。

  9. 跨平台支持:Blazor应用可以在任何支持WebAssembly的浏览器上运行,这意味着它具有出色的跨平台兼容性。你可以使用Blazor开发桌面、移动和Web应用,而无需针对不同平台编写不同的代码。

  10. 安全性:Blazor支持ASP.NET Core Identity和OAuth 2.0等安全认证和授权机制。你可以方便地为你的应用程序添加安全措施,以保护用户数据和应用程序资源。

  11. 可扩展性:Blazor的设计允许开发者创建自定义组件、中间件和服务,以满足特定需求。这使得Blazor具有很高的可扩展性,可以适应各种复杂的应用场景。

  12. 渐进式Web应用(PWA)支持:Blazor支持创建渐进式Web应用(PWA),这意味着你可以创建可离线运行、具有原生应用般表现的Web应用。PWAs在性能、可访问性和用户体验方面具有很多优势,使得它们越来越受到开发者和用户的青睐。

  13. Server-Side Blazor(Blazor Server):Blazor还提供了一种服务器端渲染模式,称为Blazor Server。在这种模式下,Blazor应用的所有逻辑都在服务器上运行,浏览器只负责显示UI。这使得应用的启动速度更快,同时减轻了客户端的负担。Blazor Server通过SignalR实现实时通信,确保UI与服务器状态同步。

    总之,Blazor作为一种使用.NET和C#构建客户端Web应用程序的技术,具有许多显著的优点,包括单一语言栈、WebAssembly支持、

开始使用Masa Blazor

开始我们的第一步,安装Masa Blazor的模板,请注意模板版本1.0.0-rc.2,只有1.0.0-rc.2才有新的项目模板

dotnet new install Masa.Template::1.0.0-rc.2

安装完成以后,我们发现Masa Blazor提供了.NET 的基本上所有平台的模板了,当然我们这篇只讲解Photino

好了继续我们创建项目模板。打开vs我们会发现在MASA下面出现了很多项目的模板,我们创建第一个Masa Blazor Photino App(MASA),然后默认选项创建项目,然后启动项目。

这是提供的一个默认的模板

在win下正常运行了,然后我们想要在Linux下尝试是否能正常运行,准备发布项目,右键我们的项目=>发布=>文件夹

由于我的Ubuntu系统是没有安装SDK的所以我就发布独立模式!然后将部署文件移动到Ubuntu

然后在当前目录下打开控制台

给予程序可执行权限,然后运行项目

sudo chmod +x MasaBlazorApp1
./MasaBlazorApp1

这是运行的效果。这是最简单的方式,下面我把Masa Pro提供的代码迁移到当前Demo中并且在Linux中运行

下面是移植在Window运行的效果

,然后继续之前的操作,发布Linux应用,然后运行

一个超好看的Linux桌面程序就写好了,非常简单,项目地址放在最下面

来自token的分享

技术交流群:737776595

项目地址:https://github.com/239573049/Photino.Masa.Blazor.Pro

由Masa Blazor赞助(快乐肥宅水)文章来源地址https://www.toymoban.com/news/detail-448340.html

到了这里,关于原来.NET写的Linux桌面这么好看?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 物联网网关,原来是这么回事,感谢!

    《高并发系统实战派》-- 你值得拥有 物联网网关是连接物联网设备和互联网的重要桥梁,它负责将物联网设备采集到的数据进行处理、存储和转发,使其能够与云端或其他设备进行通信。物联网网关的作用是实现物联网设备与云端的无缝连接和数据交换。 不要物联网网关行

    2024年02月08日
    浏览(35)
  • 原来服务器这么有用-Docker安装

    在此之前青阳通过各种方式介绍过自己通过服务器搭建的一些玩法,也写过一些教程,但是那些教程,现在回头来看,都是有些杂乱了,统一性不强。我就准备重新整理一下之前写的文章,并且准备重新开一个专题来写自己折腾的内容,专题的名字就叫-原来服务器这么有用。

    2024年02月04日
    浏览(49)
  • 前端实现复制文字和图片,原来这么简单!

    实习工作中,遇到一个需求,需要完成点击复制的功能,当文字过长的时候,让用户手拖再ctrl+c这种方式体验就不是很好了,如果可以点击一下直接复制就是一种不错的优化用户体验的方式。 经过查阅文档,网络上完成这个功能大多使用两大类方法 第一种是以document.execCom

    2024年02月11日
    浏览(32)
  • Python制作进度条,原来有这么多方法

    如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。 在这几行代码中,我们可以看看如何在命令行脚本以及 PySimpleGUI UI 中添加进度条。 下文将介绍 4 个常用的 Python 进度条库: 第一个要介绍的 Py

    2024年02月08日
    浏览(29)
  • AI制作口播视频,原来这么简单

    💡大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、读书和自媒体。 在前面的文章中,我们介绍了生成自己专属卡通形象照,这张照片不仅能作头像,还可以让照片说话,作为我们的数字人,能进行口播短视频制作。做自媒体的都知道,一旦跑通了几个流程,

    2024年02月10日
    浏览(40)
  • Python实现京东茅台抢购脚本, 原来这么简单

    前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 开发环境: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版 京东茅台抢购脚本可以分为以下几部分,具体实现步骤如下: 1. 登录京东账号 首先需要登录京东账号。 一个简单的方式是使用Python的 selenium 库。 在使用 seleniu

    2024年02月13日
    浏览(45)
  • 央视的《AI我中华》宣传视频,原来这么简单?

    前段时间,央视的《爱我中华》AI宣传短片火爆全网,有一个穿越转场效果非常惊艳! 今天就先来详细讲解,如何利用Stable Diffusion制作这样的穿越转场视频。 用到的扩展插件就是大名鼎鼎的Deforum,其实很早以前很火的“瞬息全宇宙”视频也是用它来完成的。 需要AI绘画素材

    2024年04月26日
    浏览(23)
  • 网工视角看基础网络,原来这么与众不同

    大家好,我是老杨。 前两天去华为生态大会刚回来,颇为感慨。 感慨万物互联的世界越来越大,网络渗透度也越来越极致化。 网络很大,非常大,但在网工眼里,网络复杂又美妙,有着外行人难以理解的魅力 想看我去这次大会到底逛了些啥的,可以看我的第二篇专门写的游

    2024年02月04日
    浏览(39)
  • 原来Vinted注册这么简单!Vinted注册保姆级教程分享

    如果是日本的二手平台代表是煤炉,美国是PoshMark,那欧洲呼声最高的就是Vinted了,今天东哥就给大家科普一下Vinted这个平台,教大家怎么去成功注册Vinted,开启自己的Vinted跨境电商之旅。 Vinted跟煤炉、某鱼差不多性质,是一个二手服装商品和配饰的平台,支持在 iOS、Andr

    2024年02月09日
    浏览(35)
  • Java原来可以这么玩!CV实现多张图片生成视频

    比如我像将几张图片变成一个视频的形式发不到短视频平台,虽然短视频平台也有上传图片变成视频的功能,但是我想要具体控制每张图片显示多久后切换到下一个图片,短视频平台目前无法实现,于是乎,我用java代码实现了这个功能。 生成视频展示 多张图片生成视频 Ja

    2024年01月17日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包