[第一话] 一切的开始,web assembly

一睁开眼,发现出现在自己眼前的是没见过的景色
这里是哪里...
一阵晕眩过後
对了我想起来了,前一天晚上的我
正熬夜看着js
正看见type of NaN == Number
明明不是数字 他却是数字
我的头好痛,是谁创出这种奇怪的东西
一怒之下将手中的书丢了出去
没想到竟然砸中了天花板的吊灯
跟我阿公年纪一样的吊灯就这样掉了下来
接着,我就没有接着的印象了,
没想到最後的自己, 竟然是被js给搞死的
突然偷又一阵阵痛, 我又昏了过去
在昏过去之前,我依稀听到了「记得准备开发环境」的话语...

在前端框架百发齐放的今天
身为web工程师,不论是前端工程师还是後端工程师,
多少听过诸如angular/vue/react这三大前端框架。
但是在学习框架之前,必须先花费时间成本去学习javascript这门语言,
虽然相对於C#,javascript学习起来较为容易。
但与此同时javascript也有很多奇怪的地方与坑,
对於习惯C#的我们看起来还是非常的奇怪。
所以,如果有一天,我们能使用熟悉的C#语言做前端的开发,岂不美哉。
而那天就是今天!

WebAssembly

在开始之前,我们先来介绍一下webassembly这个咚咚
根据wiki,webassembly是一个实验性的低阶程序语言,应用於浏览器内的客户端。WebAssembly是可携式的抽象语法树,被设计来提供比JavaScript更快速的编译及执行。WebAssembly将让开发者能运用自己熟悉的程序语言(最初以C/C++作为实作目标)编译,再藉虚拟机器引擎在浏览器内执行。
换言之,就是能使用js以外的语言不论是go, c/c++, C#等等进行前端的开发。
而且执行效率更为快速

但是由於web assembly 是属於比较新的功能,
所以使用上必须要浏览器的支援
像是大前辈IE 就不支援
(都1202年了还有人在用IE吗)
这边提供各家浏览器版本对webassembly的支援
https://caniuse.com/wasm

目标

针对30天的进度会拆成3部分进行的
最初会介绍基本的blazor语法/生命周期
整个框架的一些概观
中间会加上後端api进行前後串接
最後会做一个简易的电商网站

nice to have(我是104上的徵才广告)

希望看这篇文章的你
最好有

  1. C#的基础概念,可以看看小弟去年的文章
  2. html/ css 的基本概念
  3. 最好能有後端api开发的经验,没有也没关系

开发工具会使用vs2019进行开发
安装可以参考我去年的文章[Day1] 工欲善其事 必先利其器(C# 介绍与安装IDE)

Blazor就交给明天的我来进行介绍了


<<:  [13th][Day5] Goroutine

>>:  D14: 工程师太师了: 第7.5话

D-25-回圈 loop ? foreach ? while

回圈 loop 昨天小光更进一步的认识了逻辑判断式,也开始自己开发了一个心情显示器,不过如果要表现1...

[NET Core]Epplus於linux环境下无预设lib的报错与解决

Epplus於linux环境下无预设lib的报错与解决 Epplus为.NET众所皆知的Excel读...

Day#30 行百里者半九十

这一个月来的心得 没想到居然是最後一天了。 由於也没有特别安排时程的关系,没有完成第二份好像也不是特...

Day12 -画布操作与编织复杂图形2

Scale() - 缩放 相对於目前的画布大小进行缩放,如 scale(0.5)。 -> 变成...

Day 27 「能省则省」Clean Architecture ft. CQRS

大家有看过以前乡下那种烧柴的大灶吗? 图片截自爆废公社 记得以前小时候,阿公阿嬷家有这种烧柴的大灶,...