Post on 21-Aug-2020
C# で Single Page Web アプリを
開発できる Blazor ― その魅力
AD61
C# ASP.NET Core MVC
TypeScript Angular 5
• JavaScript
• むしろ好きなほう
スピーカーのプロフィール
そんなスピーカーが虜になった"Blazor" とは?
Blazor とは
SPA フレームワーク
実行環境
開発環境
トランスパイラではありません
C#プログラムがブラウザで動作する!?
※本セッション中では、"C#" ばかり連呼してますが、このような動作原理なので、実は VB や F#はじめ、とにかく .NET アセンブリであれば Blazor アプリ内から参照して実行することができます。(但しスピーカー自身は未検証)
.dll がブラウザに次々とロードされていきますw
• SPA フレームワーク
込み
"C# がブラウザで動く" だけではありません
http://blazor-flight-finder.azurewebsites.net/
Visual Studio
IDE 用の Add-In
"C# がブラウザで動く" だけではありません
ActiveXなどのプラグイン技術ではない
HTMLテンプレートは Razor 構文で記述
• 静的コンテンツ
Blazorで作るのは SPA!
2.1
2017 v.15.7
拡張
Blazor Language Services
Blazorで SPA開発するのに必要な環境
※Linux/macOS では現時点では IDE 支援はありませんが、dotnet CLI での開発が可能なはずです (但しスピーカーは未確認)。
プロジェクトの新規作成から、すぐに作れる!
スピーカーはなぜ "Blazor" の虜になったのか?
学習コストが小さい
開発支援
共有
Blazor は開発者負担を減らす!
1. C#開発者に対し追加の学習コストが小さい
C# 開発者に対し、追加の学習コストが小さい
JavaScript/TypeScript やっ
てない C#開発者
SPA デビューできる可能性も?
C# のプロジェクト。
NuGet
C# 開発者に対し、追加の学習コストが小さい
2. Visual Studio IDE による開発支援
Visual Studio IDE による開発支援
Visual Studio IDE による開発支援
Visual Studio IDE による開発支援
※Visual Studio の Professional 版以上だと、当然、Code Lens 機能でも参照を追えます。
3. サーバー/クライアント間での型と手続きの共有
サーバー/クライアント間の、型と手続きの共有
サーバー/クライアント間の、型と手続きの共有
日時型に限ら
ず、メソッドや計算プロパ
ティも含めて、サーバー側
と同じオブジェクトが復元
サーバー/クライアント間の、型と手続きの共有
同じ型情報を共有・
使用可能
それほど良いものなら、なぜ"Blazor" を今すぐ使わないのか?
まだ実験的プロジェクトだから…!
https://twitter.com/danroth27/status/970174117109424128
魅力薄い…
他にもある、Blazor のちょっと残念な点…
…とはいえ。
スピーカーは思う。"Blazorは良いものだ"をもっと共有したい!
そこで Blazor自習書を作ってみました
ソースコードも同梱
Blazor が描く開発生産性向上の可能性を評価
この自習書に沿って実際に開発することで…
まとめ
実験的プロジェクト
今日時点でも Blazor を体験することには
価値がある
Blazor は良いものだ
願わくば…
なぜ、広く伝えたいのか?
なぜならば、
Blazor を選ぶことで自分は Happy になれる予感がしたからです。
この思いに共感した方がもしこの中にいらっしゃれば、
次は、あなたが
その思いを Share しましょう!
Lean, Practice, Share.
© 2018 Junichi Sakamoto All rights reserved.
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。
本情報の内容 (添付文書、リンク先などを含む) は、de:code 2018 開催日 (2018年5月22~23日) 時点のものであり、予告なく変更される場合があります
Happy Coding. :)