Reactハンズオンの第2回目でメンターしました(第1回目もだけど)。
MaterialUI使ってハンズオンっぽいことをしつつ、コンポーネント(state/props)について話したり、ESLintについて話したりしました。
「フロントエンドが複雑になった」というのはよく聞くけど(自分はここ1年くらいしかまともに触れていないのでそれ以前がわからない)、勉強会をしていても、その難しさはよくわかる。
そして、フロントエンド界隈でReactの存在感が無視できなくなる中で、「Reactチョットデキル人」にどう辿り着くのか問題。
デザイナの人は、JSXを学び、state/propsを学び、ES201Xを学ぶ。一方、エンジニアは、ES201Xを学び、Webpackを学び、ReduxやRouterを学ぶ。
「Reactを書けるようになる」という目的は同じでも、その登り方はバラバラだし、それを1つのハンズオンで教えるのは難しい。
話は変わって、ライブラリやフレームワークにはきっと、さくっと浸透するものと、良いはずなんだけど皆が使うのに時間がかかるものがあって。Reactは後者だと思う。
たぶん「少し触っただけでは、明確なメリットが感じられない」というところなんだろうと。大規模Webアプリケーションや、アーキテクチャのしっかりとした物をつくるならまだしも、ハンズオンのレベルでメリットを感じさせろというのが難しい(というかそれでメリットわかる人はもう使ってるでしょ)。
jQueryみたいに、「素のJavaScriptでやってたのがこんなに簡単に!」みたいな明確なメリットがあれば、次の一歩に繋がるんだろうけど。むしろ環境構築よくわからんとか、JSXめんどうだみたいな感想しか残らない気もしている。それもあってMaterialUIというわかりやすいライブラリをネタにしたというのもある。
次は何をネタにしたらいんだろうか。
あ、ESLintは絶対に使いましょう。