原来.NET写的Linux桌面这么好看? 看点
Blazor
在Linux
平台下运行Desktop
程序本文将讲解如何使用Blazor
运行跨平台应用,应用到的技术有以下几点
(资料图片仅供参考)
用于验证跨平台性,并且是否提高开发效率,Blazor和Photino一块使用的技术称为Blazor Hybrid
,
Blazor是一种使用.NET和C#构建客户端Web应用程序的新兴技术。它允许开发者在浏览器中直接运行.NET代码,而无需依赖JavaScript。Blazor的技术优点主要表现在以下几个方面:
单一语言栈:Blazor允许开发者使用C#和.NET进行全栈开发。一种语言用于前端和后端可以大大简化开发过程,减少错误并提高效率。不再需要在JavaScript和C#之间来回切换,这减少了上下文切换的复杂性和出错的可能性。相比之下,传统的Web开发需要使用JavaScript、HTML、CSS等多种语言,而且JavaScript并不具备强类型特性,因此更容易出错。
运行在WebAssembly:Blazor利用WebAssembly(Wasm)技术,在浏览器中运行.NET代码。WebAssembly是一种在现代浏览器中运行的低级语言,它比JavaScript更接近机器语言,所以运行速度更快。而且,WebAssembly在浏览器中的执行环境是沙盒化的,这意味着它可以在不影响其他系统资源的情况下安全地执行。
强类型检查:Blazor使用C#,这是一种强类型语言。相比于JavaScript,强类型语言可以在编译时捕获更多的错误,降低运行时出错的可能性。同时,强类型语言可以提供更好的自动完成、重构和智能提示功能,这些都可以大大提高开发效率。
复用代码和库:由于Blazor使用.NET,你可以在前端和后端共享相同的数据模型和业务逻辑代码,避免了因为同步前后端代码而产生的大量重复工作。此外,.NET的库生态系统非常丰富,这意味着你可以在Blazor应用中直接使用大量现有的库和框架,无需对其进行修改。
组件化架构:Blazor采用了组件化的设计模式,这使得你可以创建可复用的UI组件,提高代码的可读性和可维护性。组件化架构也使得测试变得更加容易,因为每个组件都是独立的,可以单独进行测试。
与现有技术的兼容性:Blazor并不排斥其他Web技术。你可以在Blazor应用中使用JavaScript和JavaScript库,也可以将Blazor组件嵌入到现有的MVC或Razor Pages应用中。这种兼容性使得Blazor更加灵活,可以适应各种复杂的需求。
现代化的开发体验:Blazor支持热重载,这使得你可以在保存代码更改后立即在浏览器中看到效果,无需手动刷新页面。这大大提高了开发效率,让开发者可以快速迭代和调试。此外,Blazor还支持使用SignalR实现实时通信,使得创建实时Web应用变得更加简单。
Microsoft的支持:Blazor作为Microsoft推出的一项技术,得到了强大的技术支持。Microsoft为Blazor提供了完善的文档,使得开发者可以快速学习和掌握这项技术。此外,Microsoft还定期发布更新,以增强Blazor的功能、改进性能和修复问题。强大的社区支持也是Blazor的一大优势,开发者可以在社区中寻求帮助、分享经验或参与到项目的贡献中。
跨平台支持:Blazor应用可以在任何支持WebAssembly的浏览器上运行,这意味着它具有出色的跨平台兼容性。你可以使用Blazor开发桌面、移动和Web应用,而无需针对不同平台编写不同的代码。
安全性:Blazor支持ASP.NET Core Identity和OAuth 2.0等安全认证和授权机制。你可以方便地为你的应用程序添加安全措施,以保护用户数据和应用程序资源。
可扩展性:Blazor的设计允许开发者创建自定义组件、中间件和服务,以满足特定需求。这使得Blazor具有很高的可扩展性,可以适应各种复杂的应用场景。
渐进式Web应用(PWA)支持:Blazor支持创建渐进式Web应用(PWA),这意味着你可以创建可离线运行、具有原生应用般表现的Web应用。PWAs在性能、可访问性和用户体验方面具有很多优势,使得它们越来越受到开发者和用户的青睐。
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赞助(快乐肥宅水)
标签:
- 原来.NET写的Linux桌面这么好看? 看点
- 天天热点评!“大嫂”高叶出发戛纳,穿得好像平时逛街,妆都不化只剩半条眉毛
- 今晚开赛!惠若琪现身厦门 天天快讯
- 桃源县“全国助残日”活动筹得善款善物近72万元
- 党的基层委员会总支部委员会支部委员会每届任期是多久 党的基层委员会总支部委员会支部委员会每届任期|环球聚焦
- 13万亿美元未兑现!G7被批给“全球南方”开空头支票
- 设计还没思路?快来试试这一招!
- 2023中国华录杯·数据湖算法大赛即将启动
- 百融云-W(06608)5月17日斥资632.58万港元回购62.2万股-简讯
- 新动态:当日快讯:92股获机构买入型评级,芒果超媒关注度最高
- 头痛医头哪不对?当心“小心眼”也能致头痛
- 万族之劫与全球高武的关系 慎和劫的关系 世界今日报
- 全球微速讯:视频|动画6分钟!看山东这样质量强省
- 每日快播:Lisa刘亦菲赞达亚同框上热搜 网友:有眼福了
- 天天看热讯:国际物流集运服务平台“远华集运”获得3000万人民币天使轮投资
- 817万人选蔡英文后悔了?这5种人最不挺民进党
- 众安贷是正规贷款吗1 世界快播报
- RNG老板被强制执行1248万 还有另一场官司在路上
- 环球今日报丨天津城投集团:"22津投12"将于6月28日进行回售 发行规模5.7亿元
- 新疆外贸进出口同比增长82.7%
- 天天观点:耐克INS:文班亚马会改变篮球吗?请拓展想象空间 等待已结束
- 全球看热讯:港股概念追踪 | 频迎利好!两部门发文支持新能源汽车下乡 下沉发展有望撬动千亿级市场(附概念股)
- 天天快看点丨石化c5是什么意思(石化产品范围包括什么)
- 向日葵行动第5届鼎翰公益健步走活动启动会圆满举行
- 每日视点!热血、拼搏!总冠军“二老”诠释“冠军的心”
- 世界即时:共同谱写中国-中亚关系美好明天
- 全国就指委持续助力促进高校毕业生就业 每日热讯
- 5月16日基金净值:国投瑞银进宝灵活配置混合最新净值3.3893,跌0.5%
- 低音谱号完整版_低音谱号 世界快报
- 存在感消失的鸭舌帽漫画_存在感消失的鸭舌帽_全球观天下