SlideShare a Scribd company logo
見せたいデータに応じた
取得方法を選ぼう!
画面更新、ポーリング、WebSocketの比較
自己紹介
自己紹介
加藤友崇
• 約4年間、IoT案件で開発
• Play FrameworkでAPIサーバー構築
• Knockout.jsを用いたフロントエンド開発
• Reactを用いたフロントエンド開発
• Vue.jsを用いたフロントエンド開発
データの取得方法
データの取得方法
- 画面の更新
- ポーリング
- WebSocket
画面更新
画面更新とは
テンプレートエンジンやPHPなどで画面表示の瞬間の
データを表示する
画面更新のメリット
- 考えることが少なく、バグを生みにくい
- クライアントのスペックに左右されにくい
- 画面表示後にデータが変わらないので混乱しにくい
画面更新のデメリット
- リアルタイム性が低い
ポーリング
ポーリングによるデータ表示とは
クライアント主導でデータをバックグラウン
ドで定期的に取得して画面の一部を更新する
ポーリングのメリット
- データの取得頻度をクライアント側で制御できる
- ある程度最新の状態をキープ
- ユーザーの操作が阻害されない
ポーリングのデメリット
- APIサーバーが必要
- レンダリング方法を決める必要がある
- 通信のラグを考慮する必要があるかも
- 無駄な要求を蹴り続ける可能性あり
WebSocket
WebSocketによるデータ表示とは
サーバーからクライアントに対してデータをプッシュする
WebSocketのメリット
- リアルタイム性が高い
- 無駄な通信が発生しない
- 通信ラグの考慮がそれほど必要ない
WebSocketのデメリット
- ライブラリがないと実装が難しい
- WebSocket用のサーバーが必要
- クライアント側でデータの更新頻度を制御できない
- APIサーバーからのデータ取得との併用が必要
採用基準
採用基準
リアルタイム性を求められないデータ
クライアント側でデータ取得の頻度を決めたいとき
エラー情報のように即時性を求めるデータ
数値がコロコロ変わってると面白いデータ
画面更新
ポーリング
WebSocket
まとめ
まとめ
見せたいデータの種類に応じて、
適したデータ取得をしましょう!
ありがとうございました!!

More Related Content

PPTX
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
PDF
DDD sample code explained in Java
PPTX
SAP Application(DB)のソースエンドポイントとしての利用
PDF
外部キー制約に伴うロックの小話
PDF
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
PDF
これからのJDK/JVM 何を選ぶ?どう選ぶ?
PDF
ドメイン駆動設計 基本を理解する
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
DDD sample code explained in Java
SAP Application(DB)のソースエンドポイントとしての利用
外部キー制約に伴うロックの小話
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
これからのJDK/JVM 何を選ぶ?どう選ぶ?
ドメイン駆動設計 基本を理解する

What's hot (20)

PPTX
技術者として抑えておきたい Power BI アーキテクチャ
PPTX
Amazon DynamoDBの紹介と東急ハンズでの活用について
PDF
IaC事始め Infrastructure as Code やってみる?
PDF
(책 소개) 실전 카프카 개발부터 운영까지
PDF
Smalltalkだめ自慢
PPTX
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
PDF
Web開発者が始める .NET MAUI Blazor App
PDF
テスト駆動開発のはじめ方
PPTX
基本設計+詳細設計の書き方 社内勉強会0304
PDF
AWS で Presto を徹底的に使いこなすワザ
PDF
マイクロサービス 4つの分割アプローチ
PDF
これからLDAPを始めるなら 「389-ds」を使ってみよう
PDF
アジャイル・スクラム時代のパタン・ランゲージとアレグザンダー理論
PDF
PlaySQLAlchemy: SQLAlchemy入門
PDF
Akkaとは。アクターモデル とは。
PDF
スクラムパタン入門
PDF
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
PDF
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
PDF
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
PDF
ドメイン駆動設計という設計スタイル
技術者として抑えておきたい Power BI アーキテクチャ
Amazon DynamoDBの紹介と東急ハンズでの活用について
IaC事始め Infrastructure as Code やってみる?
(책 소개) 실전 카프카 개발부터 운영까지
Smalltalkだめ自慢
緊急Ques - コードのメトリクスに基づくリファクタリング戦略
Web開発者が始める .NET MAUI Blazor App
テスト駆動開発のはじめ方
基本設計+詳細設計の書き方 社内勉強会0304
AWS で Presto を徹底的に使いこなすワザ
マイクロサービス 4つの分割アプローチ
これからLDAPを始めるなら 「389-ds」を使ってみよう
アジャイル・スクラム時代のパタン・ランゲージとアレグザンダー理論
PlaySQLAlchemy: SQLAlchemy入門
Akkaとは。アクターモデル とは。
スクラムパタン入門
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
ドメイン駆動設計という設計スタイル
Ad

