#はじめに
今、出向している現場の開発はviewをすべてHTMLで作成している。
画面数だけのHTMLがあり、書き手によって粒度が違う。
また、デザインの変更やフォーム修正に対しHTMLファイルを修正しているので、
もちろん抜けも多くなるしテスト効率も悪い。
そこで、Reactの導入を考えたのである。
#なぜ、Reactなのか
ぶっちゃけると、Angularでもよかった( ´∀` )
ただ、在籍するエンジニアのこれからを考えるとReactのほうが良いかなという判断
Reactの案件が増えつつあるのでPHPer引退しても何とかなる。。。多分!
#リーダーに伝えてみた
今の案件はBPに人権があって意見も言いやすいので
さっそく、伝えてみることにした。
【自分】
「次の開発は、Reactつかって開発してもいいですか?
今のやり方だと画面修正するたびに莫大な工数がかかってるじゃないですか」
【リーダー】
「別いいよー。データはJSONでやりとりできれば嬉しいなー」
【自分】
(ふむ、REST API 使うイメージかな、何とか出来そうや)
【リーダー】
「ただ、コンポーネント設計がめんどくさいよ。コンポーネント設計はセンスいるし」
#本編 : コンポーネント設計はセンスなのか
###コンポーネントとは
Reactにおけるコンポーネントとは「部品」である
例えば、フォームの入力欄であったりボタンである
###なぜ、センスがいるのか
例えば、yahooの検索フォームを見てみると
最小のコンポーネントは検索ボックス(form) 検索ボタン(button) etc...である
しかし、そのままコンポーネントを並べたのでは実用性に欠ける。
なので、検索ボックス(form) 検索ボタン(button)で新たなコンポーネントを作成する
上記のように、コンポーネントを組合せテトリスのように画面を構築するのが
センスがないと難しいのでコンポーネント設計はセンスと言われてしまったのではないか。
###はたして、本当にそうなのか
結論を言ってしまえば、自分はNOだと思った。
なぜなら、調べていくうちに「Atomic Design」という概念を知ったからだ。