kk-web

React を 5 年間使ってきた所感

2021-08-03

毎年恒例のシリーズです。

だらだらーっと書いていこうと思います。


もう少し React の時代が続きそう

数年前からフロントエンド JS フレームワークは React と Vue.js の一騎打ち状態となっていますが、この状態はまだ続くのかなーという気がします。

世界的には React がぼちぼち優勢な気がしていますが、アジア的には Vue.js もそこそこ使用率が高いですよね。

最近はまったく Vue.js を書いていないので書きっぷりが以前と比べてどう変わったのか、少し気になるところではあります。

あと React は Facebook 製なのでそこが今後どう響いてくるのか、多分響くことはないとは思っていますが…。

Svelte とかも、はやる気がしないのは自分だけですかね?

環境構築は Next.js が最優先

環境構築を行う場合、現状の優先度は Next.js > Create React App >> Gatsby.js という感じなのかなーと。

個人的には Next.js × Vercel の組み合わせが強すぎますね、SSR や SSG、ISR を使わなくとも Next.js を使いたくなる気持ちはわかります。

が、とはいえ Next.js が使いこなすのは難しいフレームワークという考えも変わっておらず、React 初心者がおいそれと触って良いものではないと思います。

逆に、会社のホームページやランディングページなど、SSR や ISR を必要としないサイトであれば Create React App で十分すぎますね。

Gatsby.js は確かにユニークではあるんですが、プラグイン周りや設定周りなどがちょっと整備しきれていない印象を受けます。

WordPress などから Gatsby.js に移るというのは選択肢として 1 つアリかもですが、現場レベルではなかなかハードルが高い印象です。

Redux が陥落しつつある

Next.js がどんどん調子に乗ってきている一方、Redux はどんどん元気がなくなってきている印象です。

SSR や SSG、ISR と Next.js の相性の悪さもあり、堅い一方で書きっぷりの悪さはやはり言い逃れできず、といった感じなんでしょうか。

少なくとも自分は Next.js を本格的に触り始めてからすっかり Redux を使わなくなりました、今年は今のところ 1 度も書いていないですね。

去年あたり Redux Toolkit が少しだけ話題に上がりましたが、やはり書きっぷりの悪さは否めず…保守難易度の高さも影響していると思います。

フロント開発における Flux 系統はじょじょに衰退していくのかなーと思いつつ、何かに変わっていくんですかね?やっぱり SWR なのかな?

TypeScript 前提の時代

TypeScript が書けないとフロントエンドディベロッパーが名乗れない時代に入った印象があります。

決して簡単ではない TypeScript ですが、他の言語では型があるのは当たり前なので、今となっては別に無茶を強いられている印象はないです。

いまだに TypeScript を理解していないフロントエンドディベロッパーの方や現場は、強い危機感を持つべきだと個人的には。

GraphQL の時代が来ている、のか?

スキーマファースト開発が進んでいない日本では、GraphQL の導入はどこも積極的ではないように見えます。

「GraphQL の仕様を把握しきれず Rest に戻した」みたいな話もちらほら耳にしますし、保守的だなぁと。

世界的にも大 GraphQL 時代に突入した!といった感じでもないですし、ちょっと立ち位置がふわふわしている印象です。

テストは結局どうなのさ

あいも変わらずフロントのテストに弱い自分ですが、以下の 3 つが流行っているらしいです。

  • Jest
  • React Testing Library
  • Cypress

とはいえ現場レベルでまともにテストが書かれているプロジェクトを見たことがないので、本当に流行ってるのか?と疑問な部分はあります。

とはいえ個人的には Cypress だけでも書けるようにならないとなーと思いつつ、なかなか手が伸びていない現状ではあるのですが。

比べるものでもないとは思いつつ、どちらかといえば Storybook をきちんと書いたほうがメリットは大きいんじゃないの?と思っているのはここだけの話です。

プロトタイピングツールは Figma 一択

プロトタイピング戦争もだいぶ落ち着いてきて、今は Figma を使っている現場が多い印象です。

個人的にも Figma が一番フロントに寄り添っていると思いますし、ベストな選択肢だと思っています。

一方できちんと Figma を扱える Web デザイナーは日本にはほぼ存在していないようで…日本の Web デザイナーはもっと勉強しないとダメだよなーと思いつつ。

プロトタイピングツールの使い方やレスポンシブデザイン、コンポーネント設計や SEO 周りなど、果たしてどれくらいの人がきちんと理解できているのか。


そんな感じです。

ここ 1 年間の自分としては、かなり Next.js を扱えるようになったのが 1 番大きかったかなーと。

あとは上にも書いた通り Redux をまったく書かなくなりました、書かなくて困ったことはあまりないです。

最近は React のみならずフロント界隈でそこまで大きな変化が来ることもなく、Deno とか本当にはやるのかなぁ?

© 2018 kk-web