尝试使用blazor(一)吐槽blazor,未开始之前,先吐为敬

          为什么要写一点关于blazor的文章呢?其实是没什么人看的,我知道blazor目前在国内使用的人数,恐怕一辆大巴车都坐不满。非常冷门,我刚用blazor遇到问题,花钱找人解决,找了国内几个著名的平台,几乎没人会blazor。然后在某宝遇到一个说保证能解决的,结果是个骗子。骗了我1千多块大洋,那货至今没得到处罚。但是呢我还是决定定一些关于blazor的,万一有人想用,又像我一样找不到中文资料呢。当然我自己也就用来做了一个小的项目,也没有深入使用,后来做别的类型去了。

        1、为什么要用它?

        本人做过一些c#的winform和wpf项目,但是并没有做web的经验。看到微软出了blazor这个技术,可以用c#写前端代码,不怎么需要javascript,于是决定试试。javascript呢,我也简单地看了一下。说实话javascript的语法,对于习惯c#的人来说,非常地不适。前后端都是c#,对于一个已经做过多年c#项目的人来说,感觉会比较简单(其实是一个错觉)。

        2、blazor真的前后端都只用c#吗?

         基本上是真实的,可以说90%的代码,都可以用c#来解决掉,当然不包括css+html代码。blazor只是代替javascript,由css+html+javascript变成css+html+c#来完成web前端。其实这个说法是不准确的,应该是变成css+html+c#+javascript,因为blazor也有一部分代码必须使用javascript。到这里,细心的朋友,可能就听出来玄机了。blazor真的让web前端变简单了吗?不是的,由三种技术变成了四种技术,你觉得是简单还是复杂了。blazor和vue都使用过的同志明来确地告诉你,blazor其实比vue这种标准的前端要复杂得多。为什么呢?原因之一:因为就前端本身来说,blazor其实是在纯前端的技术上加了一层c#,而不是用c#完全代替javascript。原因之二:一般来说用blazor的人是兼职的前端,他还得做后端的asp.net core。这又前端,又后端的,当然比vue这种纯前端要复杂得多。

        3、Blazor会取代JavaScript吗?

就目前而言,答案是否定的。Blazor是JavaScript的一种补充方案,但并不是一个完全替代的选择。

Blazor支持您已经习惯并在现代Web应用程序中使用的许多标准浏览器功能,但并非全部。在Blazor不支持某个功能的情况下,可能需要一些少量的JavaScript代码来实现您的Web应用程序的需求。其中一个例子是地理位置服务 - 如果您想要检测用户的位置并为其周围的产品和服务提供建议,您将需要与JavaScript进行交互。

Blazor是否有一天能够完全取代JavaScript尚不清楚,但即使在今天,它也已经很接近了。Blazor已经在流行的JavaScript框架中竞争激烈,并且这种竞争只会加剧。

        4、blazor就没优点吗?

        没优点,我还在那写半天,不是浪费时间吗?首先,就是c#语言和javascript的比较,c#写起来确实非常舒服。其次,blazor webassembly这种模式,是一个很创新的模式。或者在未来会成为主流,当然也有可能没有未来。再次,blazor生成的项目,在win中可以直接双击EXE文件就运行,连node.js和Nginx这些都省了,在linux中也只需要配置Nginx就能使用了,非常方便。

        最后,我们用blazor的hello world页面来结束这一次吐槽。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【docker】centos7配置docker镜像阿里云加速

国内从 DockerHub 拉取镜像有时会遇到困难,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务。 测试了几次阿里云的加速是最快的。 …

Golang | Leetcode Golang题解之第131题分割回文串

