SlideShare a Scribd company logo
ASP.NETの進化と
ASP.NET Core Blazorの凄さ
2
Name:
岡田 将
Work:
Programmer
Blog:
http://sonic.blue/it/
主にMicrosoft系(ASP.NET/C#/VB.NET)やPHPなど
Twitter:
蒼いねずみ @Sonic16bit
自己紹介
Part 01
ASP.NETの歴史と進化
CONTENTS
ASP.NETの進化とASP.NET Core Blazorの凄さ
Part 03
WebAssemblyの技術
Part 02
ASP.NET Core Blazor Serverとは
Part 04
ASP.NET Core Blazor WebAssemblyとは
注意
あくまで個人的見解となります。
実際と異なる内容も含まれている
かもしれませんので、ご了承くだ
さい。
Part.01
ASP.NETの歴史と進化
ASP(Active Server Pages)
ASP.NET WebForm
ASP.NET MVC ASP.NET Core Blazor Server
ASP.NET Core MVC ASP.NET Core Blazor
WebAssembly
1996 2002 2009 2016 2019 2020
ASP.NETの歴史と進化
VBScript,JavaScript
ASP.NET 3.5SP1-4.6
MVC1-MVC5
.NET Core 3.0
ASP.NET 1.0-3.5,Ajax
VB.NET,C#
.NET Core 1.0,MVC5,SPA
.NET Core 3.1
ASPはスクリプト言語で、ほぼPHPと同じ感じでコード記述可能
VBScript/JScriptで記述
<% ‘データベースとの接続処理コードを記入(省略)%>
<table>
<%
For i=0 to 10
%>
<tr>
<td><%= i%></td>
<td><%= rs(“name”) %></td>
<td><input type=“text” value=‘<% = rs(“phone”) %>’ /></td>
</tr>
<%
Next
%>
</table>
これがASP
ASP.NETの歴史と進化
ASP(ActiveServerPage)
Since 1996~
ASPはスクリプト言語で、ほぼPHPと同じ感じでコード記述可能
これはPHP
ASP.NETの歴史と進化
ASP(ActiveServerPage)
Since 1996~
PHPで記述
<?php #データベースとの接続処理コードを記入(省略)?>
<table>
<?php
for($i=1;$i<=10;$i++){
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $rs[“name”]; ?></td>
<td><input type=“text” value=‘<?php echo $rs[“phone”]; ?>’ /></td>
</tr>
<?php
}
?>
</table>
ASP.NETの歴史と進化
ASP.NET WebForm
Since 2002~
ASP.NETはコンパイラ言語になって登場
Windows Formのようにデザイナでサクサク作ることが
出来るようになった
(その分、中身はブラックボックス化)
また、DataBindによる強力なデータ反映が特徴
Single Page Application(SPA)の形式をとっているため、1画面でデータ
登録処理を行うことが可能になった
リリース時は出来なかった非同期通信(Ajax)もUpdatePanelにより
実装された
WindowsServer
のみ動作
ASP.NETの歴史と進化
ASP.NET WebForm
Since 2002~
<%@ Page Language="C#" Inherits="webform.Default" %>
<html>
<body>
<form id="form1" runat="server">
<asp:ScriptManager id="ScriptManager1" runat="server"></asp:ScriptManager>
<div style="background:#aaf;">
Postback:<br/>
<asp:Label id="label1" runat="server"></asp:Label>
<asp:Button id="button1" runat="server" Text="Click me!" OnClick="button1Clicked" />
</div>
<asp:UpdatePanel id="updatepanel1" runat="server">
<ContentTemplate>
<div style="background:#afa;">
UpdatePanel:<br/>
<asp:Label id="label2" runat="server"></asp:Label>
<asp:Button id="button2" runat="server" Text="Click me!" OnClick="button2Clicked" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
HTML
サイド
ASP.NETの歴史と進化
ASP.NET WebForm
Since 2002~
サーバー
サイド
C#で記述
using System;
using System.Web;
using System.Web.UI;
namespace webform
{
public partial class Default : System.Web.UI.Page
{
public void button1Clicked(object sender, EventArgs args)
{
label1.Text = DateTime.Now.ToLongTimeString();
label2.Text = DateTime.Now.ToLongTimeString();
button1.Text = "Postback clicked";
button2.Text = "Postback clicked";
}
public void button2Clicked(object sender, EventArgs args)
{
label1.Text = DateTime.Now.ToLongTimeString(); //Updatepanelからの実行では動作しない
label2.Text = DateTime.Now.ToLongTimeString(); //Updatepanelからの実行で動作
button1.Text = “Updatepanel clicked”; //Updatepanelからの実行では動作しない
button2.Text = "Updatepanel clicked"; //Updatepanelからの実行で動作
}
}
}
ASP.NETの歴史と進化
ASP.NET WebForm
Since 2002~
コードを見て、難しそうと思ったかもしれませんが、
実際の画面作成などは、ドラック&ドロップで簡単!
デザイン機能
が便利
ASP.NETの歴史と進化
ASP.NET MVC
Since 2009~
WindowsServer
のみ動作
当時はやっていた、MVCフレームワークに乗っ取った設計で
フロントの記述はRazor構文になって登場
なんと、コードはすべてオープンソース化
(なので、中身はとても透明化で覗き放題)
既存のASPタグは無くなって、HTMLヘルパー関数が使用可能になる
ASP.NETの歴史と進化
ASP.NET MVC
Since 2009~
HTML
サイド
Razor構文で記述
@{ //データベースとの接続処理コードを記入(省略)}
<table>
@for (int i = 0; =10; i++) {
<tr>
<td>@i</td>
<td>@Model.name</td>
<td><input type=“text” value=“@Model.phone”/></td>
</tr>
}
</table>
ASP.NETの歴史と進化
ASP.NET MVC
Since 2009~
サーバー
サイド
C#で記述
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
Namespace mvcApp.Controllers
{
public class SampleController : Controller
{
[HttpGet]
public ActionResult button1Clicked()
{
//ここにコードを書く
return View();
}
[HttpGet]
public ActionResult button2Clicked()
{
//ここにコードを書く
return View();
}
}
}
ここへJavascriptでbutton1Clickedの
Getメソッドを送る
ASP.NETの歴史と進化
ASP.NET MVC
Since 2009~
WindowsServer
のみ動作
Javascriptフレームワークは使い放題だが、
非同期通信(Ajax)は未対応なので、自力で実装する
Controller側にC#のコードは記述するので、裏側はそれなりに
コーディングが必要
DataBindの機能がなくなったため、データ処理は別の形で
実装しなければいけない(EntityFrameworkで実装する、これはこれで便利)
また、MVCではASPのように複数の画面を遷移しつつデータ登録処理などを
行わなければならないので、画面数がWeb Formより大幅に増えてしまう
ASP.NETの歴史と進化
ASP.NET Core MVC
Since 2016~
Linuxも動作
依存している.NET FrameWorkが.NET Coreになって、
Linuxに対応したバージョンが登場!
出来ることは一緒なので、割愛
ASP.NETの歴史と進化
ASP.NET Core SPA
Since 2016~
Angular(バージョン4)、React、Reduxといった
SPAフレームワークがASP.NETのプロジェクトテンプレートで登場
ASP.NET Web API + ASP.NET MVC
+ jQuery + Bootstrap + knockout.js などで複数の技術を利用して
頑張って構築されているテンプレートとなっている
サーバー側コードはNode.jsなので、TypeScript記述になる
Linuxも動作
Part.02
ASP.NET Core Blazor Serverとは
ASP.NET Core Blazor Serverとは
SPAフレームワークだとTypeScriptが必要だったものが、
サーバー側コードをASP.NET Core SignalR + C#でコーディングが可能と
なった
いままでは、画面側に書けるコードはRazor構文やC#っぽい
特定のコードだけだったが、.NET Standard 2.0まで対応されたため、
ちゃんとしたC#のコードが記述可能になった
Web Formの意思を引き継いでいるということなので、うまく構成すれば、
似たような開発も可能!?
もちろんLinux(macOS)でも動作可能
ASP.NET Core Blazor Server
Since 2019~
SignalR(Websocket)でサーバーと通信して、サーバー処理を実行可能なため、
リアルタイムなレンダリングが可能となっている(サーバーサイドレンダリング)
ASP.NET Core Blazor Serverとは
ASP.NET Core Blazor Server
Since 2019~
ASP.NET Core Blazor Serverとは
従来のヘルパー関数ではなく、しっかりとしたコンポーネント開発に
対応しているため、再利用が可能となっている
ASP.NET Core Blazor Server
Since 2019~
Dialog.razor(コンポーネント側)
<div>
<h1>@Title</h1>
@Content
<button @onclick=“dialogClick”>押してね</button>
</div>
@code {
[Parameter]
public string Title { get; set; }
[Parameter]
public RenderFragment Content { get; set; }
private void dialogClick()
{
Console.WriteLine(“押されたよ!");
}
}
Index.razor(コンテンツ側)
@page "/"
<h1>Blazorサンプル</h1>
<button @onclick=“ButtonClick”>ボタン</button>
<div>@InputText</div>
<Dialog Title=“testdialog” Content=“ダイアログ表示”>
押されたかな?
</Dialog>
@code {
string InputText;
void ButtonClick()
{
InputText = “ボタンが押されたよ";
}
}
Part.03
WebAssemblyの技術
JavaScriptから脱却するために期待される技術
WebAssemblyの技術
Javascriptにはインタプリタ型の利点もありますが、コンパイラ型と比べると実行速度は遅
いです。
また、クライアントのブラウザバージョンに依存する関数などもあり、プログラムとして
は不安定になります。
そこでWebAssemblyでは、C/C++のコンパイル済みのバイナリ(WASM)ファイルを読み
込み、ブラウザ側から実行することで、高速化およびJavascriptに依存しないプログラミン
グが可能となる技術となっています
事前に独立したバイナリファイルがあるため、完全にサーバーとの通信を発生させないこ
とも可能となっています。
バイナリなのにどうやって各種CPUへ対応できるのか
WebAssemblyの技術
実はWebAssembly は 本来の意味でのアセンブリ言語ではなく、あくまでサーバー側がブ
ラウザ側に対応したバイナリファイルを出力しています。
(x86、x64、ARMなどのコンパイルターゲットが不明なため)
実際にどのマシンで実行されるかわからないため、ブラウザが WebAssemblyのバイナリ
コードをダウンロードした時点で、実行可能なアセンブリに変換がなされます。
そのため、CPUの種類に影響されない実行が可能となっています。
WebAssemblyの期待される活用範囲
WebAssemblyの技術
配布されるのがアセンブリのため、コードのセキュリティ性が高いうえ、従来のJavascriptでの
実行では遅かったり、難しい部分に対して置き換えて実行させることで速度の向上が期待でき
ます。
実行速度はC/C++のソフトウェア速度には劣りますが、20%程度の負荷程度となっています。
また、OSとは切り離されたブラウザ上での実行となるため、安全な実行となります。
(クラッシュしても実行クライアントに大きな影響を与えない)
そのため、今までサーバー側で処理していた演算をクライアント側に分散させたり、一時的な
オフライン処理はもちろん、独立したクライアントアプリとしても実行可能となります。
(クライアントへ依存した分、WASMファイルは大きくなり、ロード時間もかかります)
例)ゲーム / 動画編集 / 3D レンダリング / 音楽編集など
既にAutoCADやDoom3のデモが移植されています(ダウンロードに時間がかかる)
https://wasm.continuation-labs.com/d3demo/
WebAssemblyの制限
WebAssemblyの技術
便利なWebAssemblyですが、やはりそれなりの制限はかかります。
WebAssemblyからは、ブラウザ側のDOM / WebGL / WebAudio などには直接アクセスはでき
ません、Javascript経由で実行する必要があります。
WebAssembly対応ブラウザのシェアは徐々に増えてはいますが、実行前にチェック処理な
どが必要となります。(おもにIE11対策)
WebAssemblyの制限
WebAssemblyの技術
WebAssemblyの制限
WebAssemblyの技術
現時点で、WebAssembly を完全にサポートしている言語は C / C++ / Rustしかありません。
Kotlin / .NETは現在開発中
→ ASP.NET Core Blazor WebAssemblyは2020年予定!
Part.04
ASP.NET Core Blazor WebAssemblyとは
ASP.NET Core Blazor WebAssembly
Coming Soon 2020~
ASP.NET Core Blazor WebAssemblyとは
RazorファイルにBlazor構文で、HTMLと混在して記述する
内部の@code内にC#が記述できます
C#の依存関係、.NET ランタイムがWASMファイルでダウンロードされ、
WebAssemblyの技術によりクライアント側で実行されます
完全にWeb分離した場合は初回のダウンロードだけで、
すべて完結することが可能
(現時点ではURL Rewriteなどインストールが必要)
ASP.NET Core Blazor WebAssembly
Coming Soon 2020~
ASP.NET Core Blazor WebAssemblyとは
.net Core 3.1を
インストールする
と選択できる
WebAssembly版はPrewiewのテンプレートを
ダウンロードすると追加される
初回実行はNuget再構築が必要なので、
何回か再実行するとうまく動作する
※要インターネット接続
ASP.NET Core Blazor WebAssemblyとは
ASP.NET Core Blazor WebAssembly
Coming Soon 2020~
メリット
・Blazor Serverと違い、.NETサーバー側に依存せずに単体の動作が可能
・クライアントにダウンロードされた後は、切断されてもページが完全に機能する
・クライアントのリソースと機能を完全に活用が可能(JavaScript制御)
・アプリ配布する場合では、必ずしもASP.NET CoreのWeb サーバーは必要ない
デメリット
・WebAssemblyに対応したブラウザバージョンが必要
・使える機能はクライアントのブラウザーが持っている機能までに制限される
・依存関係を使いすぎると、ダウンロードサイズが大きくなり、初回の読込みに時間がかかる
・.NETランタイムとツールのサポートやデバッグ機能に制限がある
メリット
・Blazor Serverと違い、.NETサーバー側に依存せずに単体の動作が可能
・クライアントにダウンロードされた後は、切断されてもページが完全に機能する
・クライアントのリソースと機能を完全に活用が可能(JavaScript制御)
・アプリ配布する場合では、必ずしもASP.NET CoreのWeb サーバーは必要ない
デメリット
・WebAssemblyに対応したブラウザバージョンが必要
・使える機能はクライアントのブラウザーが持っている機能までに制限される
・依存関係を使いすぎると、ダウンロードサイズが大きくなり、初回の読込みに時間がかかる
・.NETランタイムとツールのサポートやデバッグ機能に制限がある
ASP.NET Core Blazor WebAssemblyとは
ASP.NET Core Blazor WebAssembly
Coming Soon 2020~
→ 結局はWebAssemblyなので、ほぼ同じメリット・デメリットとなるが、
C#と.NET Standerdのライブラリを使って開発ができるのが一番のメリット!
01
JavaScriptをなるべく記述はしなくてもよくなるが、連携には必要になるので、
それなりにJavaScriptの理解はまだまだ必要(特にBlazor Server側)
まとめというか所感
02 .NET Standerdのライブラリは強いが、Blazor WebAssemblyでは依存関係を増やしすぎると
起動が重くなるので注意
03 独立したクライアントとして利用するには、配布方法や動作機能がまだ未成熟?なので、
正式リリースするまではBlazor WebAssemblyのみでの開発は控えるべきかも
(PWAとの連携などがうまく出来上がれば流行るかも)
04 将来IE11も淘汰され、Edge Chromium版に移行されれば、ブラウザ互換性は考えなく
てもよくなり、その時にはBlazor Server+Blazor WebAssemblyの組み合わせで、
最高のWebアプリ開発ができそう
05 C#とHTML+Blazor構文のみで、少なくともJavaScriptはもう書かなくてよくなる未来は
きっと来るはず(TypeScriptを書かなくていいとは言ってない)
参考資料
WebAssembly: 「なぜ」と「どうやって」 [翻訳記事]
https://dev.to/nabbisen/webassembly--3385
ASP.NET Core Blazor の概要(WebAssemblyのインストール)
https://docs.microsoft.com/ja-jp/aspnet/core/blazor/get-started
Doom3のデモ
https://wasm.continuation-labs.com/d3demo/
Thank you for your kind attention
ご清聴ありがとうございました!
Ad

Recommended

がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
NTT DATA Technology & Innovation
 
Serverless時代のJavaについて
Serverless時代のJavaについて
Amazon Web Services Japan
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
 
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
 
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Amazon Web Services Japan
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
 
Blazor 触ってみた
Blazor 触ってみた
Oda Shinsuke
 
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
Kenichi Tatsuhama
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
 
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
日本マイクロソフト株式会社
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
 

More Related Content

What's hot (20)

塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Amazon Web Services Japan
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
 
Blazor 触ってみた
Blazor 触ってみた
Oda Shinsuke
 
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
Kenichi Tatsuhama
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
 
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
日本マイクロソフト株式会社
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
 
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
 
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
都元ダイスケ Miyamoto
 
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
NTT DATA Technology & Innovation
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
Amazon Web Services Japan
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
 
Blazor 触ってみた
Blazor 触ってみた
Oda Shinsuke
 
インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
 
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
Kenichi Tatsuhama
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
 
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
日本マイクロソフト株式会社
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
 

Similar to ASP.NETの進化とASP.NET Core Blazorの凄さ (20)

[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
 
Mvc conf session_1_osada
Mvc conf session_1_osada
Hiroshi Okunushi
 
One ASP.NET の今とこれから
One ASP.NET の今とこれから
Akira Inoue
 
ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"
Narami Kiyokura
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue
 
ASP.NET Core 概要(2017年3月時点)
ASP.NET Core 概要(2017年3月時点)
Atsushi Yokohama (BEACHSIDE)
 
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
Jun-ichi Sakamoto
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Akira Inoue
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー
Akira Inoue
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Akira Inoue
 
.NET Framework アプリケーションの NET 5 への 移行を考える
.NET Framework アプリケーションの NET 5 への 移行を考える
Tomohiro Suzuki
 
最近のASP.NET事情2013Winter
最近のASP.NET事情2013Winter
Narami Kiyokura
 
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
Joni
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
Akira Inoue
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめ
Hideaki Aoyagi
 
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...
Shotaro Suzuki
 
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
 
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
TomomitsuKusaba
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
Akira Inoue
 
One ASP.NET の今とこれから
One ASP.NET の今とこれから
Akira Inoue
 
ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"
Narami Kiyokura
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
Akira Inoue
 
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
Jun-ichi Sakamoto
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Akira Inoue
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー
Akira Inoue
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Akira Inoue
 
.NET Framework アプリケーションの NET 5 への 移行を考える
.NET Framework アプリケーションの NET 5 への 移行を考える
Tomohiro Suzuki
 
最近のASP.NET事情2013Winter
最近のASP.NET事情2013Winter
Narami Kiyokura
 
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
.NET Core 3.0 で Blazor を使用した​フルスタック C# Web アプリ​の構築
Joni
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
Akira Inoue
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめ
Hideaki Aoyagi
 
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...
Shotaro Suzuki
 
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
 
.NETラボ2021年10月 .NETの過去と現在
.NETラボ2021年10月 .NETの過去と現在
TomomitsuKusaba
 
Ad

More from Sho Okada (15)

AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かす
Sho Okada
 
ChatAIの未来予想図
ChatAIの未来予想図
Sho Okada
 
勉強会参加のすゝめ
勉強会参加のすゝめ
Sho Okada
 
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなし
Sho Okada
 
Excel取込みで失敗した先生
Excel取込みで失敗した先生
Sho Okada
 
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
Sho Okada
 
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
 
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
Sho Okada
 
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
Sho Okada
 
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
Sho Okada
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
 
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門
Sho Okada
 
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用
Sho Okada
 
WebMatrixに対応した、新しいけど新しくないRazor
WebMatrixに対応した、新しいけど新しくないRazor
Sho Okada
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Sho Okada
 
AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かす
Sho Okada
 
ChatAIの未来予想図
ChatAIの未来予想図
Sho Okada
 
勉強会参加のすゝめ
勉強会参加のすゝめ
Sho Okada
 
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなし
Sho Okada
 
Excel取込みで失敗した先生
Excel取込みで失敗した先生
Sho Okada
 
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
Sho Okada
 
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
 
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
Sho Okada
 
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
Sho Okada
 
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
Sho Okada
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
 
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門
Sho Okada
 
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用
Sho Okada
 
WebMatrixに対応した、新しいけど新しくないRazor
WebMatrixに対応した、新しいけど新しくないRazor
Sho Okada
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Sho Okada
 
Ad

Recently uploaded (7)

AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
Takuma Oda
 
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
 
色について.pptx .
色について.pptx .
iPride Co., Ltd.
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
AI技術共有会2025-06-05_DeepResearchの理解と実践.pdf
Takuma Oda
 
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
 
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
Vibe Codingを始めよう 〜Cursorを例に、ノーコードでのプログラミング体験〜
iPride Co., Ltd.
 
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
勉強会_ターミナルコマンド入力迅速化_20250620. pptx. .
iPride Co., Ltd.
 
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
 
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
 

ASP.NETの進化とASP.NET Core Blazorの凄さ