2023年3月11号,MASA技术团队参加了“.NET开发者日”,IoT项目经理郭浩在活动中做“Blazor 在 IoT 领域的前端实践”的主题分享
郭浩
数闪科技 IoT 项目经理
从事 .NET 开发10余年,目前在数闪科技担任 IoT 项目经理,有大量 IoT 产品的开发经验,在 Android 和 iOS 的 Blazor MAUI 开发上有大量实践经验。
本次分享主要分为两个部分
第一部分
我们为什么要在IoT项目中使用Blazor技术,Blazor给IoT带来了什么?
第二部分
以一个IoT项目举例,使用Blazor 和MAUI技术的落地具体内容,最后还有我们在开发和调试过程中的经验分享。
为什么采用Blazor技术
Blazor的优势
Web应用程序已经发展了大约30年,在此期间,硬件和软件技术都发生了巨大的变化。然而,Web应用程序和网站的性质基本上没有变化:我们有一个面向用户的前端,以及一个包含内部数据和逻辑的后端。
这意味着构建这样的应用程序至少需要(前端+后端)两个技术层。现在,由于Web应用程序的内部复杂性使许多开发人员只能专注于特定层。前后端分离仍然是市面上主要的开发模式。
微软的早期架构中,也是更倾向于界面和逻辑都是同一个人完成,比如MVC和Webform技术。后期由于网络带宽的提升,对用户界面的要求越来越高,就出现了前后端分离的开发模式。但前后端的分离也导致了沟通成本的增加,尤其对于新手的开发,前后端互相不了解对方的技术,配合的时候就会产生很多问题。这时又催生出全栈工程师这个职位。很多大公司要想赶在对手之前抢先占领市场,就需要一个效率极高的开发团队,提高团队效率一个很有效的方法就是减少沟通成本,那么显而易见全栈工程师是最适合的。
其实,独立技术在前后端都得到了非常大的发展,Javascript和Java就是一个典型的例子,他们之间已经毫无关系,唯一的共同点就只有类C语法。后来,框架出现在市面上,但它们主要为其他技术的提供容器。第一个实际改进来自Node.js,它允许在前端和后端开发以及存储使用单一语言。
Blazor也取得了类似的突破,Blazor允许C#程序员使用单一语言进行后端和前端开发,并充分利用 .NET库和 .NET基础环境来生成客户端应用程序。此外,由于它可以与Javascript相互操作,如果需要,Blazor可以与现有的前端库集成,通过C#调用它们。
Blazor 允许在服务端编写应用程序来生成 UI 组件,并通过 SignalR 实时交互。
受欢迎的Blazor应当具有哪些特点?
-
需要全栈开发
-
具有来自服务端的高频更新的应用程序。
-
需要通知的应用。
-
需要仪表板和监控的应用程序
-
实时协作应用。
IoT就是典型的符合前四项特点的应用,这些特点使 Blazor成为适合为IoT的解决方案提供支持
<