为什么要写一点关于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页面来结束这一次吐槽。