题目: 题解: func partition(s string) (ans [][]string) {n : len(s)f : make([][]int8, n)for i : range f {f[i] make([]int8, n)}// 0 表示尚未搜索,1 表示是回文串,-1 表示不是回文串var isPalindrome func(i, j int) int8…

Hive 面试题(五)

1. 简述分区表和分桶表的区别 ? 分区表(Partitioned Table)和分桶表(Bucketed Table)都是Hive中用于优化查询性能的数据组织方式,但它们在概念和用途上有所不同: 分区表(Partition…

安装 JDK 8

安装包 百度网盘 提取码:6666 安装步骤 安装路径不要有中文或者特殊符号如空格等。 双击安装包开始安装。 更改安装路径: 跳出一个页面,安装公共 JRE: 配置环境变量: 配置成功: 去掉自动更新

git子模块

1 子模块管理的关键文件和配置 在 Git 中使用子模块时,Git 会利用几个特殊的文件和配置来管理子模块。以下是涉及子模块管理的关键文件和配置: 1.1 .gitmodules 这是一个文本文件,位于 Git 仓库的根目录下。它记录了子模块的信息&#xff…

AI数据分析:用deepseek根据Excel数据绘制分裂饼形图

工作任务:要绘制下面表格中月活用户占比的分裂饼形图 在deepseek中输入提示词: 你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下: 读取Excel文件"F:\AI自媒体内容\AI行业数据分析\poetop5…

【LLM】度小满金融大模型技术创新与应用探索

note 从通用大模型到金融大模型金融大模型的训练技术创新金融大模型的评测方法创新金融大模型的应用实践创新总结:金融大模型迭代路径 一、轩辕大模型 二、垂直大模型训练 1. 数据准备 数据质量是模型效果的保障。首先数据要丰富,这是必备的条件。我们…

r语言编程艺术 mobi:深度解析R语言编程的奥秘与魅力

r语言编程艺术 mobi:深度解析R语言编程的奥秘与魅力 在数字化时代的浪潮中,R语言以其强大的数据处理能力和灵活的编程特性,逐渐成为数据分析领域的热门选择。而《r语言编程艺术 mobi》这本书,则为我们揭示了R语言编程的深层次奥秘…

除了springboot你还有哪些国产java web框架可以选择

在Java Web框架领域,除了广泛使用的Spring Boot之外,还有多个国产框架可供选择。这些框架各具特色,旨在提供更轻量、更快速、更易于使用的解决方案。以下是几个推荐的国产Java Web框架介绍: 1. **Solon**:Solon是一个…

MeiliSearch-轻量级且美丽的搜索引擎

MeiliSearch-轻量级且美丽的搜索引擎 MeiliSearch 是一个功能强大、快速、开源、易于使用和部署的搜索引擎。它具有以下特点: 支持中文搜索:MeiliSearch 对中文有良好的支持,不需要额外的配置。高度可定制:搜索和索引都可以高度…

TCP和udp能使用同一个端口通讯吗

TCP和UDP是可以使用同一个端口进行通讯的。这是因为TCP和UDP是两个完全不同的协议,它们工作在传输层,各自维护不同的连接和会话。每个协议都有自己的端口号空间,因此TCP和UDP可以互不干扰地使用相同的端口号。 但是,需要注意的是…

UML实现图-组件图

概述 组件图(ComponentDiagram)描述了软件的各种组件和它们之间的依赖关系。组件图中通常包含4种元素:组件、程序、包、任务,各个组件之间还可以相互依赖。 一、组件的表示法 组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。在一般情…

攻防世界---misc---小小的PDF

1、题目描述,下载附件是一个PDF,打开之后是这样,有两页PDF 2、用winhex分析,没有发现奇怪的地方 3、在kali中binwalk发现有多张照片 4、接着使用foremost将图片分离出来, 5、得到3张图片,打开第3张图片&am…

Android音频架构

Android音频架构 前面《Android音频API》介绍了Android系统提供的四个层面的音频API: Java层MediaRecorder&MediaPlayer系列;Java层AudioTrack&AudioRecorder系列;Jni层opensles;JNI层AAudio(Android O引入&…

探索智慧林业系统的总体架构与应用

背景: 随着人们对森林资源保护和管理的重视,智慧林业系统作为一种新兴的林业管理手段,正在逐渐受到广泛关注和应用。智慧林业系统的总体架构设计与应用,将现代信息技术与林业管理相结合,为森林资源的保护、管理和利用…

注册自定义材质实现qgis里不同比例尺下材质不被拉升的效果

前景提要: 在QGIS里的显示效果,用的是示例的/img/textures/line-interval.png材质图片。 下载示例 git clone https://gitee.com/marsgis/mars3d-vue-example.git 相关效果 比如材质是5像素,在1:100000万比例尺下,线显示的长…

树的重心-java

主要通过深度优先搜索来完成树的重心,其中关于树的重心的定义可以结合文字多加理解。 文章目录 前言☀ 一、树的重心☀ 二、算法思路☀ 1.图用邻接表存储 2.图的遍历 3.算法思路 二、代码如下☀ 1.代码如下: 2.读入数据 3,代码运行结果 总结 前言☀ 主…

软考 系统架构设计师系列知识点之杂项集萃(28)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(27) 第43题 以下关于软件架构风格与系统性能的关系叙述中,错误的是( )。 A. 对于采用层次化架构风格的系统,划分的层次越多&#xff0…

电机控制系列模块解析(28)—— 其他功能概述

其他功能概述 软件侧:观测器估计发散保护、时序异常检测 主电路侧:IGBT结温估算、直流母线电容容值估算 电机侧:电机温度估计、轴承异常估计、电机退磁检测 负载侧:负载不平衡检测、掉载检测、负载惯量自适应 上述各项功能&a…

React基础教程(五):事件处理

事件处理 1、绑定事件 1.1、绑定方式1 <Button size{"large"} type{"primary"} onClick{ ()>{console.log("Click1")} }>add1</Button>1.2、绑定方式2 <Button size{"large"} type{"primary"} onClic…