Top Banner
Re-frame and A-Frame Clojure, ClojureScript, WebVR! 2016/08/08 WebVR入門者の会
21

Re-frame and A-Frame

Apr 15, 2017

Download

Technology

Kazuhiro Hara
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Re-frame and A-Frame

Re-frame and A-FrameClojure, ClojureScript, WebVR!

2016/08/08WebVR入門者の会

Page 2: Re-frame and A-Frame

登壇者

{:company “Greative.GK” :name “Kazuhiro Hara” :twitter “@kara_d”}

Page 3: Re-frame and A-Frame

本日はA-FrameとRe-frameのお話(Clojure/ClojureScript)(WebVR framework)

Page 4: Re-frame and A-Frame

おなじみ? A-Frame

Page 5: Re-frame and A-Frame

MozVR : A-Framehttps://aframe.io/

I ❤ MEMarkup Engineering

Page 6: Re-frame and A-Frame

あまりおなじみでないClojureのこと

Page 7: Re-frame and A-Frame

Clojure と ClojureScript

Lispの方言 並行性

Code as Data

不変データ構造

関数型プログラミング

複数の実行環境Java, JavaScript, .NET

http://clojure.org/

Page 8: Re-frame and A-Frame

Clojure と ClojureScript

Lispの方言 並行性

Code as Data

不変データ構造

関数型プログラミング

複数の実行環境Java, JavaScript, .NET

http://clojure.org/

Page 9: Re-frame and A-Frame

Re-frameについて

● Clojure(Script)で作られたReactのラッピングライブラリReagent● Reagentをベースに作られたSPAのためのフレームワークがRe-frame● RACES

○ Reactive-Atom Component Event Subscription framework■ 単一のストア、変更のイベントと、その購読をするコンポーネント

Page 10: Re-frame and A-Frame

Re-frameについて

● Clojure(Script)で作られたReactのラッピングライブラリReagent● Reagentをベースに作られたSPAのためのフレームワークがRe-frame● RACES

○ Reactive-Atom Component Event Subscription framework■ 単一のストア、変更のイベントと、その購読をするコンポーネント

Page 11: Re-frame and A-Frame

ClojureとA-Frameの親和性

Page 12: Re-frame and A-Frame

果てしなくマークアップ親和性高し

;; Clojureのデータ構造

[“dog” “cat” “fish”] ;; ベクター

{:name “太郎” :age 36} ;; ハッシュマップ

;; HTMLのマークアップ

[:div#app [:img.entry {:src “/img/a.png” :alt “”}]

;; A-Frameのマークアップ

[:a-scene [:a-box {:width 1 :height 2}]]

Page 13: Re-frame and A-Frame

Clojureの良さを活かした構成

Page 14: Re-frame and A-Frame

ClojureでWebVRコンテンツを作る構成例

Clojure /ClojureScriptProject

Java Server JavaSctipt

● Java Http Server● Server Side Rendering● Routing & Database

● React / Re-frame● Clientside Routing● A-Frame Markup

共通コード

Ajax

Page 15: Re-frame and A-Frame

DEMO

Page 16: Re-frame and A-Frame

DEMOについて

● パーマリンクを持つWebVRコンテンツ

● カーソル(視点)を合わせたときに状態が変化、

URLも変化

● サーバーサイドレンダリングにより、

URLを直接読み込まれたときも状態が反映されている○ http://0.0.0.0:4001/red/○ http://0.0.0.0:4001/blue/○ http://0.0.0.0:4001/green/

Page 17: Re-frame and A-Frame

パーマリンクはWebの強い武器

Page 18: Re-frame and A-Frame

スターターキットをGitHubで配布予定

近日公開

@kara_d をフォローして待とう!!

Page 19: Re-frame and A-Frame

ありがとうございました

Page 20: Re-frame and A-Frame

おまけ

Page 21: Re-frame and A-Frame

WebVRのパーマリンクについて考えてみよう

● WebVRコンテンツも、技術的には任意の時点でパーマリンクをつくれる

● でもどうやってパーマリンクを取得したらいいんだろう?● どうシェアする? シェアボタンとか?● シェアされたものがいきなりVR表示になるのはいいのだろうか?● OGPってどうしたらいいんだろう?

などなど...

詳しい方、懇親会などで教えてください