SlideShare a Scribd company logo
Blazor 触ってみた
プログラミング生放送勉強会 第53回
@GMOインターネット (大阪)
2018/09/01 SQLWorld お だ
今日のゴール
Blazor についてふんいきわかるー
Blazor ちょっとできる
Blazor ってなに?
Blazor って何?
https://blazor.net/
Blazor is an experimental .NET web
framework using C# and HTML that runs in
the browser.
ブラウザで動く C# と HTML を使った .NET
の 「実験的な」 Web フレームワーク
ブラウザで動くって?
Web アプリもブラウザで動いてない?
ASP.NET (MVC) と何が違うん?
ブラウザで動くって?
Web アプリもブラウザで動いてない?
ASP.NET (MVC) と何が違うん?
サーバー側で動作するコードを実装して、サー
バー側で動かした結果をブラウザで表示している
クライアント側(ブラウザ)で動作する
コードを実装するのが Blazor!
Q: Is this Silverlight all over again?
No, Blazor is a .NET web framework
based on HTML and CSS that runs in
the browser using open web standards.
It requires no plugin and works on
mobile devices and older brow
https://github.com/aspnet/Blazor/wiki/FAQ
WASM(WebAssembly)で動く!
WASM ベースの .NET ランタイムを使っ
て「通常の .NET アセンブリ」を動か
す!
C# で書いたコードが WASM になるわけで
は無い
Blazor 触ってみた
https://blazor.net/
開発環境
Setup
.NET Core 2.1 SDK (2.1.300 or later)
VS 2017 (15.7 or later)
ASP.NET web development workload
selected
Blazor Language Services extension
VS Marketplace から
色々あるぞ
Blazor
SPA Framework
シングルページアプリケーション のため
の機能が標準搭載
A component model for building composable UI
Routing
Layouts
Forms and validation
Dependency injection
JavaScript interop
Server-side rendering
…
https://github.com/aspnet/Blazor
Razor 構文
Blazor = Browser + Razor = Blazor!
View は Razor で書く
実際に見てみよう
今日のお題
function authenticateUser(username, password) {
var accounts = apiService.sql(
"SELECT * FROM users"
);
for (var i = 0; i < accounts.length; i++) {
var account = accounts[i];
if (account.username === username &&
account.password === password) {
return true;
}
}
if ("true" === "true") {
return false;
}
}
今日のお題
<script>
function authenticateUser(username, password) {
var accounts = apiService.sql(
"SELECT * FROM users"
);
for (var i = 0; i < accounts.length; i++) {
var account = accounts[i];
if (account.username === username &&
account.password === password) {
return true;
}
}
if ("true" === "true") {
return false;
}
}
$('#login').click(function() {
var username = $("#username").val();
var password = $("#password").val();
var authenticated = authenticateUser(username, password);
if (authenticated === true) {
$.cookie('loggedin', 'yes', { expires : 1 });
} else if (authenticated === false) {
$("error_message").show();
}
});
</script>
今日のお題
世界最悪のログイン処理コード?
https://twitter.com/hassy_nz/status/1027
890455940198400
HTML + JavaScript だと?!
クライアントから任意の SQL 投げれそう
クライアントに users データ全部持ってく
るのはアカン
Cookie に簡単な値入れるだけで、認証済に
なる
…
Blazor で実装したら…
.NET の dll になるので…
簡単にバレない!セーフ?
Blazor でもアウトです。やらないように!
今回使ったいくつかの機能を紹介します
Component
Routing
Layout
Binding
DI
JavaScript interop
.NET アセンブリなら何でも動く?
WASM:[System.PlatformNotSupported
Exception] System.Data.SqlClient is
not supported on this platform.
SqlClient に限らず対応してないものも
あって、それは実行時に
PlatformNotSupportedException
まとめ
まだ「実験的」なプロジェクト
全ての Web 開発者用というわけではない
と思う
クライアント側の技術なので、サーバー
側は C#(.NET) で無くてもよい
そういうとこで採用するかは別として
サーバー側とのコード共有 (Req/Res の型)
は大きなメリット
ガンガン使って、
Feedback しよう!
参考資料
Welcome to the Blazor
https://blazor.net/
GitHub – aspnet/Blazor
https://github.com/aspnet/Blazor
Blazor アプリケーションプログラミング自習書
https://github.com/jsakamoto/self-learning-materials-for-
blazor-jp

More Related Content

PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
PDF
WebブラウザでC#実行 WebAssemblyの技術
PDF
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
PDF
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
PDF
ASP.NETの進化とASP.NET Core Blazorの凄さ
PDF
最強オブジェクト指向言語 JavaScript 再入門!
PDF
신입 개발자 생활백서 [개정판]
PDF
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
WebブラウザでC#実行 WebAssemblyの技術
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
ASP.NETの進化とASP.NET Core Blazorの凄さ
最強オブジェクト指向言語 JavaScript 再入門!
신입 개발자 생활백서 [개정판]
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点

What's hot (20)

PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PDF
Spring bootでweb セキュリティ(ログイン認証)編
PDF
How to build massive service for advance
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
PDF
iOS Modular Architecture with Tuist
KEY
やはりお前らのMVCは間違っている
PDF
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
PDF
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
PDF
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
PDF
Laravelの検索機能の実装方法
PDF
Azure サポート チームの現場からお届けする落ちないサービスのために
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
XunitとMoq 公開用
PDF
怖くないSpring Bootのオートコンフィグレーション
PPTX
Introduction to Node js
PPTX
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
PDF
introduction to Vue.js 3
PPT
React js
PDF
自分たちのコードを Composer パッケージに分割して開発する
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
Spring bootでweb セキュリティ(ログイン認証)編
How to build massive service for advance
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
iOS Modular Architecture with Tuist
やはりお前らのMVCは間違っている
Cloud FoundryでDockerも.NETも。新しいDiegoの仕組み入門
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
なぜ初心者は webpackが解らないのか?- Why can’t you understand the webpack? -
Laravelの検索機能の実装方法
Azure サポート チームの現場からお届けする落ちないサービスのために
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
XunitとMoq 公開用
怖くないSpring Bootのオートコンフィグレーション
Introduction to Node js
JavaScriptの仕組みと未来のJavaScript ~ESNextとは~
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
introduction to Vue.js 3
React js
自分たちのコードを Composer パッケージに分割して開発する
Ad

Similar to Blazor 触ってみた (20)

PPTX
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
PPTX
モノづくりBlazor勉強会1回目資料_Blazorについて.pptx
PPTX
Blazor Web Assembly (C#) を触ってみた
PDF
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
PDF
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
PPTX
7 つの Blazor
PDF
Blazor Server テンプレート解説
PDF
Web開発者が始める .NET MAUI Blazor App
PPTX
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
PPTX
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
New Features of DotNet 6 Blazor WASM
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PPTX
20141017 introduce razor
PPTX
burikaigi2023
PPTX
Blazor WebAssembly と Windows Forms でのロジック共有例
PDF
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
モノづくりBlazor勉強会1回目資料_Blazorについて.pptx
Blazor Web Assembly (C#) を触ってみた
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
7 つの Blazor
Blazor Server テンプレート解説
Web開発者が始める .NET MAUI Blazor App
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Application development with c#, .net 6, blazor web assembly, asp.net web api...
New Features of DotNet 6 Blazor WASM
Application development with c#, .net 6, blazor web assembly, asp.net web api...
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
20141017 introduce razor
burikaigi2023
Blazor WebAssembly と Windows Forms でのロジック共有例
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Ad

More from Oda Shinsuke (20)

PDF
SQL Server2022_PSPoptimization_pub.pdf
PDF
What's hyperscale
PDF
Dot net+sql server tips
PDF
Sql server 2019 ざっくり紹介
PDF
Spark on sql server?
PPTX
SQL Server のロック概要
PDF
Linux + PHP でも SQL Server
PPTX
グラフデータベースの話し
PPTX
Sql server 2017 新機能のご紹介
PPTX
Sql server 2017 からはじめる graph データベース
PPTX
Transaction scopeまだダメ
PPTX
Sql serverと他dbの違いを押さえよう!
PPTX
2016年を振り返って
PPTX
Sql world とは
PPTX
開発者の方向けの Sql server(db) t sql 振り返り
PPTX
Sql world とは
PPTX
Ms build 触ってみよう
PPTX
Sql server2014復習とsqlserver2016の紹介
PPTX
Sql server sql database 最新機能紹介
PPTX
Selenium 触ってみよう
SQL Server2022_PSPoptimization_pub.pdf
What's hyperscale
Dot net+sql server tips
Sql server 2019 ざっくり紹介
Spark on sql server?
SQL Server のロック概要
Linux + PHP でも SQL Server
グラフデータベースの話し
Sql server 2017 新機能のご紹介
Sql server 2017 からはじめる graph データベース
Transaction scopeまだダメ
Sql serverと他dbの違いを押さえよう!
2016年を振り返って
Sql world とは
開発者の方向けの Sql server(db) t sql 振り返り
Sql world とは
Ms build 触ってみよう
Sql server2014復習とsqlserver2016の紹介
Sql server sql database 最新機能紹介
Selenium 触ってみよう

Blazor 触ってみた