SlideShare a Scribd company logo
1 of 54
famo.usはもう試した 
かい? 
@lion_man44
自己紹介 
名前: ライオン(@lion_man44) 
職業: フロントエンドっぽい/バックエンドっぽい 
好き: JavaScript, Node.js, Ruby 
本業: 味噌汁エンジニア 
副業: ソーシャルゲームエンジニア
今回話す事 
• Famo.usを勉強してみたという話 
今回話さない事 
• サーバサイドの話 
• 現状重いサイトがあり、それを改善したいという類いの話 
• パフォーマンス的な話
よくある風景 
サイト重いので高速化してくださ 
具体的には? い。 
A 
PM
よくある風景2 
(要約すると)どうにかしてくださ 
…はい。い。 
A 
PM
こうなると、辛い
チューニングの話は確かにいっぱいあ 
る 
SQL文見直すとか、index見直すとか、サーバロジック見直してDBアクセス自体を減らすとか、 
サーバでやってる処理を一部クライアントに移行させるとか、クライアントでキャッシュさせると 
か、アニメーション駆使して逆にユーザ体感上げるとか、スプライト画像にするとか、リクエスト 
数減らすとか、そもそも画像を限定するとか…etc
だが、その前に最初(設計)の段階か 
ら何か出来ないのだろうか?
そういえばHTML5を高速に綺麗に表 
示するというのが一瞬流行ったような 
…
何だっけ…エモ…じゃないし、 
ハモ…ヒモ…そうだfamo.usだ!
Famo.usの概要 
• 高速で綺麗なHTML5アプリケーションを表示する 
• WebGL/Canvasを使って高度な表現を可能にする
とりあえず良く分からないので試す 
。
早速TOP画面へ
チュートリアルへ
Hello World
結構(コードが)長いのでローカルで見 
る方法が無いかggr
あった
さっそく試す
何かいろいろ入る
動かす
表示される
png画像がグルグル回っている
FireFoxでも表示させてみる 
FireFox Chrome
問題なく、各ブラウザ間でちゃんと差 
異を埋めてくれている(ブラウザはこの 
世で二つだけ)
## Surfaceを読む## 
とりあえず分かったので画像変える
自分の画像に変更
画像変わった!jpgでもグルグル回る!
Imgタグ作ってそれをグルグル回しているのが分か 
る
このimageSurfaceというのはそれだけ 
じゃなくて他にもありそう
あった
README.mdを読む
それぞれのHTML5のタグによってsurfaceがファイル 
毎に分けられている感じなのが何となく分かる
とりあえずどれだけ面倒臭い事をやっ 
てくれているのか自力でやってみる
出来た
大分汚いし、famo.usの方はrotateYで 
はなく、matrix3dを使っているのだけ 
れど、似たような挙動をするものは一 
旦出来る
うん、当たり前だけどフレームワーク 
通した方が分かりやすいね
## Coreを読む## 
そもそもcore/Engine何者
famous-containerのdivを作ってOptionsManagerオ 
ブジェクトから返ってくる変更点を監視し、FPSに制限 
をかけるかそのまま現在のFPSのまま処理を続行す 
るかを実行しているっぽい
## Modifierを読む## 
ではModifierは?
Surfaceに持たせたいstyleの一部をここで定義出来 
るといった感じ
## Transformを読む## 
最後にTransform
まぁstyleにtransformなど設定する所 
がModifierならTransformはMathライ 
ブラリ的な何かだよね
実際にtransformする際に必要な値を生成してくれて 
る
ざっと見てみた感想 
• Core/Engineは必ずいるし、Modifier|Transform|Surfaceはcoreを呼ば 
なかったとしても、必要なそれ系統のものは必ず呼ぶ 
• つまり4つのモジュールを駆使して基本は書いて行く 
• で、famous_container毎どかっとHTMLにぶっ込むような感じ
まとめです
まとめ 
• 現状使う必要はぶっちゃけ無い。興味ある人だけが使えば良い感じ。 
ただ、データがまだまだ少ないので生け贄が必要 
• 書きやすいかどうかで言えば、”まだ”書きやすいというだけでそこま 
で書きやすいものではない 
• モジュール自体はちゃんと分けられていて、その中身自体も”早さを求 
める為に読みづらいコード” は少ないように見える
もう一回言います
現状使う必要は無い 
ただ、自分は次の案件で提案してみる予定
参考/引用資料 
• 高速で綺麗なHTML5アプリケーションのためのフレームワーク 
Famo.usが完全無料に 
• Famo.us – WebGL/Canvasを使って高度な表現を可能にする 
JavaScriptフレームワーク 
• GitHub - Famous/generator-famous 
• GitHub - Famous/famous 
• Famo.usでオブジェクトを配置
ご清聴ありがとうございました。

More Related Content

What's hot

便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips豊明 尾古
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHPTakuya Sato
 
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策Salesforce Developers Japan
 
baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話Tatsuhiko Uchiba
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fsTakahiro Iwase
 
銀河レベルのLT(とは)
銀河レベルのLT(とは)銀河レベルのLT(とは)
銀河レベルのLT(とは)Akihiro Kuwano
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodbRyuji Tamagawa
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~KLab株式会社
 
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲームhideyuki ikeda
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープKazuhiro Serizawa
 
DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.Masato Tokuda
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事Manabu Koga
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)Hajime Fujimoto
 
a-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまでa-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまでgirigiribauer
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!YutoNishine
 
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側KLab株式会社
 
インフラエンジニアとして普段心がけていること
インフラエンジニアとして普段心がけていることインフラエンジニアとして普段心がけていること
インフラエンジニアとして普段心がけていることShohei Koyama
 
えぇ!?マッハでテレワーク環境を!?
えぇ!?マッハでテレワーク環境を!?えぇ!?マッハでテレワーク環境を!?
えぇ!?マッハでテレワーク環境を!?ssuser868e2d
 

What's hot (20)

便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips便利なHerokuと active recordの 速度改善tips
便利なHerokuと active recordの 速度改善tips
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHP
 
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
 
baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話
 
20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs20151205 中国地方db勉強会 dbm_fs
20151205 中国地方db勉強会 dbm_fs
 
銀河レベルのLT(とは)
銀河レベルのLT(とは)銀河レベルのLT(とは)
銀河レベルのLT(とは)
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
 
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
20120407 ASP.NET+C#で開発する大規模ソーシャルゲーム
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープ
 
DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.DBFluteハンズオンで学んだこと etc.
DBFluteハンズオンで学んだこと etc.
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
Ec2 automation framework
Ec2 automation frameworkEc2 automation framework
Ec2 automation framework
 
WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)
 
a-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまでa-blog cms初心者が テンプレート作るまで
a-blog cms初心者が テンプレート作るまで
 
ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!ゲーム特化の BaaS! Unity + PlayFab 入門!
ゲーム特化の BaaS! Unity + PlayFab 入門!
 
大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側大ヒットソーシャルアプリの裏側
大ヒットソーシャルアプリの裏側
 
インフラエンジニアとして普段心がけていること
インフラエンジニアとして普段心がけていることインフラエンジニアとして普段心がけていること
インフラエンジニアとして普段心がけていること
 
えぇ!?マッハでテレワーク環境を!?
えぇ!?マッハでテレワーク環境を!?えぇ!?マッハでテレワーク環境を!?
えぇ!?マッハでテレワーク環境を!?
 

Similar to Famo.usはもう試したかい?

Gatsby.js完全に理解した
Gatsby.js完全に理解したGatsby.js完全に理解した
Gatsby.js完全に理解したssuser953388
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編Kazuya Numata
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発infinite_loop
 
Ruby introduction for_rails
Ruby introduction for_railsRuby introduction for_rails
Ruby introduction for_railsTakashi Toyofuku
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasstkyon mm
 

Similar to Famo.usはもう試したかい? (7)

Gatsby.js完全に理解した
Gatsby.js完全に理解したGatsby.js完全に理解した
Gatsby.js完全に理解した
 
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
Rubyの話を少し
Rubyの話を少しRubyの話を少し
Rubyの話を少し
 
Ruby introduction for_rails
Ruby introduction for_railsRuby introduction for_rails
Ruby introduction for_rails
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
 
てんとーる
てんとーるてんとーる
てんとーる
 

More from lion-man

ES2015の今とこれから
ES2015の今とこれからES2015の今とこれから
ES2015の今とこれからlion-man
 
その時、Bowerに何が起こったのか
その時、Bowerに何が起こったのかその時、Bowerに何が起こったのか
その時、Bowerに何が起こったのかlion-man
 
いまさら始めてみたRxJS
いまさら始めてみたRxJSいまさら始めてみたRxJS
いまさら始めてみたRxJSlion-man
 
ライオンでも分かるVuejs
ライオンでも分かるVuejsライオンでも分かるVuejs
ライオンでも分かるVuejslion-man
 
コードリーディングのすすめ
コードリーディングのすすめコードリーディングのすすめ
コードリーディングのすすめlion-man
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithublion-man
 

More from lion-man (6)

ES2015の今とこれから
ES2015の今とこれからES2015の今とこれから
ES2015の今とこれから
 
その時、Bowerに何が起こったのか
その時、Bowerに何が起こったのかその時、Bowerに何が起こったのか
その時、Bowerに何が起こったのか
 
いまさら始めてみたRxJS
いまさら始めてみたRxJSいまさら始めてみたRxJS
いまさら始めてみたRxJS
 
ライオンでも分かるVuejs
ライオンでも分かるVuejsライオンでも分かるVuejs
ライオンでも分かるVuejs
 
コードリーディングのすすめ
コードリーディングのすすめコードリーディングのすすめ
コードリーディングのすすめ
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithub
 

Famo.usはもう試したかい?