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
SchooでVue.js/Nuxtを技術選定している理由
Search
yamanoku
February 12, 2026
Technology
9k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SchooでVue.js/Nuxtを技術選定している理由
フロントエンドでの技術選定 —— 「みんなで」語り尽くそう!
発表資料
yamanoku
February 12, 2026
More Decks by yamanoku
See All by yamanoku
大型犬好きによるPugの紹介
yamanoku
1
150
SvelteのHTMLはどう解釈されているのか / How Svelte compile HTML
yamanoku
1
330
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
280
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
5
1.2k
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
580
ひとりNavigation API Advent Calendarの紹介 / Mita.ts #9
yamanoku
1
230
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
2
750
転生したらTypeScriptのEnumだった件 ~型安全性とエコシステムの変化で挫けそうになっているんだが~ / TSKaigi 2025
yamanoku
0
89
React 18からのAPI useIDを使おう!/ Let's Use the useID API from React 18
yamanoku
0
220
Other Decks in Technology
See All in Technology
自主式軟體工廠
philipz
0
260
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
480
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
7
2.9k
hackers_champloo_2026_tidb
makocchi
0
140
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
300
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
200
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
700
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
270
Kiro Crewをはじめよう
kizawa2020
1
140
会社説明資料
persolserverworks
0
9.7k
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Amusing Abliteration
ianozsvald
1
340
Mobile First: as difficult as doing things right
swwweet
225
10k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
620
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Design in an AI World
tapps
1
350
Agile that works and the tools we love
rasmusluckow
331
22k
エンジニアに許された特別な時間の終わり
watany
109
250k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Facilitating Awesome Meetings
lara
57
7.2k
Tell your own story through comics
letsgokoyo
1
1.1k
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