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

news2024/11/16 6:53:29

          为什么要写一点关于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.coloradmin.cn/o/1800828.html

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

相关文章

【Redis】Redis主从复制(一)————主从搭建

目录 背景主从复制主从复制的工作流程主从复制的优点 配置 redis 主从结构复制配置文件,修改配置主从结构启动 redis 服务备注 查看复制状态 背景 单节点服务器的问题问题: 可用性:如果这个机器挂了,意味着服务就中断了.性能&am…

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

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

创建目录

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,os模块提供了两个创建目录的函数,一个用于创建一级目录,另一个用于创建多级目录。 (1&am…

超详解——深入详解Python基础语法——小白篇

目录 1 .语句和变量 变量赋值示例: 打印变量的值: 2. 语句折行 反斜杠折行示例: 使用括号自动折行: 3. 缩进规范 缩进示例: 4. 多重赋值(链式赋值) 多重赋值的应用: 5 .多…

为什么要将Modbus转成MQTT

什么是Modbus Modbus 是一种串行通信协议,最初由Modicon(现在的施耐德电气Schneider Electric)于1979年开发,用于可编程逻辑控制器(PLC)之间的通信。Modbus协议设计简单,易于部署和维护&#xf…

React hooks动态配置侧边栏

React hooks根据不同需求 还有不同的角色 动态的去配置侧边栏 需求: 点击某个按钮是一套侧边栏 ,不同角色(比如管理员之类的权限高一点)比普通用户多个侧边栏 然后点击另一个按钮是另一套侧边栏 此时,就需要动态的去…

安装 JDK 8

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

【教程】从0开始搭建大语言模型:Word和位置Embedding

从0开始搭建大语言模型:Dataset构造 接上文:【教程】从0开始搭建大语言模型:文本预处理 通过滑动窗口进行数据采样 我们要构造输入-目标对来对模型进行训练。 在LLM中,它通过预测文本中的下一个单词进行训练,如下所…

C#操作MySQL从入门到精通(9)——Mysql中的数据类型以及对应的C#中的数据类型

前言 本文介绍Mysql中的数据类型以及每种类型对应的c#中的数据类型 1、整数 bit int tinyint smallint mediumint bigint 2、浮点数 float double decimal 3、日期时间 year time date datetime timestamp 4、字符型 char varchar tinytext text mediumtext longtext …

如何开发一 VSCode 插件

如何开发一个 VSCode 插件,本文开发一个 VSCode “Hello World” 插件,通过代码了解 VSCode 插件是如何工作的。 安装脚手架 npx --package yo --package generator-code -- yo code根据提示选择,插件开发语言选择 TypeScript ? What type…

原力、百度、人人文档下载工具

只可下载可预览的文档,格式为pdf,不能完全保证下载成功,X度与我们既是对手也是朋友。 本文的软件来自的大神,仅供学习交流,不可做它用。 向的大神致敬!!!

信息系统项目管理师0148:输出(9项目范围管理—9.3规划范围管理—9.3.3输出)

点击查看专栏目录 文章目录 9.3.3 输出 9.3.3 输出 范围管理计划 范围管理计划是项目管理计划的组成部分,描述将如何定义、制定、监督、控制和确认项 目范围。范围管理计划用于指导如下过程和相关工作: ①制定项目范围说明书;②根据详细项目范…

在npm发布自己的组件包

目录 前言 正文 npm和git的对比 Node环境的配置 具体发布步骤 ※※需要注意的是 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ni…

信息系统项目管理师0149:输入(9项目范围管理—9.4收集需求—9.4.1输入)

点击查看专栏目录 文章目录 9.4 收集需求9.4.1 输入9.4 收集需求 收集需求是为实现目标而确定,记录并管理干系人的需要和需求的过程。本过程的主要作用是为定义产品范围和项目范围奠定基础。本过程仅开展一次或仅在项目的预定义点开展。收集需求过程的数据流向如图 9-2 所示。…

力扣 74.搜索二维矩阵

题目描述: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则&am…

【MMU】——ARM 二级页表

文章目录 二级页表项即 entry 的格式如下 二级页表项有三种类型 产生中止异常的故障条目。这可能是预取或数据中止、取决于访问类型。这实际上表示虚拟地址未映射 bit[1:0] 00大页 64KB。bit[1:0] 01。小页 4KB。bit[1:0]1x。 一级页表占用 16KB 的内存,二级页表…

攻防世界---misc---Hear-with-your-Eyes

1、题目描述,下载附件,是一个.gz后缀的文件,查找资料发现,这个后缀是Linux系统的压缩包后缀。这里题目提示了用眼睛听音频,说明会有个音频,并且信息就在音频,可以用眼睛看到 2、将文件放在linux…

警务反诈RPA:利用机器人流程自动化技术打击诈骗行为

信息时代,网络技术快速发展,在丰富生活的同时,也带来了持续高发的电信网络诈骗问题,对社会造成了严重威胁。面对海量的数据信息,传统数据融合技术的瓶颈不断显现,无法满足风险防控、打击诈骗的效率要求&…

使用 Spring Boot 开发邮件系统

文章目录 使用 Spring Boot 开发邮件系统邮件发送流程简单使用第 1 步:pom 包配置第 2 步:配置文件163 邮箱配置126 邮箱配置QQ 邮箱配置如下:开启 POP 3 / SMTP 服务、IMAP / SMTP 服务开通设置客户端授权密码 第 3 步:文本邮件发送第 4 步&…

L45---506.相对名次(java)--排序

1.题目描述 2.知识点 (1)String.join(" ", words) 是 Java 中的一个语法,用于将数组或集合中的元素连接成一个单独的字符串,连接时使用指定的分隔符。这里的 " " 是作为分隔符使用的一个空格字符串。 Strin…