Similar to 見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較 (13)

PDF
サーバPUSHざっくりまとめ
PDF
これから利用拡大?WebSocket
PPTX
フロントエンド技術の変遷
PDF
WebSocket Chat App Hands On on Microsoft Azure
PDF
【17-A-5】ウェブアーキテクチャの歴史と未来
PPTX
Interactive connection2
PDF
Pusherとcanvasで作るリアルタイムグラフ
PPTX
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
PDF
IoTとビッグデータについて学ぼう
PPTX
勉強会資料①
PPTX
HTML5とWeb開発に関する最新動向
PDF
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
PDF
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
サーバPUSHざっくりまとめ
これから利用拡大?WebSocket
フロントエンド技術の変遷
WebSocket Chat App Hands On on Microsoft Azure
【17-A-5】ウェブアーキテクチャの歴史と未来
Interactive connection2
Pusherとcanvasで作るリアルタイムグラフ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
IoTとビッグデータについて学ぼう
勉強会資料①
HTML5とWeb開発に関する最新動向
Web アプリケーションにおけるクライアントサイドのデータハンドリングと可視化の実現
IoT×ビジネス活用 ~最先端技術のビジネス活用に向けて~
Ad

More from Core Concept Technologies (20)

PPTX
センシングサイエンティストが経費精算を自動化したらこうなった
PPTX
C#で速度を極めるいろは
PPTX
コンソールアプリケーションでDIを使う
PPTX
開発環境をWindowsからMacに移行してみた話
PPTX
Linqの速度測ってみた
PPTX
データソースにLinqDataSourceを使った場合のGridViewの高速化
PPTX
ロボットアームをPythonで動かす
PPTX
Pythonでディープラーニングをはじめるための一歩目
PPTX
Pythonで簡単動画解析
PPTX
Pythonで簡単な統計・分析をしてみよう!
PPTX
Google Colab環境でPythonスクレイピング
PPTX
可視化の先にあるものとは
PPTX
ロボットと協働生活中に試行錯誤したこと
PPTX
3Dモデル類似検索
PPTX
GPUいらずの高速動画異常検知
PPTX
固有表現抽出と適用例のご紹介
PPTX
深層強化学習入門
PPTX
なぜIoTプロジェクトは途中でとまってしまうのか。
PPTX
工場に!オフィスに!明日、お安く、安全に導入できるセンサー紹介します
PPTX
AIによる簡単レコメンドシステム実装
センシングサイエンティストが経費精算を自動化したらこうなった
C#で速度を極めるいろは
コンソールアプリケーションでDIを使う
開発環境をWindowsからMacに移行してみた話
Linqの速度測ってみた
データソースにLinqDataSourceを使った場合のGridViewの高速化
ロボットアームをPythonで動かす
Pythonでディープラーニングをはじめるための一歩目
Pythonで簡単動画解析
Pythonで簡単な統計・分析をしてみよう!
Google Colab環境でPythonスクレイピング
可視化の先にあるものとは
ロボットと協働生活中に試行錯誤したこと
3Dモデル類似検索
GPUいらずの高速動画異常検知
固有表現抽出と適用例のご紹介
深層強化学習入門
なぜIoTプロジェクトは途中でとまってしまうのか。
工場に!オフィスに!明日、お安く、安全に導入できるセンサー紹介します
AIによる簡単レコメンドシステム実装

見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較