SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Reactで動画プレーヤー作っている話
2018/04/14
React x Typescript ミートアップ!
Yugo Matsumoto / @ymmmo1
Who?
• Yugo Matsumoto
• 株式会社FABRIC TOKYOでフロントエンドエンジニア
• 最近、会社関係なしに動画プレーヤーを作る話を頂いたので
、Electron,Reactで作成しています。
• 大体このアイコンで活動しています→
動画プレーヤーの仕様
ライブラリの選定
ライブラリ
• React
• Electron
• Redux
• Recompose
• Material-UI
• React-Video
• React-DropZone
使いませんでした…
• 個人開発での型導入することにメリットが少
ない
• 型導入による本質的でない部分での疲労
• TypeScriptはOSS制作、チームでの大規模開
発時に後半から力を発揮する
大いなる勘違い
動画の状態を管理するのではない
• ざっと説明すると、VideoがStateを更新し、
そのStateの状態に応じてPlayerの状態を変更する。
Action
Reducer
Store
Views(Player)Video
refs
componentDidMount
状態管理について
Reduxを採用した理由
• ReduxのThree Principlesが好き
• Container, Componentのでシンプルに作成できる。
• ボイラープレートが多いのは確かにめんどうだが、そ
れだけの恩恵はある。
• Mobxはシンプルだが、それゆえに設計を守ることが
難しいと感じている(1人だったら別に…)
• 単純にReduxが一番慣れている
みなさんに質問です。
ご清聴ありがとうございます
。

Weitere ähnliche Inhalte

Was ist angesagt?

【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!Yu Tanaka
 
消滅都市 Cocos2d-xでの演出・UIあれこれ
消滅都市 Cocos2d-xでの演出・UIあれこれ消滅都市 Cocos2d-xでの演出・UIあれこれ
消滅都市 Cocos2d-xでの演出・UIあれこれShun Noguchi
 
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座Unity Technologies Japan K.K.
 
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウGameCreators,CyberAgent
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Kenichi Kambara
 
アプリの不具合を少なくするために
アプリの不具合を少なくするためにアプリの不具合を少なくするために
アプリの不具合を少なくするために健一 辰濱
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見るkishima7
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話Kentaro Matsumae
 
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜Unity Technologies Japan K.K.
 
Service a week したさあるよな?
Service a week したさあるよな?Service a week したさあるよな?
Service a week したさあるよな?u taso
 
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版Kaoru NAKAMURA
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 
Leap Motion を用いた数学教材開発の例
Leap Motion を用いた数学教材開発の例Leap Motion を用いた数学教材開発の例
Leap Motion を用いた数学教材開発の例Yukinori KITADAI
 
Leap motionの接触判定をコードを書かずに使うまで
Leap motionの接触判定をコードを書かずに使うまでLeap motionの接触判定をコードを書かずに使うまで
Leap motionの接触判定をコードを書かずに使うまでhayashizaki takaaki
 
【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―
【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―
【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―シスコシステムズ合同会社
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化COLOPL, Inc.
 

Was ist angesagt? (20)

Tmcn Leap Motion
Tmcn Leap MotionTmcn Leap Motion
Tmcn Leap Motion
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
消滅都市 Cocos2d-xでの演出・UIあれこれ
消滅都市 Cocos2d-xでの演出・UIあれこれ消滅都市 Cocos2d-xでの演出・UIあれこれ
消滅都市 Cocos2d-xでの演出・UIあれこれ
 
こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座こんなに違う!Unityアプリケーション講座
こんなに違う!Unityアプリケーション講座
 
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
アプリの不具合を少なくするために
アプリの不具合を少なくするためにアプリの不具合を少なくするために
アプリの不具合を少なくするために
 
Jenkins導入ライブ
Jenkins導入ライブJenkins導入ライブ
Jenkins導入ライブ
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見る
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
【Unity道場スペシャル 2017京都】〜ブラウザアプリ・ネイティブアプリの複数プラットフォームのゲーム開発の現場〜
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめUnreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
 
Service a week したさあるよな?
Service a week したさあるよな?Service a week したさあるよな?
Service a week したさあるよな?
 
Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版Leap motion 実践活用 ダイジェスト版
Leap motion 実践活用 ダイジェスト版
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
Leap Motion を用いた数学教材開発の例
Leap Motion を用いた数学教材開発の例Leap Motion を用いた数学教材開発の例
Leap Motion を用いた数学教材開発の例
 
Leap motionの接触判定をコードを書かずに使うまで
Leap motionの接触判定をコードを書かずに使うまでLeap motionの接触判定をコードを書かずに使うまで
Leap motionの接触判定をコードを書かずに使うまで
 
【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―
【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―
【Interop tokyo 2014】 実践!話す人を追いかけて話しだす! ― 最新のビデオカメラデモ ―
 
Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 

React Video Player