Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SchooでVue.js/Nuxtを技術選定している理由
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Okuto Oyama
February 12, 2026
Technology
3
94
SchooでVue.js/Nuxtを技術選定している理由
フロントエンドでの技術選定 —— 「みんなで」語り尽くそう!
Okuto Oyama
February 12, 2026
Tweet
Share
More Decks by Okuto Oyama
See All by Okuto Oyama
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
330
ひとりNavigation API Advent Calendarの紹介 / Mita.ts #9
yamanoku
1
120
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
2
570
転生したらTypeScriptのEnumだった件 ~型安全性とエコシステムの変化で挫けそうになっているんだが~ / TSKaigi 2025
yamanoku
0
44
React 18からのAPI useIDを使おう!/ Let's Use the useID API from React 18
yamanoku
0
140
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
3
1.9k
ブラウザ互換の重要性 - あらゆるユーザーに価値を届けるために必要なこと
yamanoku
0
350
画面遷移から考えるNuxtアプリケーションをアクセシブルにする方法 / How to make Nuxt applications accessible based on page transitions
yamanoku
0
920
Vue.js でアクセシブルなコンポーネントをつくるために / To make accessible components in Vue.js
yamanoku
0
3.4k
Other Decks in Technology
See All in Technology
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
620
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
What happened to RubyGems and what can we learn?
mikemcquaid
0
310
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
160
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
3
210
Cosmos World Foundation Model Platform for Physical AI
takmin
0
940
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
Red Hat OpenStack Services on OpenShift
tamemiya
0
120
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
480
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
Design in an AI World
tapps
0
140
Why Our Code Smells
bkeepers
PRO
340
58k
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
270
Ethics towards AI in product and experience design
skipperchong
2
200
Navigating Team Friction
lara
192
16k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
We Have a Design System, Now What?
morganepeng
54
8k
Transcript
Schooで Vue.js/Nuxtを 技術選定している理由 フロントエンドでの技術選定 ⸺ 「みんなで」語り尽くそう! 株式会社Schoo 橋本拓海 / ⼤⼭奥⼈
2026/02/10
橋本 拓海 2024年10⽉からの半年のインターンを 経て、2025年4⽉に新卒で株式会社 Schooへ⼊社。 インターン時の開発⼯程の上流から下 流の経験をもとに現在はアプリ開発‧ 運⽤保守を担当。 2 発表者
⼤⼭ 奥⼈ 2024年6⽉に株式会社Schooへ⼊社。 フロントエンド領域を中⼼としたアー キテクチャ設計‧技術⽀援‧社内外へ の技術啓蒙を担当。 2026年からはプロダクト開発チームへ 異動し、より事業に近い⽴場でプロダ クトづくりに携わる。 3
発表者
01 株式会社Schoo について 4
5 事業紹介 5
事業紹介 6
• 技術ブログ(Qiita)にて定期的に記事として発信 • Qiita Advent Calendarに2024、2025年で参加 • 各種技術カンファレンス‧イベントでの発表 ◦ 【技術選定を突き詰める】Online
Conferenc e 2025 ◦ Playwright Lightnings #1 ◦ Mita.ts #6 ◦ 4社が語るリプレイス‧リニューアル最前線 ◦ “伸びる”サービスの裏で起きているリアルな技術課題 Schooでの技術発信⽂化 7
Schooプロダクトにおける技術スタック 8 プロダクト バックエンド フロントエンドフレームワーク Schoo for Personal PHP、Golang Backbone.js、jQuery、Vue.js、Nuxt
Schoo for Business Ruby jQuery、Vue.js Schoo Swing Golang Vue.js、Nuxt
02 なぜSchooは Vue.js/Nuxtを 選ぶのか? 9
• マトリクス組織への移⾏に伴いスクワッドチーム化での 機能開発への集中を考えてた組織構成への変更 (*) • サービスが分かれている中で各機能‧チームごとで 開発しやすいスタックに揃えていくのが肝要 • Schooエンジニアのスキルセットとして Vue.js/Nuxtで書くことに慣れている
組織‧開発体制 10 (*) 【開発組織】線を引き直して、同じ未来を⾒る ⸺マトリクスに切り替えた話
• Vue 2/Nuxt 2での破壊的変更を機に、 React/Next.jsへ技術スタックを移⾏するところもある • SchooはReact/Next.jsといった別の選択肢を選ばないのか? Q. Reactや他の選択肢は使わないのか? 11
A. SchooはVue.js/Nuxtを継続採⽤していく • Vue.js/Nuxtからそのままアップデートしても問題ない • むしろメリットは⼤きいと考える
03 Vue.js/Nuxtの 優れている点 12
• 多様な開発スタイルを選択できる ◦ SFC(Single File Components)での開発 ◦ PHP/Railsのテンプレートエンジンとの共存も可能 ◦ Node.jsでのビルド不要で呼び出すことができる
Vue.jsの利点:柔軟性と責務の分離 13
14 Node.jsのビルド不要でVue.jsを扱う例 HTMLにちょい⾜しでできる! Vue.jsでサクッと動きをつける⽅法 - ICS MEDIA
• SFCによる責務の分離 ◦ HTML / CSS / JavaScript (TypeScript) が明確に分かれている
◦ ブロックごとの分離により、変更箇所の特定が容易 ◦ JavaScript、TypeScriptの環境も選べる ▪ Vue3からのTypeScript連携強化 Vue.jsの利点:柔軟性と責務の分離 15
16 カスタムブロックによるDSLとしての拡張 Vue のカスタムブロックで「気軽に」始める仕様駆動開発のススメ - ANDPAD Tech Blog
• 公式が提⽰するシンプルな状態管理 ◦ コンポーネント内でのUI状態:ref で完結 ◦ コンポーネント間を跨ぐ状態:useState や Pinia で管理
• 開発の参考となるモジュール集の存在 ◦ https://nuxt.com/modules ◦ Nuxt公式‧個⼈など開発の参考となるものが多い ◦ 注意:活⽤時はメンテナンス頻度も併せて確認 Nuxtの利点:開発体験と安定性 17
• アップデートへの追従容易性 ◦ compatibilityVersion 設定により、先⾏機能を安全に試⾏可能 • Nitro(サーバーサイドエンジン) ◦ 特定のクラウドベンダーにロックインされない •
UnJS(Unified JavaScript Tools)で構成されている ◦ Nuxt内機能はさまざまなライブラリで分離‧透明性が⾼い Nuxtの利点:開発体験と安定性 18
• https://ja.vuejs.org/tutorial/ ◦ Vue公式のチュートリアル(⽇本語対応) • https://learn.nuxt.com/ja ◦ Nuxt公式のチュートリアル(⽇本語対応) ▪ コンテンツ⾃体はまだWIP
• chibivue ◦ Vue.jsのコア部分を理解するために有⽤な教材 Vue.js/Nuxt:チュートリアルの存在 19
Vueエコシステムの 進化‧将来性 04 20
• VueエコシステムはEvan You個⼈の開発から コミュニティ全体で作り上げる体制になってきている • 主要な機能やライブラリは特定個⼈によって私物化されず 透明性のある開発が進められている • Volar.js、Vue Macros、alien-signalsなどの取り組みが
Vue本体の開発に⼤きな影響を与えている コミュニティ主導のエコシステム 21
Ecosystem CI • 主要ライブラリの破壊的変更を監視し、安定性を担保 • このCIを元に徐々にリリースサイクルも改善されている ◦ Vue.js ▪ https://github.com/vuejs/ecosystem-ci
◦ Nuxt ▪ https://github.com/nuxt/ecosystem-ci コミュニティ主導のエコシステム 22
• VoidZeroはVue.js/Vite作者のEvan You⽒が⽴ち上げた企業 • 開発者の⽣産性向上とエコシステム貢献を掲げる 「Vue.jsファースト」なツール開発を進めていくと宣⾔ VoidZero社の動向 23 Announcing VoidZero
- Next Generation Toolchain for JavaScript | VoidZero
• Rust製ツールチェイン (Oxc) の開発 ◦ oxlint、oxfmt 等による圧倒的な処理速度 ◦ CI待ち時間の短縮による開発者体験の向上 VoidZero社の動向
24
• Vite +とAIの未来 ◦ 超⾼速フロントエンドビルドツールであるViteの 統合開発ツールチェインの「Vite +」が現在開発中 ◦ Agent ModeでのAI協業による開発の加速
• 今後数年で開発スピードは劇的に向上する可能性に期待したい VoidZero社の動向 25
国内の Vueコミュニティ 05 26
さまざまな企業がVue/Nuxt.jsを採⽤している実績があり、 Schooも「Vue.jsを採⽤している企業」として周知している ⽇本市場におけるVueの状況 27 • Vue.jsを採⽤している企業 - what we use
• chibivue-land/japanese-companies-using-vuejs ⽇本で Vue.js を使っている企業⼀覧
• Vue Fes Japanといった年1のカンファレンスの開催 • Vue.js v-tokyo Meetupという勉強会も定期的に開催されている • ⽇本⼈でVueエコシステムにまつわるメンテナーや
コアチームメンバーがいる強み ◦ 気軽に会話ができたり相談もできる距離感 ◦ VoidZero社員でも⽇本⼈メンバーが在籍している コミュニティ活動が活発‧開発者との近さ 28
Vueコミュニティへの登壇‧寄稿にて貢献 Schooのコミュニティへの貢献 29 • UV Study : Vue.js LT会 ~業務で活きる実践的なVue~
◦ useIdでアクセシブルな汎⽤コンポーネントを作ってみよう 発表 • Vue.js v-tokyo Meetup #22 ◦ リアクティブシステムの変遷から理解するalien-signals 発表 • Vue Fes Japan 2025 ◦ ⽣成AI時代の Webアプリケーションアクセシビリティ改善 発表 • Zennコミュニティ ( https://zenn.dev/p/comm_vue_nuxt ) への記事寄稿
Schooの Vue.js/Nuxtとの 今後の付き合い⽅ 06 30
• ライブラリやフレームワークの選定⾃体を⽬的としない • あくまで「事業成⻑のためのツール」としてどうあるべきかを重視 • 今の時点でVue.js/Nuxtによって開発が劣化することはないと判断 • 社内状況的にもエコシステム的にも合理的かつ安⼼できる選択 Schooとしてのスタンス 31
• Vue.js/Nuxtの安定感だけに⽢えない ◦ 組織として習熟していく努⼒を継続する ◦ 内部勉強会、AIのガードレール整備など • 今回の勉強会を含めた外部発信を通じた採⽤プレゼンスの強化 「選んだ技術を、⾃分たちで正解にしていく」 という意志を持ち、みんなでフロントエンド開発を進めていきたい
これからの組織としてのアクション 32
• 現在のVue.js/Nuxtは技術選定において強⼒な選択肢の1つ • エコシステムを含めてフロントエンド開発の安定性がある • コミュニティと⼀緒にVueエコシステムの発展へ貢献できる • SchooはVue.js/Nuxtの選択を正解としていけるようにする まとめ 33