React.jsを使ってプロトタイプを作る。
コンポーネント指向をすすめるなら、プロトタイピングは実用性と実現性を兼ね備えていく必要があるのかもしれない。 本当の意味でのRapid Prototypingはイニシャル開発だけに求めるものではない。
…というお話をまとめました。
## サンプルで使ったInVision -> https://projects.invisionapp.com/share/6V2T05XAN#/screens
Rapid React PrototypingReact.jsでUIデザインプロトタイプを作るReact.js Meet Up#1… Copyright Tsuyoshi Higuchi 2015
View Slide
PROFILEUI Designer, Front-End Engineer,UX Architect株式会社グノシーでこんなことをやっています。Tsuyoshi Higuchi趣味でサービスやアプリを作ったりしてます。こんなのとか→ START MAPS
AGENDA1. UIデザイナーがReact.jsを実務で扱ってみた。2. Rapid PrototypingとReact.js3. まとめ
1.UIデザイナーがReact.jsを実務で扱ってみた。
グノシーでは…Platform展開を行うにあたって、WebViewによるスモールアプリケーションの開発を行っています。DeNAトラベル × Gunosy Chat UIココはReact.js
そこで、React.jsを採用使って気づいた、これまでの開発と違うところ
React-wayに乗れないDOMと関係するライブラリ(jQueryなど)との共存コンポーネントを意識しないデザインはつらいマークアップエンジニアのつくったDOMはほぼReactのElementに書き換えなければならない
早い段階からReact-wayにのることが重要
Rapid Prototyping実機確認をいろいろな手法で実現して、ユーザーヒヤリングや開発関係者との確認を素早く何度も繰り返すことで、サービスの質を高めること。
Invision最近はこのあたりをみんな使っているしかし、画像ベースのツールが多く細かい点でつらいPrott Flinto
Design in BrowserPhotoshopやSketchを介さず、Markup, Cssで直接デザインしていく方法。言い換えれば直接コードを書く行為。
これらをReact-wayに乗せていかなければならない
React.jsはComponent指向
いくらツールや手法が便利でも、コンポーネント指向のないツールや手法ではReact.jsはまかないきれない
React.jsもコンポーネント定義がないまま作っていくと迷う
コンポーネント志向 = UIデザインドリブンプロトタイプからReact.jsで作れば色々捗りそう
2.Rapid PrototypingとReact.js
プロトタイピングツールでやるとここが面倒臭い- 遷移の設定をページ毎にアサインしなければならない- Fixedレイヤー(ヘッダーなど)が矩形でしか設定できない- コンポーネントだけの変更も対象ページ全て書き出さないとならない
Exampleカメラアプリ的なもの
1.グラフィックツールでコンポーネント毎にUIデザインの作成レイヤーに.Component_というPrefixをつけておくLayerSectionやLayerをDOMに見立ててデザイン
2.コンポーネントの子要素(ボタンなど)は画像で出力Component_add-button.pngComponent_setting-trigger.pngComponent_camera-roll.pngComponent_camera-view.png:pngをつけているレイヤーをPngファイルで出力にしている
3.Reactコンポーネントクラス作成コンポーネント毎にファイルを分けておくとさらに管理しやすい。PSDからReact Elementを書き出すライブラリを近日公開します。気が向いたらSketchとES6対応も。!
4.React Routerで遷移を決めるCSSTransitonGroupを使うなどすれば、Transion Animationも実装できる。
あとは、画像にしているコンポーネント毎に、さらにReact Elementを実装していったりCSSをあてていく
プロトタイプをそのまま実際の実装へもっていくことも可能になるReact NativeやReact Canvasでもそのままリッチアプリケーションも可能かも!?
コンポーネント単位で管理できるので、ページ単位でデザインを更新しなくてよい。
3. まとめ
サービスデザインは小さいところへのフォーカスがより重要になる
React.jsで小さくささっと作ってよりよく改善しよう!
最後に…
株式会社グノシーではフロントエンドエンジニアを絶賛募集中です!