SlideShare a Scribd company logo
1 of 16
Download to read offline
SDUI
airbnbから学ぶサーバー駆動型UI
従来の方法
Kota Oda
Another worksデザイナーインターン
従来の方法
フロント側がサーバーに対して何かしらのデータを要求
サーバーがデーターを渡してレンダリングする
従来の方法
フロント側がサーバーに対して何かしらのデータを要求
サーバーがデーターを渡してレンダリングする
Problem
web,ios,Androidでそれぞれ固有のロジックをもっている

さらにそれは複雑になっていき、それぞれのクライアントで乖離が生まれてしまう
01
アプリの場合バージョンアップするまで実際のユーザーの感触がわからない
02
SDUIとは
SDUIとは
airbnbが開発したサーバー駆動型システム
airbnbアプリの2つの側面である「ゲスト」と「ホスト」の機能に主眼を置いているため、

Guest+HostからGhost Platformという名称が付いている
SDUIの概念
SDUIの概念
Screen view
Section view
Action view
SDUIの概念
Screen view
GPは任意の数のスクリーンを持つことができる

画面のレイアウトや、どこにセクションを表示するかを
定義する
セクションをどのようにレンダリングするか

(ポップオーバー、モーダル、フルスクリーンなど)
もscreen viewで定義する
SDUIの概念
Section view
UIコンポーネントのまとまったグループのデータを記述するもので

表示されるべき正確なデータが含まれている
他のセクションや表示されている画面から完全に独立している
ビジネスロジックと特定の機能との関係を気にすることなく

セクションを再利用、再構築することができる
SDUIの概念
Action view
ボタンをタップしたりカードをスワイプしたりといったユーザーが画面上の

UIを操作する際のアクションを定義できる
機能固有のビジネスロジックを好きなだけ含むことができ、
特定のユースケースが発生したときにカスタムアクションやビジネスロジック
を自由に使用することができます
SDUIの特徴
SDUIの特徴
バックエンドがデータと

そのデータの表示方法を管理
01
Web、iOS、Androidアプリ全体で
単一のバックエンドのレスポンスによって制御
02
Ghost Platform
考察
サーバーでリリースすることで、web,Appのリリースをしなくて良くなる。
導入すると開発効率が上がる
考察
Another worksのプロダクト開発に合っているのか。
自社のデザインシステムを変更する必要があるのか。
サーバーでリリースすることで、web,Appのリリースをしなくて良くなる。
導入すると開発効率が上がる
But
01
02

More Related Content

Similar to SDUI

Ruby on azure で game server service
Ruby on azure で game server serviceRuby on azure で game server service
Ruby on azure で game server servicenagachika t
 
Solaris11で深化するクラウド
Solaris11で深化するクラウドSolaris11で深化するクラウド
Solaris11で深化するクラウドYasushi Taki
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
Web intents addendum
Web intents addendumWeb intents addendum
Web intents addendumhtml5j
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkinsKohsuke Kawaguchi
 
cordova/electronの構造を知る
cordova/electronの構造を知るcordova/electronの構造を知る
cordova/electronの構造を知るYasuharu Seki
 
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏Developers Summit
 
20140926 vd iand_azure_slideshare
20140926 vd iand_azure_slideshare20140926 vd iand_azure_slideshare
20140926 vd iand_azure_slideshareOsamu Takazoe
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせKeisuke Todoroki
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?Daichi Isami
 
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013Keisuke Todoroki
 
Adobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグAdobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグKeisuke Todoroki
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1hideaki honda
 

Similar to SDUI (20)

Ruby on azure で game server service
Ruby on azure で game server serviceRuby on azure で game server service
Ruby on azure で game server service
 
Solaris11で深化するクラウド
Solaris11で深化するクラウドSolaris11で深化するクラウド
Solaris11で深化するクラウド
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
Web intents addendum
Web intents addendumWeb intents addendum
Web intents addendum
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
cordova/electronの構造を知る
cordova/electronの構造を知るcordova/electronの構造を知る
cordova/electronの構造を知る
 
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
【17-E-2】Ruby PaaS「MOGOK」 ~ ソフトウェアエンジニアのためのクラウドサービス ~ 藤原秀一氏
 
20140926 vd iand_azure_slideshare
20140926 vd iand_azure_slideshare20140926 vd iand_azure_slideshare
20140926 vd iand_azure_slideshare
 
リモート・スマホ・シェアリング
リモート・スマホ・シェアリングリモート・スマホ・シェアリング
リモート・スマホ・シェアリング
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせ
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
Adobe Anywhere for Video
Adobe Anywhere for VideoAdobe Anywhere for Video
Adobe Anywhere for Video
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?
 
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
 
XDev2010 WindowsAzure
XDev2010 WindowsAzureXDev2010 WindowsAzure
XDev2010 WindowsAzure
 
Adobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグAdobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグ
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1
 

SDUI