c# でsingle page web 開発できる blazor その魅力...c# でsingle page web アプリを...
TRANSCRIPT
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自習書を作ってみました
GitHub で公開 https://j.mp/selflearn-blazor-jp
ソースコードも同梱
Blazor が描く開発生産性向上の可能性を評価
この自習書に沿って実際に開発することで…
まとめ
実験的プロジェクト
今日時点でも Blazor を体験することには
価値がある
Blazor は良いものだ
願わくば…
なぜ、広く伝えたいのか?
なぜならば、
Blazor を選ぶことで自分は Happy になれる予感がしたからです。
この思いに共感した方がもしこの中にいらっしゃれば、
次は、あなたが
その思いを Share しましょう!
Lean, Practice, Share.
© 2018 Junichi Sakamoto All rights reserved.
本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。
本情報の内容 (添付文書、リンク先などを含む) は、de:code 2018 開催日 (2018年5月22~23日) 時点のものであり、予告なく変更される場合があります
Happy Coding. :)