Microsoft Ignite 2019レポート 〜 【セッション】Adding interactivity to your apps with SignalR 〜

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

こんにちは、サイオステクノロジー技術部 武井です。私は、マイクロソフトが実施しているテクニカルカンファレンス「Ignite」に参加するためにフロリダのオーランドということろに来ております。Igniteが実施している期間中に、「ほぼ」リアルタイムレポートをお届けしたいと思います。今回は「Adding interactivity to your apps with SignalR」について記載します。

このセッションは以下のような方向けです。

SignalRを使ってWebアプリケーションでリアルタイム通信を実現したい!!

SignalRとは?

SignalRとは、Webのリアルタイム通信を行うためのサービスです。リアルタイム通信が必要になるケースの代表的なものは、チャットサービスです。チャットを行っているユーザー同士のメッセージはリアルタイムで送受信される必要があります。

このリアルタイム通信を実現するためには、今まではオンプレミスやAzure上の仮想マシン上にnode.js等でWebScoketサーバーを構築しなければなりませんでした。SignalRはマネージドサービスですので、このようなインフラの構築・運用は必要ありません。開発者はよりコーディングに専念できるわけです。

デモ

本セッションでは、SignalRの機能を使ったアプリケーションのデモ、及びそのソースコードの簡単な解説を20分ほどでお壊れました。

IMG_1967

 

デモでは、ブラウザを2つ起動して、片方のブラウザで飛行機を動かすと、もう一方のブラウザでもリアルタイムで同じ動きをするというものでした。

IMG_1977

 

デモで紹介されたコードになります。C#で書かれています。

IMG_1971

 

基本的なコーディングの流れは、他サービスと一緒で以下のようになります。

  1. Nu-GetでSignalRのSDKをインストールする。
  2. SignalRのサービスをDIする
  3. SDKを利用した実装を行う。

ちょっと見にくいのですが、上図に「Clients.All.SendAsync」と書かれていますので、全てのユーザー(ブラウザ)にメッセージを送る処理を意味します。つまり、デモでは、片方のブラウザの飛行機が動くと、他のすべてのブラウザに表示されている飛行機が動きます。

まとめ

本セッションは20分という短い時間のものでしたので、SignalRの基本的な部分だけしか触れておりませんが、他にもたくさんの有用な機能があります。Azure上で開発したWebアプリケーションでリアルタイム通信を行う場合、是非SignalRをご検討下さい。

さらに詳細な技術情報については、本ブログに掲載の以下の記事に記載されております。

https://tech-lab.sios.jp/archives/17849

アバター画像
About 武井 宜行 269 Articles
Microsoft MVP for Azure🌟「最新の技術を楽しくわかりやすく」をモットーにブログtech-lab.sios.jp)で情報を発信🎤得意分野はAzureによるクラウドネイティブな開発(Javaなど)💻「世界一わかりみの深いクラウドネイティブ on Azure」の動画を配信中📹 https://t.co/OMaJYb3pRN
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる