Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Vue.js / Nuxt.js から React / Next.js へ移行した話と2年経っ...
Search
Ryosuke Yoshizaki
July 04, 2023
Technology
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vue.js / Nuxt.js から React / Next.js へ移行した話と2年経って残った課題
Ryosuke Yoshizaki
July 04, 2023
More Decks by Ryosuke Yoshizaki
See All by Ryosuke Yoshizaki
20210122_DLLAB_講演資料_株式会社キカガク
yoshizaki_kkgk
1
2.6k
20200801_DLLAB_講演資料_キカガク
yoshizaki_kkgk
0
3.9k
【キカガク】機械学習の事業化までの道のりと社内教育のノウハウ
yoshizaki_kkgk
2
1.2k
「新規事業×AI」をはじめよう
yoshizaki_kkgk
5
2.3k
20180806_AIエンジニア育成のプロセスと落とし穴.pdf
yoshizaki_kkgk
1
270
失敗から学ぶ起業入門 ~いつの日も問題は鶏と卵~
yoshizaki_kkgk
10
35k
20180720_AIエンジニア育成のプロセスと落とし穴.pdf
yoshizaki_kkgk
0
520
20180512_キカガク_AI案件のよくある落とし穴と人材育成
yoshizaki_kkgk
1
2.4k
20171207_リテールAI研究会_株式会社キカガク.pdf
yoshizaki_kkgk
0
1.2k
Other Decks in Technology
See All in Technology
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
490
Tab5をRubyで動くパソコンにする
kishima
2
280
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
240
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
150
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
260
Webとヘルスデータ
yukukotani
1
200
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
200
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.8k
コーディングエージェントでM5Stack系の開発を少し試した時の話 / M5 Japan Tour 2026 Autumn 東京
you
PRO
0
110
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.4k
Claude Code本って、 読む必要あるの?
oikon48
2
350
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
290
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
650
The Spectacular Lies of Maps
axbom
PRO
1
990
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
The untapped power of vector embeddings
frankvandijk
2
1.9k
Tell your own story through comics
letsgokoyo
1
1.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
Test your architecture with Archunit
thirion
2
2.4k
Transcript
リプレイスしたあと、実際どう?システム再構築への挑戦 LT ⼤会 Vue.js/Nuxt.js から React/Next.js へ 移⾏した話と2年経って残った課題 株式会社キカガク 代表取締役会⻑
吉崎 亮介
⾃⼰紹介 株式会社キカガク 代表取締役会⻑ 吉﨑 亮介 エンジニアとしての学⽣時代 出⾝:舞鶴⾼専 / 京都⼤学⼤学院 世界最⼤級の学会(化学⼯学系)にて若⼿最優秀賞を受賞
~ 23 歳 新卒で株式会社 SHIFT 配属:社⻑室(社⻑直下で新規事業/R&D を担当) 24 歳 株式会社キカガクを創業(現在:社員数 70 名超) 社会⼈向けに AI を含めた先端技術の教育を提供 現在まで累計 80,000 名を超える受講⽣ 25 歳 ~ 現在 東京⼤学で講義を担当 情報系の⼤学院⽣向けに AI の基礎から実装まで紹介 26 歳 ~ 31 歳 株式会社エイチームの社外取締役 上場企業での経営の意思決定に関与 31 歳 ~ 現在 1991 年⽣まれ 31 歳 京都府出⾝ 趣味:サウナ
今回の話の前提 ベンチャー企業がプロダクト開発を1から始める時に起きたこと • 売上は⼈⼒オペレーション(講義)で⽴っていて、それをスケールさせるための プロダクト開発であるため、時間的に余裕がある ← 本当は最重要 • リプレイスの変⾰にはトップダウンとボトムアップがあり、今回はトップダウン 先に結論
• トップダウン⽅式は現状の改善から⼊らず、新しい技術選定を使って 新しいプロダクトを横で作り、その利点をプロダクトチームに伝えて変える 起点 トップダウン⽅式 起点 起点 起点 ボトムアップ⽅式 既存 新規 詳細はこちら Vue.js & Nuxt.js から React & Next.js へ移⾏した理由
起:Vue.js/Nuxt.js で初のプロダクト開発を開始 Django (Python) や Rails (Ruby) の MTV/MVC デザインパターンとの相性
• Vue.js/Nuxt.js は社内でよく使われていたデザインパターンと相性が良かった • 社内へ知⾒のある⼈が⼊ってきた ← よくあるパターン • React の JSX は書きにくいし、読みにくい印象を持っていた ← 慣れの問題 既存 経験の少ないチームでの開発戦略 C 向け静的(SSG) → 社内向け動的(SSR)→ C 向け動的(SSR)
承:成⻑とともに⾒えてくる課題 Django (Python) や Rails (Ruby) の MTV/MVC デザインパターンとの相性 •
Vue.js/Nuxt.js は社内でよく使われていたデザインパターンと相性が良かった • 社内へ知⾒のある⼈が⼊ってきた ← よくあるパターン • React の JSX は書きにくいし、読みにくい印象を持っていた ← 慣れの問題 既存 成⻑と共に遭遇した問題* • ページ単位で SSG/SSR を切り分けたかった(SSR の LP がパフォーマンス低) • TypeScript での開発を前提としないとチーム開発でエラーが多発 → 品質低 経験の少ないチームでの開発戦略 C 向け静的(SSG) → 社内向け動的(SSR)→ C 向け動的(SSR) * Nuxt.js が Ver. 2 のときの話です
転:⼩さなプロダクトとは⾔えど… ⼀度動き始めたものを変えることは容易ではない • 技術選定を変更しても UX が改善されるインパクトが⼤きいか不明 → UX が改善されなかったときには無駄なコストと負債だけが残る最悪の展開 •
数少ないチームで新技術の調査と既存に対する新規機能開発の同時並⾏は困難
新規事業を横に⽴てて技術調査の役割も兼ねさせた • 現状とは別チームで⾛らせることでメリットの部分だけを徐々に融合させた → 半年後に既存チームも Next.js へ変更を決定 → 約1年かけて Next.js
へ移⾏を完了 • イノベーター理論の順番を守った変⾰ • 技術負債の解消は⼀朝⼀⼣ではできないため、 会社の⽂化に合わせた戦略が間違いなく必要 → 今回はエンジニアの創業者が推進したパターン 結:イノベーター理論を意識した負債の解消 ⼀度動き始めたものを変えることは容易ではない • 技術選定を変更しても UX が改善されるインパクトが⼤きいか不明 → UX が改善されなかったときには無駄なコストと負債だけが残る最悪の展開 • 数少ないチームで新技術の調査と既存に対する新規機能開発の同時並⾏は困難 既存 新規 詳細はこちら Vue.js & Nuxt.js から React & Next.js へ移⾏した理由
あれから2年:今も向き合う負債の問題 もっと難易度の⾼いところに課題があった • Firebase を前提としたことで成⻑痛に遭遇 • DB が Firestore の
NoSQL で設計や 実装がスピードダウン • Auth もプロジェクトごとに分けられない → B 向けや C 向けなど複数アプリケーションの統合がややこしい 変更の難易度 Lv. 3 DB、Auth Lv. 2 ⾔語、Web フレームワーク Lv. 1 ディレクトリ構成
あれから2年:今も向き合う負債の問題 もっと難易度の⾼いところに課題があった • Firebase を前提としたことで成⻑痛に遭遇 • DB が Firestore の
NoSQL で設計や 実装がスピードダウン • Auth もプロジェクトごとに分けられない → B 向けや C 向けなど複数アプリケーションの統合がややこしい 変更の難易度 Lv. 3 DB、Auth Lv. 2 ⾔語、Web フレームワーク Lv. 1 ディレクトリ構成 先⼈から伝えたいこと(屍を乗り越えて...!!) 最近は開発スピードを優先させるために Bubble などのノーコードもあるが コードを書く書かない問わず、DB と Auth は今後の成⻑に合わせられる 選定となるように慎重に選んでほしい...(切実) そして、開発スピードの要因はチーム⼈数が増えると⼤きく変わるのをお忘れなく
おまけ:最近ならこんなアーキテクチャーかな?(主観) AI を使うのが主流になる前提でのアーキテクチャー設計が不可⽋ メイン DB: PostgreSQL(RDB) • マルチテナント対応 • ベクトル検索サポート
推し Auth:Azure Active Directory App:App Service Azure OpenAI Service とのシームレスな連携 推し User Azure OpenAI Service 検索 Cognitive Search Grounding Chat サブ DB: Cosmos DB (NoSQL) チャット 履歴保存 FAQ ファイル Blob Storage (JSON など) コーポレート GUI で 編集 例)エンタープライズサーチ 開発する要件によって さらなる作り込みが 必要となりますが プロトタイプなら このぐらいから始めてみては いかがでしょうか?
キカガクではエンジニアを⼤募集! 成⻑期のプロダクト開発に関わりたい⽅、ご応募お待ちしています! 会社の雰囲気を知れば絶対に⼊社したくなる! → キカガクカンパニーデック