
こんにちは。開発二部の伊東です。
以前、フォトチームの開発体験の改善について記事を書きました。
あれから約2年、フォトチームの開発環境はかなり変わりました。 本記事では、前回の記事と比較しながら、この2年間でフォトチームが取り組んできた技術的負債の解消や、新しい開発スタイルへの挑戦についてご紹介させていただきます!✋️
技術負債の解消
1. RubyとRailsのバージョンアップ
2024秋の記事では、Ruby 3.1系・Rails 6.1系から、Ruby 3.3系・Rails 7.2系を目指してバージョンアップ中と書いていました。
その後もバージョンアップを継続し、現在はRuby 3.4系・Rails 8.0系まで到達しました!🎉 Railsバージョンアップに関与したチームメンバーに感謝です。
一度に大きくバージョンを上げるのは大変ですが、rails app:updateで差分を確認しながら、new framework defaultsを一つずつ有効化していく地道な作業を積み重ねました。
現時点でのRailsの最新バージョンは8.1.3です。気づいたらもうバージョンが上がってますね。「たまにやる大イベント」ではなく「日常の作業」にしていきたいです。☕️
関連記事は下記です。
2. フロントエンドのVue 3化とVite化
フォトのフロントエンドはVue 2で書かれていましたが、Vue 2は2023年末にEOL(サポート終了)を迎えていたため、Vue 3への移行が大きな課題でした。
今回、保護者向け画面のフロントエンドをVue 2.6からVue 3.5へ移行しました。あわせて、VuetifyやVuex、Vue Routerなどの周辺ライブラリもVue 3対応バージョンへアップデートしています。
さらに、ビルドツールもwebpackからViteへ移行しました。⚡️ Viteのおかげでローカル開発時のビルドがとても速くなり、フロントエンドの開発体験が目に見えて良くなりました。
今回移行するにあたりAIをかなり活用しました。 一度AIで一気にバージョンアップしてみて、どこを最低限変更すれば問題ないのか、どのライブラリのアップグレードが大変になるのか見通すことが出来て助かりました。
特に大変だったのはVuetify2から3への移行です。 破壊的変更が多く、コンポーネントの属性名が大きく変わっていたため、画面ごとに地道な修正が必要でした。
およそ3ヶ月くらいかかりましたが、無事問題なく移行できてよかったです!💪
まだフロントエンド周りで改善したいことは残っているので今後継続的に良くしていきたいです。
3. その他
他にも細かい改善や、不要になったコードの削除、エラー通知の整理、リファクタリングも適宜行っています。 特にフォトチームには下記のような活動があるため、改善活動が着実に進んでおります!
- 隔週で実施しているモブプロ。
- 1week自由活動というエンジニア主体で行う改善活動。
特にフォトチームには下記のような活動があるため、改善活動が着実に進んでおります!
- 隔週で実施しているモブプロ。
- 1week自由活動というエンジニア主体で行う改善活動。
開発環境まわりの改善
技術負債の解消のほかに、開発環境まわりの改善も進めています。
リポジトリはBitbucketからGitHubへ移行しました。GitHub前提のツールやエコシステムが活用しやすくなり、次に紹介するAI活用の土台にもなっています。
AIエディタの導入とAI活用のコンテキスト整備
前回の記事の時点では、AIの活用はGitHub Copilotによるコード補完くらいでしたが、この2年で状況は大きく変わりました。 現在フォトチームでは、Claude Codeなどのコーディングエージェントを積極的に業務で使っています。
下記の記事の通りAIで生産性の向上を掲げています。
目下、個人レベルでのAI活用からチーム全体でより効果的にAIが使えるような仕組みを検討しています。 フォトは歴史のあるプロダクトなので、コードから読み取れない背景や経緯が多く、それを言語化しておくことがAI活用の土台になると感じています。✍️
まだ、コンテキストの整備は始まったばかりで、古くならない工夫や、何が必要で何が不要かを試行錯誤しながらやっております。 ここらへんについては、進展がありましたらブログで記事にしたいです!
おわりに
前回の記事から約2年間のフォトチームの開発の改善を紹介しました!
振り返ってみると、Ruby・Rails・Vueといった土台のバージョンアップが出来たことや、AIを活用した開発生産性向上など、着実に開発体験を向上出来ているのではないかなと思います。
技術の進化はどんどん速くなっていますが、これからも改善を積み重ねて、お客様により早く良い物を提供できるようにがんばりたいです。💪
--
ユニファでは新たな仲間を積極採用中です。
詳細についてはこちらからご確認ください。