以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/02/28/214700より取得しました。
RemixでWeb標準を学んだ1年
to BプロダクトでVite+React Routerを採用して半年後の感想」
技術選定
- 背景
- ユーザごとにUIをカスタマイズするようなサービス
- 初期フェーズで技術で詰まることはさけたい
- SSR
- SSRは特に必要なかった
- 業務用PCで使うアプリ
- 認証前のページはログイン画面だけ
- SPAでよさそう
- Next
- Static Exportの選択肢もあった
- Dynamic Routingがビルド時に決まったidしか使えないのがダメだった
- Nextの高機能のものはほとんどいらない
- FWを使わない
- GraphQLを使うがそこはFW影響ない
- routingはReact Routerでよさそう
- Reactとは心中するがそれ以外は切り捨てられるようにしたい
- Vite + React Router
その後
- Viteで困ることはない
- React RouterがSentryと相性いい
- トップレベルのコンポーネント以外はrouterの情報はpropsでもらって純粋にした方がよかったかも
- チャンク分割は試行錯誤が合った
フロントエンドのEMが技術選定するときに取り組んだこと
EMの領域
技術選定
- プロダクトの戦略から考える
- なるべく技術課題と組織課題は分ける
- フロントエンドエンジニアとしてのキャリアの観点
- 特定技術にロックインしない
- いろいろな技術を採用して触れやすい環境
- エンジニア採用のしやすさ
- メンバーの成長へのリスクマネジメント
レガシーなフロントエンドをReact / Next.jsにリプレースした結果
リプレース
- リプレース前
- 技術選定
- NextとNuxtを比較
- 他社事例とか
- React/Nextに決めた
- LPなどはNext
- 新規開発はVite + React
LaravelからフロントエンドをNext.jsに段階的に移行している話
リプレース
- リプレース前
- Laravel
- Vue
- jQuery
- 歴史があるので可読性悪い
- ビルド/リリース時間かかる
- デザインの統一感ない
- 負債の解消
- リファクタリング
- JSFW拡張(Vue)
- フロントエンドを切り出して新しいFW導入 ←これを採用
フロントエンドの移行
- 段階的に移行
- 開発者の負担
- ビジネス側に段階的に見せたい
- トップページから段階的に
技術選定
- Nextを採用
- フロントエンド専任はいなかった
- C向けなのでSEOも意識
- 情報量が多い
- チューニングの選択肢が広そう
- パッケージングされてるのが楽
よかったこと
- Lint/Formatterはいってて品質あがった
- Storybookでデザイナーとのコミュニケーションが楽に
- 情報はたくさんあるから困ることは少なかった
- App Routerのコロケーションで見通し良くなった
残念だったこと
- vercel使ってないから使えないものがある
- Nextへの依存
- ベストプラクティスがわからなくて試行錯誤
コンパウンドスタートアップにおけるフロントエンド技術選定のこれまでとこれから
今バウンドスタートアップ
- 創業から複数プロダクト
- 部署でサービスを区切らずデータを中心にサービス統合
- プロダクト間で連携
- 複数のプロダクトを管理
技術スタック
- VueとNextが共存
- Vueで型がつかなくてつらいところがあった
- Reactも使うようになった
Vue3
- Vue2から3に移行しないといけない
- React化も選択肢に合ったがコストが高かったし開発を止めるわけにもいかない
- React行くにしてもVue3を経由して型安全になってからの方がいい
- Vue3に移行して
- WebpackからViteにしてはやくなった
- 型がきいていい
- 機能開発と並行して進められた
- bootstrap-vueがVue3の恩恵受けにくいので剥がしてる
React/Vue共存
- 共存して2年くらい
- よかったこと
- 採用の間口が広くなった
- 既存資産を活かしづらいのでゼロベースで改善できる
- 困っていること
今後
以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/02/28/214700より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます
不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14