Blazor 簡單介紹 - C# 全棧工程師的福音

WASM

想知道Blazor 的前世今生,需要先了解一下 WebAssembly逆皮。
WebAssembly 是由主流瀏覽器廠商組成的 W3C 社區(qū)團(tuán)體 制定的一個新的規(guī)范。
WebAssembly/wasm WebAssembly 或者 wasm 是一個可移植闽寡、體積小代兵、加載快并且兼容 Web 的全新格式。
谷歌爷狈、蘋果植影、微軟和Mozilla的工程師正合力創(chuàng)建WebAssembly(又名wasm),這是能夠運用在未來瀏覽器中承諾可帶來20倍更快性能的字節(jié)碼(bytecode)淆院。WebAssembly項目創(chuàng)造全新的字節(jié)碼(一種機(jī)器可讀的指令集何乎,能夠更快為瀏覽器加載高級語言),讓桌面和移動端瀏覽器相比較網(wǎng)頁或者應(yīng)用的整體源代碼變得更加高效土辩。

Blazor

Blazor 是一個 Web UI 框架支救,可通過 WebAssembly 在任意瀏覽器中運行 .Net 。也就說拷淘,你可以用C# 寫前端各墨。可以理解為启涯,這是一個C#語言的Vue, Angular, React贬堵。
Blazor 擁有現(xiàn)代 Web 框架具備的所有功能,包括:

  • 用于構(gòu)建 composable UI 的組件模型
  • 路由
  • 布局
  • 表格和驗證
  • 依賴注入
  • JavaScript 互操作
  • 開發(fā)期間在瀏覽器中實時重新加載
  • 服務(wù)器端渲染
  • 在瀏覽器和 IDE 中全面調(diào)試 .NET
  • 能夠通過 asm.js 在較早版本的(非 WebAssembly )瀏覽器上運行

Blazor GitHub 地址:https://github.com/aspnet/blazor
Blazor 文檔地址: https://blazor.net/

開發(fā)環(huán)境

  1. 安裝 .NET Core 2.1 SDK 或更高版本
  2. 安裝 Visual Studio 2017 15.7 或更高版本
  3. 安裝最新的 Blazor Language Services extension

創(chuàng)建項目

使用 Visual Studio结洼,新建 ASP.NET Core Web Application 項目,


image.png

如果你不喜歡 Visual Studio 黎做,也可以用命令行創(chuàng)建項目

dotnet new -i Microsoft.AspNetCore.Blazor.Templates
dotnet new blazor -o BlazorApp1
cd BlazorApp1
dotnet run

界面及代碼簡單解析

image.png
@page "/counter"
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" onclick="@IncrementCount">Click me</button>
@functions {
    int currentCount = 0;
    void IncrementCount()
    {
        currentCount++;
    }
}
  • @page 表示本頁面(組件)在路由中,如果沒有這一行代碼松忍,那么可以作為獨立組件使用蒸殿,只是不能使用 http://localhost:14747/counter 這個url 訪問。
  • @functions 可以理解為一個 Controller 類(C# MVC)
  • currentCount 是一個 int 類型的成員變量
  • @currentCount 在HTML代碼中渲染 currentCount值
  • IncrementCount() 是一個 C# 函數(shù)鸣峭,每次調(diào)用宏所, currentCount 增加1
  • onclick="@IncrementCount()" 類似于javascript中的 onClick。

用過 Vue, Angular, React 或者WPF 的對于這種代碼應(yīng)該一眼就能看出來摊溶,MVVM模式爬骤。

Blazor 的現(xiàn)狀

目前Blazor 處于Alpha階段,最新版本號0.4.0(2018年6月11日)莫换。
我的感覺是霞玄,目前來說,效果已經(jīng)很驚艷拉岁,用來做后臺管理界面問題不大溃列。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市膛薛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌补鼻,老刑警劉巖哄啄,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雅任,死亡現(xiàn)場離奇詭異,居然都是意外死亡咨跌,警方通過查閱死者的電腦和手機(jī)沪么,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锌半,“玉大人禽车,你說我怎么就攤上這事】常” “怎么了殉摔?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長记焊。 經(jīng)常有香客問我逸月,道長,這世上最難降的妖魔是什么遍膜? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任碗硬,我火速辦了婚禮,結(jié)果婚禮上瓢颅,老公的妹妹穿的比我還像新娘恩尾。我一直安慰自己,他們只是感情好挽懦,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布翰意。 她就那樣靜靜地躺著,像睡著了一般巾兆。 火紅的嫁衣襯著肌膚如雪猎物。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天角塑,我揣著相機(jī)與錄音蔫磨,去河邊找鬼。 笑死圃伶,一個胖子當(dāng)著我的面吹牛堤如,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窒朋,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼搀罢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了侥猩?” 一聲冷哼從身側(cè)響起榔至,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎欺劳,沒想到半個月后唧取,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铅鲤,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年枫弟,在試婚紗的時候發(fā)現(xiàn)自己被綠了邢享。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡淡诗,死狀恐怖骇塘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情韩容,我是刑警寧澤款违,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站宙攻,受9級特大地震影響奠货,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜座掘,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一递惋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧溢陪,春花似錦萍虽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咆霜,卻和暖如春邓馒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蛾坯。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工光酣, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脉课。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓救军,卻偏偏與公主長得像,于是被迫代替她去往敵國和親倘零。 傳聞我的和親對象是個殘疾皇子唱遭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 我們非常榮幸地宣布 Visual Studio 2017 現(xiàn)已推出! 此次發(fā)布提供新的輕量模塊式安裝體驗呈驶,可根據(jù)自...
    三夢哥閱讀 7,717評論 0 6
  • 性能改進(jìn) 改進(jìn)性能是此版本的一個重點所在拷泽。 除對提高內(nèi)存和響應(yīng)作出一些優(yōu)化外,整個 JavaScript/Type...
    三夢哥閱讀 3,674評論 0 3
  • 2009年夏天,刺眼的陽光照在草地上跌穗,知了聲此起彼伏订晌,草叢中噴出的水柱劃出優(yōu)美的弧線,在空中互相交錯蚌吸,歡快的水花在...
    螢燭之尚閱讀 435評論 1 8
  • 二 有首歌唱道:你是行路人,我也是行路人……只有行路人砌庄,最理解行路人…… ...
    美麗北灣閱讀 195評論 0 0